{"id":28194302,"url":"https://github.com/monkey-projects/clj-scw-client","last_synced_at":"2025-05-16T13:12:06.929Z","repository":{"id":287171673,"uuid":"963846490","full_name":"monkey-projects/clj-scw-client","owner":"monkey-projects","description":"Clojure client for the Scaleway API","archived":false,"fork":false,"pushed_at":"2025-04-10T09:55:30.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T10:53:40.795Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monkey-projects.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-04-10T09:50:45.000Z","updated_at":"2025-04-10T09:55:34.000Z","dependencies_parsed_at":"2025-04-10T10:53:48.769Z","dependency_job_id":"8f2083c2-fb57-435f-a37b-756566666ad7","html_url":"https://github.com/monkey-projects/clj-scw-client","commit_stats":null,"previous_names":["monkey-projects/clj-scw-client"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey-projects%2Fclj-scw-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey-projects%2Fclj-scw-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey-projects%2Fclj-scw-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monkey-projects%2Fclj-scw-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monkey-projects","download_url":"https://codeload.github.com/monkey-projects/clj-scw-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254535800,"owners_count":22087399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-16T13:11:51.619Z","updated_at":"2025-05-16T13:12:06.920Z","avatar_url":"https://github.com/monkey-projects.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Clojure Scaleway API Client\n\nThis is a [Clojure](https://clojure.org) library that provides client functionality\nto access the [Scaleway API](https://www.scaleway.com/en/developers/api/).\n[Scaleway](https://www.scaleway.com) is a Europe-based public cloud provider.\n\nThis library uses [Martian]*(https://github.com/oliyh/martian) to fetch the\nOpenAPI specifications and to provide access points to use the API.\n\n## Usage\n\nInclude the library in your project:\n```clojure\n# deps.edn\n{com.monkeyprojects/clj-scw-client {:mvn/version \"\u003cVERSION\u003e\"}}\n```\n\nOr with [Leiningen](https://leiningen.org):\n```clojure\n[com.monkeyprojects/clj-scw-client \"\u003cVERSION\u003e\"]\n```\n\nThe require the `monkey.scw.core` and the `martian.core` namespaces, and you're\nready to invoke the API.\n\n```clojure\n(require '[martian.core :as mc])\n(require '[monkey.scw.core :as c])\n\n;; Create a context, for example to access containers\n;; Notice that you need to specify a secret key for authentication.\n(def ctx (c/containers-ctx {:secret-key \"my-very-secret-key\"}))\n\n;; Explore the api, see which operations are available\n(mc/explore ctx) ; =\u003e [[:list-namespaces \"Lists namespaces\"] ...]\n\n;; Or explore a specific endpoint\n(mc/explore ctx :list-namespaces) ; =\u003e Displays required parameters, etc.\n\n;; Invoke an endpoint\n@(mc/response-for ctx :list-namespaces {:region \"fr-par\"})\n;; =\u003e Returns a `deref`able value that will hold the response, including headers, body...\n```\n\nSince we're using [Aleph](https://aleph.io), all responses are asynchronous.  This\nallows you to send multiple requests in parallel.  You do need to `deref` each response\nin order to get to the result.\n\n## Available API's\n\nCurrently, these api's are available.  In order to use them, invoke the associated function\nto create a context that accesses the endpoint.\n\n|---|---|\n|API|Context function|\n|---|---|\n|Instances|`instance-ctx`|\n|Serverless containers|`containers-ctx`|\n|Serverless functions|`functions-ctx`|\n|Serverless jobs|`jobs-ctx`|\n|Container registry|`registry-ctx`|\n|NATS messaging|`nats-ctx`|\n|Secrets|`secrets-ctx`|\n|Domains and DNS|`domain-ctx`|\n|---|---|\n\n### Object Storage\n\nA special case is object storage, which exposes an AWS S3 compatible API.  We don't provide\nfunctionality for that here, as [several](https://github.com/weavejester/clj-aws-s3)\n[libraries](https://github.com/mcohen01/amazonica) already exist that provide that functionality.\n\n## License\n\n[MIT License](LICENSE)\n\nCopyright (c) 2025 by [Monkey Projects BV](https://www.monkey-projects.be).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonkey-projects%2Fclj-scw-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonkey-projects%2Fclj-scw-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonkey-projects%2Fclj-scw-client/lists"}