{"id":23564166,"url":"https://github.com/selectel/go-selvpcclient","last_synced_at":"2025-04-30T16:18:04.380Z","repository":{"id":52711094,"uuid":"127340276","full_name":"selectel/go-selvpcclient","owner":"selectel","description":"A Go library for the Selectel VPC API","archived":false,"fork":false,"pushed_at":"2025-03-11T10:00:40.000Z","size":360,"stargazers_count":11,"open_issues_count":0,"forks_count":7,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-30T16:17:38.670Z","etag":null,"topics":["go","selectel","selectel-vpc-api"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/selectel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","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":"2018-03-29T19:50:04.000Z","updated_at":"2025-03-11T09:58:41.000Z","dependencies_parsed_at":"2024-06-19T04:08:27.627Z","dependency_job_id":"9a89d789-5639-40f9-8bb0-128b95dff4fb","html_url":"https://github.com/selectel/go-selvpcclient","commit_stats":{"total_commits":151,"total_committers":9,"mean_commits":16.77777777777778,"dds":0.1589403973509934,"last_synced_commit":"ac846be53d2969855906541ae3b5e9062e454894"},"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fgo-selvpcclient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fgo-selvpcclient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fgo-selvpcclient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selectel%2Fgo-selvpcclient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/selectel","download_url":"https://codeload.github.com/selectel/go-selvpcclient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251739677,"owners_count":21635893,"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":["go","selectel","selectel-vpc-api"],"created_at":"2024-12-26T17:13:12.890Z","updated_at":"2025-04-30T16:18:04.354Z","avatar_url":"https://github.com/selectel.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-selvpcclient: a Go library for the Selectel VPC API\n\n[![GoDoc](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient?status.svg)](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient)\n[![Go Report Card](https://goreportcard.com/badge/github.com/selectel/go-selvpcclient/v3)](https://goreportcard.com/report/github.com/selectel/go-selvpcclient/v3)\n[![Coverage Status](https://coveralls.io/repos/github/selectel/go-selvpcclient/badge.svg?branch=master)](https://coveralls.io/github/selectel/go-selvpcclient?branch=master)\n\nPackage go-selvpcclient provides a Go library to work with the Selectel API:\n\n- [Cloud Management API](https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/selectel_cloud_management_api/)\n- [Cloud Quota Management API](https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/cloud-quota-management/)\n\n## Documentation\n\nThe Go library documentation is available at [godoc.org](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient).\n\n## What this library is capable of\n\nYou can use this library to work with the following objects of the\n[Cloud Management API](https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/selectel_cloud_management_api/) and\n[Cloud Quota Management API](https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/cloud-quota-management/).\n\nCloud Management API:\n\n- [capabilities](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/capabilities)\n- [floating ips](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/floatingips)\n- [keypairs](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/keypairs)\n- [licenses](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/licenses)\n- [projects](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/projects)\n- [roles](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/roles)\n- [subnets](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/subnets)\n- [tokens](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/tokens)\n- [traffic](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/traffic)\n- [users](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/users)\n\nCloud Quota Management API:\n\n- [quotas](https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/quotamanager/quotas)\n\nSelectel VPC Cloud is based on the [OpenStack](https://www.openstack.org), so you don't need this library to work with actual servers, volumes, networks, etc.  \nYou can use the [Gophercloud](https://github.com/gophercloud/gophercloud) project to work with the OpenStack objects.\n\n## Getting started\n\n### Installation\n\nYou can install `go-selvpcclient` as a Go package:\n\n```bash\ngo get github.com/selectel/go-selvpcclient/selvpcclient/v4\n```\n\n### Authentication\n\nTo work with the Selectel VPC API you first need to:\n\n- create a Selectel account: [registration page](https://my.selectel.ru/registration)\n- create the service user: [users and roles](https://docs.selectel.ru/control-panel-actions/users-and-roles)\n\n### Usage example\n\n```go\npackage main\n\nimport (\n \"context\"\n \"fmt\"\n \"log\"\n\n \"github.com/selectel/go-selvpcclient/v4/selvpcclient\"\n \"github.com/selectel/go-selvpcclient/v4/selvpcclient/resell/v2/projects\"\n)\n\nfunc main() {\n ctx := context.Background()\n\n options := \u0026selvpcclient.ClientOptions{\n  Context:    ctx,\n  DomainName: \"999999\",\n  AuthRegion: \"\u003cpool\u003e\",\n  AuthURL:     \"https://cloud.api.selcloud.ru/identity/v3/\",\n  Username:   \"admin\",\n  Password:   \"m1-sup3r-p@ssw0rd-p3w-p3w\",\n }\n\n client, err := selvpcclient.NewClient(options)\n if err != nil {\n  log.Fatal(err)\n }\n\n result, resp, err := projects.List(client)\n if err != nil {\n  log.Fatal(err)\n }\n\n fmt.Printf(\"Response StatusCode: %d \\n\", resp.StatusCode)\n\n for _, project := range result {\n  fmt.Printf(\"Project name: %s, enabled: %t \\n\", project.Name, project.Enabled)\n }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselectel%2Fgo-selvpcclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fselectel%2Fgo-selvpcclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselectel%2Fgo-selvpcclient/lists"}