Releases: stackitcloud/stackit-sdk-go
Release (2024-04-12)
Highlights
core
: v0.12.0- Feature: Add
Middleware
type,WithMiddleware
andChainMiddleware
methods to packageconfig
, this allows clients to chain and add Middlewares to the transport layer of the HTTP client.
- Feature: Add
core
: v0.11.0- Feature: Add method
WithCaptureHTTPRequest
to packageruntime
, which allows capture of HTTP requests for debugging purposes.
- Feature: Add method
loadbalancer
: v0.12.0- Feature: Set
config.ContextHTTPRequest
inExecute
methods - Feature: New API method
GetQuota
to get the maximum number of load balancing servers allowed for a project - Feature: New API method
UpdateCredentials
to update the credentials for observability in a project
- Feature: Set
loadbalancer
: v0.11.0- Feature: Support WithMiddleware configuration option in the client
loadbalancer
: v0.10.0- Deprecation: Mark methods
EnableService
andDisableService
as deprecated. Enablement and disablement of the load balancer functionality is now automaticly handled by the service.
- Deprecation: Mark methods
logme
: v0.13.0- Breaking change: Fields removed from
RawCredentials
:RouteServiceUrl
,SyslogDrainUrl
,VolumeMounts
. - Breaking change: Fields removed from
Credentials
:Hosts
,HttpApiUri
,Name
,Protocols
- Feature:
Credentials
has a new fieldSyslogDrainUrl
- Breaking change: Fields removed from
mariadb
: v0.13.0- Breaking change: Fields removed from
RawCredentials
:RouteServiceUrl
,SyslogDrainUrl
,VolumeMounts
. - Breaking change: Fields removed from
Credentials
:HttpApiUri
,Protocols
- Breaking change: Fields removed from
opensearch
: v0.13.0- Breaking change: Fields removed from
RawCredentials
:RouteServiceUrl
,SyslogDrainUrl
,VolumeMounts
. - Breaking change: Fields removed from
Credentials
:HttpApiUri
,Name
,Protocols
- Feature:
Credentials
has a new fieldScheme
- Breaking change: Fields removed from
postgresflex
: v0.12.0- Improvement: Update
DeleteInstanceWaitHandler
to support new deletion method. - Feature: New waiter
ForceDeleteInstanceWaitHandler
for async operationForceDeleteInstance
- Improvement: Update
rabbitmq
: v0.13.0- Breaking change: Fields removed from
RawCredentials
:RouteServiceUrl
,SyslogDrainUrl
,VolumeMounts
. - Breaking change: Fields removed from
Credentials
:Name
,Protocols
- Feature:
Credentials
has new fieldsHttpApiUris
,Management
,Uris
- Breaking change: Fields removed from
redis
: v0.13.0- Breaking change: Fields removed from
RawCredentials
:RouteServiceUrl
,SyslogDrainUrl
,VolumeMounts
. - Breaking change: Fields removed from
Credentials
:HttpApiUri
,Name
,Protocols
- Feature:
Credentials
has new fieldsLoadBalancedHost
- Breaking change: Fields removed from
ske
: v0.11.0- Feature: Waiters for async operation
StartCredentialsRotationWaitHandler
andCompleteCredentialsRotationWaitHandler
- Feature: Waiters for async operation
What's Changed
- update go version to 1.22 by @DiogoFerrao in #361
- Generator: update SDK /services by @stackit-pipeline in #362
- Generator: update SDK /services by @stackit-pipeline in #365
- Generator: update SDK /services by @stackit-pipeline in #360
- Add waiters for SKE credentials rotation by @DiogoFerrao in #367
- Update module github.com/go-git/go-git/v5 to v5.12.0 by @stackit-pipeline in #368
- Update SDK by @stackit-pipeline in #359
- Generator: update SDK /services by @stackit-pipeline in #369
- Generator: update SDK /services by @stackit-pipeline in #370
- Update module github.com/stackitcloud/stackit-sdk-go/services/postgresflex to v0.11.0 by @stackit-pipeline in #371
- PostgreSQL Flex: add waiter for ForceDeleteInstance and fix DeleteInstance waiter by @DiogoFerrao in #372
- PostgreSQL Flex: update ForceDeleteInstance waiter by @DiogoFerrao in #373
- Update module golang.org/x/term to v0.19.0 by @stackit-pipeline in #378
- Update module github.com/stackitcloud/stackit-sdk-go/services/postgresflex to v0.12.0 by @stackit-pipeline in #376
- Update module golang.org/x/mod to v0.17.0 by @stackit-pipeline in #377
- Generator: update SDK /services by @stackit-pipeline in #384
- Update module github.com/stackitcloud/stackit-sdk-go/services/loadbalancer to v0.10.0 by @stackit-pipeline in #386
- Add WithCaptureHTTPRequest by @DiogoFerrao in #387
- Generator: update SDK /services by @stackit-pipeline in #388
- Generator: update SDK /services by @stackit-pipeline in #390
- Add MIddleware to SDK config by @DiogoFerrao in #394
- Update Core CHANGELOG with Middleware changes by @DiogoFerrao in #399
- Generator: update SDK /services by @stackit-pipeline in #395
- Generator: update SDK /services by @stackit-pipeline in #397
- Add usage examples for withMiddleware and withCaptureHTTPRequest by @DiogoFerrao in #400
- Update SDK by @stackit-pipeline in #393
- Generator: update SDK /services by @stackit-pipeline in #403
New Contributors
- @DiogoFerrao made their first contribution in #361
Full Changelog: release-2024-03-20...release-2024-04-12
Release (2024-03-20)
Highlights
core
: v0.10.1- Improvement: Update
ConfigureRegion
method to take into account global servers without a region variable
- Improvement: Update
postgresflex
: v0.10.0- Feature: New API method
CloneInstance
to clone the instance.
- Feature: New API method
secretsmanager
: v0.6.0- Feature: New API method
UpdateACLs
to update all ACLs of an instance
- Feature: New API method
loadbalancer
: v0.9.3- Improvement: Improve error handling in Load Balancer creation waiter, fixing timeout being exceeded for
STATUS_PENDING
status with errors. If an error is found in theErrors
field, the waiter now returns with error.
- Improvement: Improve error handling in Load Balancer creation waiter, fixing timeout being exceeded for
What's Changed
- Ident root CHANGELOG by @vicentepinto98 in #342
- Update module github.com/stackitcloud/stackit-sdk-go/core to v0.10.0 by @stackit-pipeline in #343
- Update changelogs for services by @joaopalet in #344
- Update module golang.org/x/mod to v0.16.0 by @stackit-pipeline in #346
- Update module github.com/golang-jwt/jwt/v5 to v5.2.1 by @stackit-pipeline in #348
- Update module golang.org/x/term to v0.18.0 by @stackit-pipeline in #347
- Update SDK by @stackit-pipeline in #345
- Generator: update SDK /services by @stackit-pipeline in #350
- Update module github.com/stackitcloud/stackit-sdk-go/services/postgresflex to v0.10.0 by @stackit-pipeline in #351
- Add badge to README by @vicentepinto98 in #352
- Generator: update SDK /services by @stackit-pipeline in #353
- Update ConfigureRegion for new global OAS server format by @vicentepinto98 in #356
- Extend Load Balancer creation waiter to look for errors in
Errors
field by @joaopalet in #354 - Update module github.com/stackitcloud/stackit-sdk-go/services/secretsmanager to v0.6.0 by @stackit-pipeline in #355
- Update core changelog by @vicentepinto98 in #357
- Update general changelog by @joaopalet in #358
Full Changelog: release-2024-02-27...release-2024-03-20
Release (2024-02-27)
Highlights
core
: v0.10.0- Feature: Add package
runtime
, which implements methods to be used when performing API requests. - Feature: Add method
WithCaptureHTTPResponse
to packageruntime
, which does the same asconfig.WithCaptureHTTPResponse
. Method was moved to avoid confusion due to it not being a configuration option, and will be removed in a later release. - Feature: Add configuration option that, for the key flow, enables a goroutine to be spawned that will refresh the access token when it's close to expiring
- Deprecation: Mark method
config.WithCaptureHTTPResponse
as deprecated, to avoid confusion due to it not being a configuration option. Useruntime.WithCaptureHTTPResponse
instead. - Deprecation: Mark method
config.WithJWKSEndpoint
and fieldconfig.Configuration.JWKSCustomUrl
as deprecated. Validation using JWKS was removed, for being redundant with token validation done in the APIs. These have no effect. - Deprecation:
- Methods:
config.WithMaxRetries
config.WithWaitBetweenCalls
config.WithRetryTimeout
clients.NewRetryConfig
- Fields:
clients.KeyFlowConfig.ClientRetry
clients.TokenFlowConfig.ClientRetry
clients.NoAuthFlowConfig.ClientRetry
clients.RetryConfig
- Retry options removed to reduce complexity of the clients. If this functionality is needed, you can provide your own custom HTTP client.
- Methods:
- Breaking Change: Change signature of
auth.NoAuth
, which no longer takesclients.RetryConfig
as argument. - Breaking Change:
- Methods:
clients.KeyFlow.Clone
clients.TokenFlow.Clone
clients.NoAuthFlow.Clone
clients.Do
- Fields:
clients.DefaultRetryMaxRetries
clients.DefaultRetryWaitBetweenCalls
clients.DefaultRetryTimeout
- Constants:
clients.ClientTimeoutErr
clients.ClientContextDeadlineErr
clients.ClientConnectionRefusedErr
clients.ClientEOFError
clients.Environment
- Removed to reduce complexity of the clients, they were no longer being used.
- Methods:
- Feature: Add package
What's Changed
- Replace membership example with authentication by @hcsa73 in #320
- Update module golang.org/x/oauth2 to v0.17.0 by @stackit-pipeline in #321
- Add LICENSE to root by @vicentepinto98 in #322
- Update GitHub actions by @joaopalet in #323
- Move
WithCaptureHTTPResponse
by @hcsa73 in #324 - Deprecate
config.WithCaptureHTTPResponse
by @hcsa73 in #325 - Update module github.com/stackitcloud/stackit-sdk-go/core to v0.8.0 by @stackit-pipeline in #326
- Remove token validation using JWKS in KeyFlow by @hcsa73 in #328
- Remove Key Flow unused methods by @hcsa73 in #327
- Undo removal of
JWKSCustomUrl
field by @hcsa73 in #330 - Remove golang.org/x/oauth2 core dependency by @joaopalet in #329
- Release 2024-02-19 by @hcsa73 in #331
- Update module github.com/stackitcloud/stackit-sdk-go/core to v0.9.0 by @stackit-pipeline in #332
- Add token refresh in background by @hcsa73 in #333
- Fix key flow bugs by @hcsa73 in #334
- Add example for background token refresh by @hcsa73 in #336
- Automatic tag helper script by @vicentepinto98 in #335
- Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 in /scripts by @dependabot in #338
- Update module golang.org/x/mod to v0.15.0 by @stackit-pipeline in #340
- Read password from terminal in automatic tag script by @vicentepinto98 in #339
- Remove backoff dependency and deprecate RetryOptions by @vicentepinto98 in #337
- Ask for confirmation in automatic script tags by @vicentepinto98 in #341
New Contributors
- @dependabot made their first contribution in #338
Full Changelog: release-2024-02-07...release-2024-02-27
Release (2024-02-07)
Warning
The membership
module has been replaced with the authorization
module, which connects to the same API.
This module will receive no further updates. Use github.com/stackitcloud/stackit-sdk-go/services/authorization
instead.
Highlights
Release (2024-02-06)
Warning
The STACKIT PostgreSQL service will reach its end of support on June 30th 2024. All calls done to the API after that will stop working.
Use github.com/stackitcloud/stackit-sdk-go/services/postgresflex
instead. For more details, check https://docs.stackit.cloud/stackit/en/bring-your-data-to-stackit-postgresql-flex-138347648.html.
Highlights
postgresql
: v0.12.0- Add deprecation note
ske
: v0.10.0- Feature: New endpoints for credentials rotation.
StartCredentialsRotation
CompleteCredentialsRotation
CreateKubeconfig
- These endpoints replace
GetCredentials
andTriggerRotateCredentials
, which are deprecated and will not work for clusters with Kubernetes v1.27+, or if the new endpoints for kubeconfig or credentials rotation have already been used. For more information, see How to rotate SKE credentials.
- Feature: New endpoints for credentials rotation.
Release (2024-02-05)
Highlights
logme
: v0.10.0- Feature:
Instance
has a new fieldOfferingName
- Feature:
mariadb
: v0.10.0- Feature:
Instance
has a new fieldOfferingName
- Feature:
opensearch
: v0.10.0- Feature:
Instance
has a new fieldOfferingName
- Feature:
postgresflex
: v0.9.0- Feature: New API method
UpdateUser
to update user - Feature: New API method
PartialUpdateUser
to patch update user - Feature: New API method
ResetUser
to reset a user's password
- Feature: New API method
postgresql
: v0.11.0- Feature:
Instance
has a new fieldOfferingName
- Feature:
rabbitmq
: v0.10.0- Feature:
Instance
has a new fieldOfferingName
- Feature:
redis
: v0.10.0- Feature:
Instance
has a new fieldOfferingName
- Feature:
Release (2024-01-24)
Highlights
loadbalancer
: v0.9.0- Feature: Server Name Indicator (SNI) support
- Feature: Layer 4 Session Persistance
Release (2024-01-09)
Highlights
core
: v0.7.5- Improvement: When using the key flow, the SDK will extract the private key from the service account key and use it, if no private key is provided in the configuration, through environment variable or in the credentials file. This makes it simpler to use the key flow: if you create a service account key including the private key, you don't need to provide the private key separately anymore
dns
: v0.8.0- Feature:
Zone
has a new filedLabels
, which is an array of labels (key-value pairs) associated to a zone - Feature:
ListZones
can be filtered by label keys or values - Feature:
CloneZonePayload
has a flagAdjustRecords
to adjust the record set content of the cloned zone (replaces the dns name of the original zone with the new dns name of the cloned zone)
- Feature:
logme
: v0.9.0- Feature:
PartialUpdateInstance
can be used to update the instance's name - Feature:
InstanceParameters
has a new settingMaxDiskThreshold
- Feature:
ListMetricsResponse
has new fields regarding ephemeral disk
- Feature:
mariadb
: v0.9.0- Feature:
PartialUpdateInstance
can be used to update the instance's name - Feature:
InstanceParameters
has a new settingMaxDiskThreshold
- Feature:
ListMetricsResponse
has new fields regarding ephemeral disk
- Feature:
mongodbflex
: v0.10.0- Breaking Change: Added method
ListMetrics
(which accepts the desired metric:cpu
,database
,disk-iops
,disk-use
, orexec-time
) as an argument and replacesListCPUMetrics
,ListDatabaseStorageMetrics
,ListDiskIOPSMetrics
,ListDiskUsageMetrics
, andListExecutionTimesMetrics
, respectivelly - Breaking Change: Removes the previously deprecated method
GetStorage
, replaced byListStorages
- Breaking Change: Added method
opensearch
: v0.9.0- Feature:
PartialUpdateInstance
can be used to update the instance's name - Feature:
InstanceParameters
has a new settingMaxDiskThreshold
- Feature:
ListMetricsResponse
has new fields regarding ephemeral disk
- Feature:
postgresql
: v0.10.0- Feature:
PartialUpdateInstance
can be used to update the instance's name - Feature:
InstanceParameters
has a new settingMaxDiskThreshold
- Feature:
ListMetricsResponse
has new fields regarding ephemeral disk
- Feature:
rabbitmq
: v0.9.0- Feature:
PartialUpdateInstance
can be used to update the instance's name - Feature:
InstanceParameters
has a new settingMaxDiskThreshold
- Feature:
ListMetricsResponse
has new fields regarding ephemeral disk
- Feature:
redis
: v0.9.0- Feature:
PartialUpdateInstance
can be used to update the instance's name - Feature:
InstanceParameters
has a new settingMaxDiskThreshold
- Feature:
ListMetricsResponse
has new fields regarding ephemeral disk
- Feature:
ske
: v0.9.0- Improvement: Add details on credentials for old clusters
- Feature:
ClusterStatus
now has a fieldCredentialsRotation
with credentials' details
Release (2023-12-22)
Highlights
mongodbflex
: v0.9.0- Added struct
ApiListStoragesRequest
, which will replaceApiGetStorageRequest
ApiGetStorageRequest
has been marked as deprecated, and will be removed in the next minor update
- Added method
ListStorages
, which will replaceGetStorage
GetStorage
has been marked as deprecated, and will be removed in the next minor update
- Added
CloneInstanceWaitHandler
, to wait forCloneInstance
async operation to be completed
- Added struct
Release (2023-12-20)
API methods, structs and waiters were renamed to have the same look and feel across all services and according to user feedback.
Most significant changes:
- Methods to get multiple instances of the same resource are now named
List[Resource Name]
- Methods to fully update a resource are now named
Update[Resource Name]
- Methods to update some fields of a resource are now named
PartialUpdate[Resource Name]
- Methods relative to API service enablement are now named
GetServiceStatus
,EnableService
andDisableService
- Several common terms, such as
ACL
andCredentials
, have been standardized - Structs only used in method responses are named
[Method Name]Response
- Waiters for a given method are now named
[Method name]WaitHandler
Highlights
Below is the list of changes for the API methods. For each service, you can check out the full changelog.
argus
: v0.8.0CreateCredential
renamed toCreateCredentials
CreateInstanceAlertConfigReceiver
renamed toCreateAlertConfigReceiver
DeleteCredential
renamed toDeleteCredentials
DeleteCredentialRemoteWriteConfig
renamed toDeleteCredentialsRemoteWriteConfig
DeleteInstanceAlertConfigReceiver
renamed toDeleteAlertConfigReceiver
DeleteInstanceAlertConfigRouteReceiver
renamed toDeleteAlertConfigRoute
GetCredential
renamed toGetCredentials
GetCredentialRemoteWriteConfig
renamed toGetCredentialsRemoteWriteConfig
GetCredentials
renamed toListCredentials
GetInstanceAcl
renamed toListACL
GetInstanceAlertConfigReceiver
renamed toGetAlertConfigReceiver
GetInstanceAlertConfigReceivers
renamed toListAlertConfigReceivers
GetInstanceAlertConfigRoutes
renamed toListAlertConfigRoute
GetInstanceAlertConfigs
renamed toGetAlertConfigs
GetInstanceGrafanaConfigs
renamed toGetGrafanaConfigs
GetInstances
renamed toListInstances
GetPlans
renamed toListPlans
GetScrapeConfigs
renamed toListScrapeConfigs
UpdateCredentialRemoteWriteConfig
renamed toUpdateCredentialsRemoteWriteConfig
UpdateInstanceAcl
renamed toUpdateACL
UpdateInstanceAlertConfigReceiver
renamed toUpdateAlertConfigReceiver
UpdateInstanceAlertConfigRouteReceiver
renamed toUpdateAlertConfigRoute
UpdateInstanceAlertConfigs
renamed toUpdateAlertConfigs
UpdateInstanceGrafanaConfigs
renamed toUpdateGrafanaConfigs
dns
: v0.7.0GetRecordSets
renamed toListRecordSets
GetZones
renamed toListZones
UpdateRecord
renamed toPartialUpdateRecord
UpdateRecordSet
renamed toPartialUpdateRecordSet
UpdateZone
renamed toPartialUpdateZone
loadbalancer
: v0.8.0DisableLoadBalancing
renamed toDisableService
EnableLoadBalancing
renamed toEnableService
GetProjectStatus
renamed toGetServiceStatus
logme
: v0.8.0GetCredentialsIds
renamed toListCredentials
GetInstances
renamed toListInstances
GetOfferings
renamed toListOfferings
UpdateInstance
renamed toPartialUpdateInstance
mariadb
: v0.8.0GetCredentialsIds
renamed toListCredentials
GetInstances
renamed toListInstances
GetOfferings
renamed toListOfferings
UpdateInstance
renamed toPartialUpdateInstance
membership
: v0.3.0DeleteMembers
renamed toRemoveMembers
GetMembers
renamed toListMembers
GetMemberships
renamed toListUserMemberships
GetPermissions
renamed toListPermissions
GetRoles
renamed toListRoles
UpdateMembers
renamed toAddMembers
mongodbflex
: v0.8.0DeleteProject
renamed toDisableService
GetBackups
renamed toListBackups
GetCPUMetrics
renamed toListCPUMetrics
GetDatabaseStorageMetrics
renamed toListDatabaseStorageMetrics
GetDiskIOPSMetrics
renamed toListDiskIOPSMetrics
GetDiskUsageMetrics
renamed toListDiskUsageMetrics
GetExecutionTimesMetrics
renamed toListExecutionTimesMetrics
GetFlavors
renamed toListFlavors
GetInstanceRestores
renamed toListRestoreJobs
GetInstances
renamed toListInstances
GetMemoryMetrics
renamed toListMemoryMetrics
GetUsers
renamed toListUsers
objectstorage
: v0.8.0CreateProject
renamed toEnableService
DeleteProject
renamed toDisableService
GetAccessKeys
renamed toListAccessKeys
GetBuckets
renamed toListBuckets
GetCredentialsGroups
renamed toListCredentialsGroups
GetProject
renamed toGetServiceStatus
opensearch
: v0.8.0GetCredentialsIds
renamed toListCredentials
GetInstances
renamed toListInstances
GetOfferings
renamed toListOfferings
UpdateInstance
renamed toPartialUpdateInstance
postgresflex
: v0.8.0GetBackups
renamed toListBackups
GetFlavors
renamed toListFlavors
GetInstances
renamed toListInstances
GetStorages
renamed toListStorages
GetUsers
renamed toListUsers
GetVersions
renamed toListVersions
UpdateInstance
renamed toPartialUpdateInstance
postgresql
: v0.9.0GetCredentialsIds
renamed toListCredentials
GetInstances
renamed toListInstances
GetOfferings
renamed toListOfferings
UpdateInstance
renamed toPartialUpdateInstance
rabbitmq
: v0.8.0GetCredentialsIds
renamed toListCredentials
GetInstances
renamed toListInstances
GetOfferings
renamed toListOfferings
UpdateInstance
renamed toPartialUpdateInstance
redis
: v0.8.0GetCredentialsIds
renamed toListCredentials
GetInstances
renamed toListInstances
GetOfferings
renamed toListOfferings
UpdateInstance
renamed toPartialUpdateInstance
resourcemanager
: v0.7.0GetProjects
renamed toListProjects
UpdateProject
renamed toPartialUpdateProject
secretsmanager
: v0.5.0CreateAcl
renamed toCreateACL
DeleteAcl
renamed toDeleteACL
GetAcl
renamed toGetACL
GetAcls
renamed toListACLs
GetInstances
renamed toListInstances
UpdateAcl
renamed toUpdateACL
serviceaccount
: v0.3.0GetAccessTokens
renamed toListAccessTokens
GetServiceAccountJWKS
renamed toGetJWKS
GetServiceAccountKeys
renamed toListServiceAccountKeys
GetServiceAccounts
renamed toListServiceAccounts
GetUsers
renamed toListUsers
UpdateServiceAccountKey
renamed toPartialUpdateServiceAccountKey
ske
: v0.8.0CreateProject
renamed toEnableService
DeleteProject
renamed toDisableService
GetClusters
renamed toListClusters
GetOptions
renamed toListProviderOptions
GetProject
renamed toGetServiceStatus