Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.29.0"
".": "0.30.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 645
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-bec46ce28212cf90388fa9ba8094b471b922ae78b92e0f5fa80c083cd3017319.yml
openapi_spec_hash: bc1b58805168a142ca35aa5dfab5a03f
config_hash: 7085751e6bd8f3fd13cfebe04bb99fed
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/gcore%2Fgcore-2d64161889a53046ca5e593a772328a5290246c3d74f8c07fed1037feae1bdbc.yml
openapi_spec_hash: 2360d25764d74e6972cf600fcd20fd4e
config_hash: e9e5b750687e9071d8b606963f0ffd6d
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,30 @@
# Changelog

## 0.30.0 (2026-01-22)

Full Changelog: [v0.29.0...v0.30.0](https://github.com/G-Core/gcore-go/compare/v0.29.0...v0.30.0)

### ⚠ BREAKING CHANGES

* **cloud:** use create and update v2 endpoints for security groups
* **cloud:** use v2 endpoint for floating IPs updates

### Features

* **api:** aggregated API specs update ([cbbe4ca](https://github.com/G-Core/gcore-go/commit/cbbe4ca8ecc7c17f5032811d36377b614af19637))
* **api:** aggregated API specs update ([58d174c](https://github.com/G-Core/gcore-go/commit/58d174cb4ee02c819cf74bdd5da372fb42f4115a))
* **api:** aggregated API specs update ([78a097d](https://github.com/G-Core/gcore-go/commit/78a097d45e77b21e996e7e4d11e02bbf8fdc061e))
* **cloud:** add polling methods for security groups ([a95ce62](https://github.com/G-Core/gcore-go/commit/a95ce622dd1123f80b4645b29250e36c92b89780))
* **cloud:** add UpdateAndPoll method for floating IPs ([c71ea15](https://github.com/G-Core/gcore-go/commit/c71ea15b2e53f1a013bf492e1583518c5ee3528a))
* **cloud:** use create and update v2 endpoints for security groups ([25f9183](https://github.com/G-Core/gcore-go/commit/25f9183d766cf402b7049337778bf78ad6fe32b2))
* **cloud:** use v2 endpoint for floating IPs updates ([b20c495](https://github.com/G-Core/gcore-go/commit/b20c4950ccceb246b9f73b75d8db9ee8d606d99c))


### Bug Fixes

* **cloud:** filter options correctly in file share polling methods ([5a0b54e](https://github.com/G-Core/gcore-go/commit/5a0b54ed77f919b80d98d1b9705b87381bcc0851))
* **cloud:** filter options correctly in floating IP polling methods ([3d9d77f](https://github.com/G-Core/gcore-go/commit/3d9d77fa782194f22fcb32386a8823018f9c6d91))

## 0.29.0 (2026-01-16)

Full Changelog: [v0.28.0...v0.29.0](https://github.com/G-Core/gcore-go/compare/v0.28.0...v0.29.0)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Or to pin the version:
<!-- x-release-please-start-version -->

```sh
go get -u 'github.com/G-Core/gcore-go@v0.29.0'
go get -u 'github.com/G-Core/gcore-go@v0.30.0'
```

<!-- x-release-please-end -->
Expand Down
6 changes: 3 additions & 3 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ Response Types:
Methods:

- <code title="post /cloud/v1/floatingips/{project_id}/{region_id}">client.Cloud.FloatingIPs.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPNewParams">FloatingIPNewParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#TaskIDList">TaskIDList</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="patch /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}">client.Cloud.FloatingIPs.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, floatingIPID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPUpdateParams">FloatingIPUpdateParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIP">FloatingIP</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="patch /cloud/v2/floatingips/{project_id}/{region_id}/{floating_ip_id}">client.Cloud.FloatingIPs.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, floatingIPID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPUpdateParams">FloatingIPUpdateParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#TaskIDList">TaskIDList</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="get /cloud/v1/floatingips/{project_id}/{region_id}">client.Cloud.FloatingIPs.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPListParams">FloatingIPListParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/packages/pagination#OffsetPage">OffsetPage</a>[<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPDetailed">FloatingIPDetailed</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="delete /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}">client.Cloud.FloatingIPs.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, floatingIPID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPDeleteParams">FloatingIPDeleteParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#TaskIDList">TaskIDList</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="post /cloud/v1/floatingips/{project_id}/{region_id}/{floating_ip_id}/assign">client.Cloud.FloatingIPs.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPService.Assign">Assign</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, floatingIPID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIPAssignParams">FloatingIPAssignParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#FloatingIP">FloatingIP</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
Expand All @@ -416,8 +416,8 @@ Response Types:

Methods:

- <code title="post /cloud/v1/securitygroups/{project_id}/{region_id}">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupNewParams">SecurityGroupNewParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroup">SecurityGroup</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="patch /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupUpdateParams">SecurityGroupUpdateParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroup">SecurityGroup</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="post /cloud/v2/security_groups/{project_id}/{region_id}">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupNewParams">SecurityGroupNewParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#TaskIDList">TaskIDList</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="patch /cloud/v2/security_groups/{project_id}/{region_id}/{group_id}">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.Update">Update</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupUpdateParams">SecurityGroupUpdateParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#TaskIDList">TaskIDList</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="get /cloud/v1/securitygroups/{project_id}/{region_id}">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.List">List</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupListParams">SecurityGroupListParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/packages/pagination">pagination</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/packages/pagination#OffsetPage">OffsetPage</a>[<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroup">SecurityGroup</a>], <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
- <code title="delete /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.Delete">Delete</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, body <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupDeleteParams">SecurityGroupDeleteParams</a>) <a href="https://pkg.go.dev/builtin#error">error</a></code>
- <code title="post /cloud/v1/securitygroups/{project_id}/{region_id}/{group_id}/copy">client.Cloud.SecurityGroups.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupService.Copy">Copy</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, groupID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroupCopyParams">SecurityGroupCopyParams</a>) (\*<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud">cloud</a>.<a href="https://pkg.go.dev/github.com/G-Core/gcore-go/cloud#SecurityGroup">SecurityGroup</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
Expand Down
2 changes: 1 addition & 1 deletion cdn/metric.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func (r *MetricService) List(ctx context.Context, body MetricListParams, opts ..

type CdnMetrics struct {
// If no grouping was requested then "data" holds an array of metric values. If at
// least one field is specified in "`group_by`" then "data" is an object whose
// least one field is specified in "group_by" then "data" is an object whose
// properties are groups, which may include other groups; the last group will hold
// array of metrics values.
Data CdnMetricsDataUnion `json:"data"`
Expand Down
32 changes: 16 additions & 16 deletions cdn/origingroup.go
Original file line number Diff line number Diff line change
Expand Up @@ -327,8 +327,8 @@ type OriginGroupsAwsSignatureV4Auth struct {
//
// - Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and
// underscores.
// - If "`s3_type`": amazon, length should be 40 characters.
// - If "`s3_type`": other, length should be from 16 to 255 characters.
// - If "s3_type": amazon, length should be 40 characters.
// - If "s3_type": other, length should be from 16 to 255 characters.
S3SecretAccessKey string `json:"s3_secret_access_key,required"`
// Storage type compatible with S3.
//
Expand All @@ -339,11 +339,11 @@ type OriginGroupsAwsSignatureV4Auth struct {
S3Type string `json:"s3_type,required"`
// S3 storage region.
//
// The parameter is required, if "`s3_type`": amazon.
// The parameter is required, if "s3_type": amazon.
S3Region string `json:"s3_region"`
// S3 storage hostname.
//
// The parameter is required, if "`s3_type`": other.
// The parameter is required, if "s3_type": other.
S3StorageHostname string `json:"s3_storage_hostname"`
// JSON contains metadata for fields, check presence with [respjson.Field.Valid].
JSON struct {
Expand Down Expand Up @@ -539,8 +539,8 @@ type OriginGroupNewParamsBodyAwsSignatureV4Auth struct {
//
// - Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and
// underscores.
// - If "`s3_type`": amazon, length should be 40 characters.
// - If "`s3_type`": other, length should be from 16 to 255 characters.
// - If "s3_type": amazon, length should be 40 characters.
// - If "s3_type": other, length should be from 16 to 255 characters.
S3SecretAccessKey string `json:"s3_secret_access_key,required"`
// Storage type compatible with S3.
//
Expand All @@ -551,11 +551,11 @@ type OriginGroupNewParamsBodyAwsSignatureV4Auth struct {
S3Type string `json:"s3_type,required"`
// S3 storage region.
//
// The parameter is required, if "`s3_type`": amazon.
// The parameter is required, if "s3_type": amazon.
S3Region param.Opt[string] `json:"s3_region,omitzero"`
// S3 storage hostname.
//
// The parameter is required, if "`s3_type`": other.
// The parameter is required, if "s3_type": other.
S3StorageHostname param.Opt[string] `json:"s3_storage_hostname,omitzero"`
paramObj
}
Expand Down Expand Up @@ -744,8 +744,8 @@ type OriginGroupUpdateParamsBodyAwsSignatureV4Auth struct {
//
// - Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and
// underscores.
// - If "`s3_type`": amazon, length should be 40 characters.
// - If "`s3_type`": other, length should be from 16 to 255 characters.
// - If "s3_type": amazon, length should be 40 characters.
// - If "s3_type": other, length should be from 16 to 255 characters.
S3SecretAccessKey string `json:"s3_secret_access_key,required"`
// Storage type compatible with S3.
//
Expand All @@ -756,11 +756,11 @@ type OriginGroupUpdateParamsBodyAwsSignatureV4Auth struct {
S3Type string `json:"s3_type,required"`
// S3 storage region.
//
// The parameter is required, if "`s3_type`": amazon.
// The parameter is required, if "s3_type": amazon.
S3Region param.Opt[string] `json:"s3_region,omitzero"`
// S3 storage hostname.
//
// The parameter is required, if "`s3_type`": other.
// The parameter is required, if "s3_type": other.
S3StorageHostname param.Opt[string] `json:"s3_storage_hostname,omitzero"`
paramObj
}
Expand Down Expand Up @@ -973,8 +973,8 @@ type OriginGroupReplaceParamsBodyAwsSignatureV4Auth struct {
//
// - Latin letters (A-Z, a-z), numbers (0-9), pluses, slashes, dashes, colons and
// underscores.
// - If "`s3_type`": amazon, length should be 40 characters.
// - If "`s3_type`": other, length should be from 16 to 255 characters.
// - If "s3_type": amazon, length should be 40 characters.
// - If "s3_type": other, length should be from 16 to 255 characters.
S3SecretAccessKey string `json:"s3_secret_access_key,required"`
// Storage type compatible with S3.
//
Expand All @@ -985,11 +985,11 @@ type OriginGroupReplaceParamsBodyAwsSignatureV4Auth struct {
S3Type string `json:"s3_type,required"`
// S3 storage region.
//
// The parameter is required, if "`s3_type`": amazon.
// The parameter is required, if "s3_type": amazon.
S3Region param.Opt[string] `json:"s3_region,omitzero"`
// S3 storage hostname.
//
// The parameter is required, if "`s3_type`": other.
// The parameter is required, if "s3_type": other.
S3StorageHostname param.Opt[string] `json:"s3_storage_hostname,omitzero"`
paramObj
}
Expand Down
Loading
Loading