1
1
# go-selvpcclient: a Go library for the Selectel VPC API
2
- [ ![ GoDoc] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3/selvpcclient?status.svg )] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3/selvpcclient )
2
+
3
+ [ ![ GoDoc] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient?status.svg )] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient )
3
4
[ ![ Go Report Card] ( https://goreportcard.com/badge/github.com/selectel/go-selvpcclient/v3 )] ( https://goreportcard.com/report/github.com/selectel/go-selvpcclient/v3 )
4
5
[ ![ Coverage Status] ( https://coveralls.io/repos/github/selectel/go-selvpcclient/badge.svg?branch=master )] ( https://coveralls.io/github/selectel/go-selvpcclient?branch=master )
5
6
6
7
Package go-selvpcclient provides a Go library to work with the Selectel API:
7
- - [ Cloud Management API] ( https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/selectel_cloud_management_api/ )
8
- - [ Cloud Quota Management API ] ( https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/cloud-quota-management/ )
8
+
9
+ - [ Cloud Management API] ( https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/selectel_cloud_management_api/ )
10
+ - [ Cloud Quota Management API] ( https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/cloud-quota-management/ )
9
11
10
12
## Documentation
11
13
12
- The Go library documentation is available at [ godoc.org] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient ) .
14
+ The Go library documentation is available at [ godoc.org] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient ) .
13
15
14
16
## What this library is capable of
15
17
16
- You can use this library to work with the following objects of the
18
+ You can use this library to work with the following objects of the
17
19
[ Cloud Management API] ( https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/selectel_cloud_management_api/ ) and
18
20
[ Cloud Quota Management API] ( https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/cloud-quota-management/ ) .
19
21
20
22
Cloud Management API:
21
- * [ capabilities ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3/selvpcclient/resell/v2/capabilities )
22
- * [ floating ips ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/floatingips )
23
- * [ keypairs ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/keypairs )
24
- * [ licenses ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/licenses )
25
- * [ projects ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/projects )
26
- * [ roles ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/roles )
27
- * [ subnets ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/subnets )
28
- * [ tokens ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/tokens )
29
- * [ traffic ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/traffic )
30
- * [ users ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/users )
31
- * [ vrrp subnets ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/vrrpsubnets )
23
+
24
+ - [ capabilities ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/capabilities )
25
+ - [ floating ips ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/floatingips )
26
+ - [ keypairs ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/keypairs )
27
+ - [ licenses ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/licenses )
28
+ - [ projects ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/projects )
29
+ - [ roles ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/roles )
30
+ - [ subnets ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/subnets )
31
+ - [ tokens ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/tokens )
32
+ - [ traffic ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/traffic )
33
+ - [ users ] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/users )
32
34
33
35
Cloud Quota Management API:
34
- * [ quotas] ( https://godoc.org/github.com/selectel/go-selvpcclient/v3/selvpcclient/quotamanager/quotas )
36
+
37
+ - [ quotas] ( https://godoc.org/github.com/selectel/go-selvpcclient/v4/selvpcclient/quotamanager/quotas )
35
38
36
39
Selectel 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.
37
40
You can use the [ Gophercloud] ( https://github.com/gophercloud/gophercloud ) project to work with the OpenStack objects.
@@ -43,54 +46,56 @@ You can use the [Gophercloud](https://github.com/gophercloud/gophercloud) projec
43
46
You can install ` go-selvpcclient ` as a Go package:
44
47
45
48
``` bash
46
- go get github.com/selectel/go-selvpcclient/selvpcclient/v3
49
+ go get github.com/selectel/go-selvpcclient/selvpcclient/v4
47
50
```
48
51
49
52
### Authentication
50
53
51
54
To work with the Selectel VPC API you first need to:
52
55
53
- * create a Selectel account: [ registration page] ( https://my.selectel.ru/registration )
54
- * create the service user: [ users and roles] ( https://docs.selectel.ru/control-panel-actions/users-and-roles )
56
+ - create a Selectel account: [ registration page] ( https://my.selectel.ru/registration )
57
+ - create the service user: [ users and roles] ( https://docs.selectel.ru/control-panel-actions/users-and-roles )
55
58
56
59
### Usage example
57
60
58
61
``` go
59
62
package main
60
63
61
64
import (
62
- " context"
63
- " fmt"
64
- " log"
65
+ " context"
66
+ " fmt"
67
+ " log"
65
68
66
- " github.com/selectel/go-selvpcclient/v3 /selvpcclient"
67
- " github.com/selectel/go-selvpcclient/v3 /selvpcclient/resell/v2/projects"
69
+ " github.com/selectel/go-selvpcclient/v4 /selvpcclient"
70
+ " github.com/selectel/go-selvpcclient/v4 /selvpcclient/resell/v2/projects"
68
71
)
69
72
70
73
func main () {
71
- ctx := context.Background ()
72
-
73
- options := &selvpcclient.ClientOptions {
74
- Context: ctx,
75
- DomainName: " 999999" ,
76
- Username: " admin" ,
77
- Password: " m1-sup3r-p@ssw0rd-p3w-p3w" ,
78
- }
79
-
80
- client , err := selvpcclient.NewClient (options)
81
- if err != nil {
82
- log.Fatal (err)
83
- }
84
-
85
- result , resp , err := projects.List (client)
86
- if err != nil {
87
- log.Fatal (err)
88
- }
89
-
90
- fmt.Printf (" Response StatusCode: %d \n " , resp.StatusCode )
91
-
92
- for _ , project := range result {
93
- fmt.Printf (" Project name: %s , enabled: %t \n " , project.Name , project.Enabled )
94
- }
74
+ ctx := context.Background ()
75
+
76
+ options := &selvpcclient.ClientOptions {
77
+ Context: ctx,
78
+ DomainName: " 999999" ,
79
+ AuthRegion: " <pool>" ,
80
+ AuthURL: " https://cloud.api.selcloud.ru/identity/v3/" ,
81
+ Username: " admin" ,
82
+ Password: " m1-sup3r-p@ssw0rd-p3w-p3w" ,
83
+ }
84
+
85
+ client , err := selvpcclient.NewClient (options)
86
+ if err != nil {
87
+ log.Fatal (err)
88
+ }
89
+
90
+ result , resp , err := projects.List (client)
91
+ if err != nil {
92
+ log.Fatal (err)
93
+ }
94
+
95
+ fmt.Printf (" Response StatusCode: %d \n " , resp.StatusCode )
96
+
97
+ for _ , project := range result {
98
+ fmt.Printf (" Project name: %s , enabled: %t \n " , project.Name , project.Enabled )
99
+ }
95
100
}
96
101
```
0 commit comments