Skip to content

Commit 4760293

Browse files
authored
Remove default params (#175)
* Remove default config params * Fix tests * Remove VRRP resource * Add dynamic version for module * Bump module version v3 -> v4 * Bump Go 1.21 -> 1.23
1 parent 0d63e68 commit 4760293

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+187
-1057
lines changed

.github/workflows/secure.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ jobs:
2828
p/comment
2929
p/cwe-top-25
3030
p/default
31-
p/gitlab
3231
p/gitleaks
3332
p/golang
3433
p/gosec
@@ -60,7 +59,7 @@ jobs:
6059
scan-type: fs
6160
format: sarif
6261
output: trivy.sarif
63-
exit-code: 0 # Change this after all events have resolved.
62+
exit-code: 0 # Change this after all events have resolved.
6463
severity: MEDIUM,CRITICAL,HIGH
6564
- uses: github/codeql-action/upload-sarif@v3
6665
with:

.github/workflows/verify.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- uses: actions/checkout@v4
1414
- uses: actions/setup-go@v5
1515
with:
16-
go-version: '1.21'
16+
go-version: "1.23"
1717
- run: go test -v ./...
1818

1919
golangci-lint:
@@ -22,10 +22,10 @@ jobs:
2222
- uses: actions/checkout@v4
2323
- uses: actions/setup-go@v5
2424
with:
25-
go-version: '1.21'
25+
go-version: "1.23"
2626
- uses: golangci/golangci-lint-action@v6
2727
with:
28-
version: v1.53.3
28+
version: v1.62.0
2929
install-mode: goinstall
3030
working-directory: selvpcclient
3131

@@ -35,6 +35,6 @@ jobs:
3535
- uses: actions/checkout@v4
3636
- uses: actions/setup-go@v5
3737
with:
38-
go-version: '1.21'
38+
go-version: "1.23"
3939
- run: go mod tidy -v
4040
- run: git diff --exit-code

README.md

Lines changed: 54 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,40 @@
11
# 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)
34
[![Go Report Card](https://goreportcard.com/badge/github.com/selectel/go-selvpcclient/v3)](https://goreportcard.com/report/github.com/selectel/go-selvpcclient/v3)
45
[![Coverage Status](https://coveralls.io/repos/github/selectel/go-selvpcclient/badge.svg?branch=master)](https://coveralls.io/github/selectel/go-selvpcclient?branch=master)
56

67
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/)
911

1012
## Documentation
1113

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).
1315

1416
## What this library is capable of
1517

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
1719
[Cloud Management API](https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/selectel_cloud_management_api/) and
1820
[Cloud Quota Management API](https://developers.selectel.ru/docs/selectel-cloud-platform/main-services/cloud-quota-management/).
1921

2022
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)
3234

3335
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)
3538

3639
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.
3740
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
4346
You can install `go-selvpcclient` as a Go package:
4447

4548
```bash
46-
go get github.com/selectel/go-selvpcclient/selvpcclient/v3
49+
go get github.com/selectel/go-selvpcclient/selvpcclient/v4
4750
```
4851

4952
### Authentication
5053

5154
To work with the Selectel VPC API you first need to:
5255

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)
5558

5659
### Usage example
5760

5861
```go
5962
package main
6063

6164
import (
62-
"context"
63-
"fmt"
64-
"log"
65+
"context"
66+
"fmt"
67+
"log"
6568

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"
6871
)
6972

7073
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+
}
95100
}
96101
```

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
module github.com/selectel/go-selvpcclient/v3
1+
module github.com/selectel/go-selvpcclient/v4
22

3-
go 1.21
3+
go 1.23
44

55
require (
66
github.com/google/go-querystring v1.1.0

selvpcclient/clients/quotamanager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package clients
33
import (
44
"fmt"
55

6-
clientservices "github.com/selectel/go-selvpcclient/v3/selvpcclient/clients/services"
6+
clientservices "github.com/selectel/go-selvpcclient/v4/selvpcclient/clients/services"
77
)
88

99
const (

selvpcclient/clients/resell.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package clients
33
import (
44
"fmt"
55

6-
clientservices "github.com/selectel/go-selvpcclient/v3/selvpcclient/clients/services"
6+
clientservices "github.com/selectel/go-selvpcclient/v4/selvpcclient/clients/services"
77
)
88

99
const (

selvpcclient/quotamanager/quotas/requests.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"net/http"
66
"strings"
77

8-
"github.com/selectel/go-selvpcclient/v3/selvpcclient"
9-
clientservices "github.com/selectel/go-selvpcclient/v3/selvpcclient/clients/services"
8+
"github.com/selectel/go-selvpcclient/v4/selvpcclient"
9+
clientservices "github.com/selectel/go-selvpcclient/v4/selvpcclient/clients/services"
1010
)
1111

1212
const resourcePrefix = "projects"

selvpcclient/quotamanager/quotas/testing/fixtures.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package testing
22

33
import (
4-
"github.com/selectel/go-selvpcclient/v3/selvpcclient/quotamanager/quotas"
4+
"github.com/selectel/go-selvpcclient/v4/selvpcclient/quotamanager/quotas"
55
)
66

77
// TestGetLimitsQuotasResponseRaw represents a raw response from the GetAll request.

selvpcclient/quotamanager/quotas/testing/requests_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ import (
66
"strings"
77
"testing"
88

9-
"github.com/selectel/go-selvpcclient/v3/selvpcclient/quotamanager/quotas"
10-
"github.com/selectel/go-selvpcclient/v3/selvpcclient/testutils"
9+
"github.com/selectel/go-selvpcclient/v4/selvpcclient/quotamanager/quotas"
10+
"github.com/selectel/go-selvpcclient/v4/selvpcclient/testutils"
1111
)
1212

1313
const (

selvpcclient/resell/v2/capabilities/requests.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ import (
55
"net/http"
66
"strings"
77

8-
"github.com/selectel/go-selvpcclient/v3/selvpcclient"
9-
clientservices "github.com/selectel/go-selvpcclient/v3/selvpcclient/clients/services"
8+
"github.com/selectel/go-selvpcclient/v4/selvpcclient"
9+
clientservices "github.com/selectel/go-selvpcclient/v4/selvpcclient/clients/services"
1010
)
1111

1212
const resourceURL = "capabilities"

0 commit comments

Comments
 (0)