Skip to content

Releases: stackitcloud/stackit-sdk-go

Release (2024-04-12)

12 Apr 12:17
eb38f14
Compare
Choose a tag to compare

Highlights

  • core: v0.12.0
    • Feature: Add Middleware type, WithMiddleware and ChainMiddleware methods to package config, this allows clients to chain and add Middlewares to the transport layer of the HTTP client.
  • core: v0.11.0
    • Feature: Add method WithCaptureHTTPRequest to package runtime, which allows capture of HTTP requests for debugging purposes.
  • loadbalancer: v0.12.0
    • Feature: Set config.ContextHTTPRequest in Execute 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
  • loadbalancer: v0.11.0
    • Feature: Support WithMiddleware configuration option in the client
  • loadbalancer: v0.10.0
    • Deprecation: Mark methods EnableService and DisableService as deprecated. Enablement and disablement of the load balancer functionality is now automaticly handled by the service.
  • 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 field SyslogDrainUrl
  • mariadb: v0.13.0
    • Breaking change: Fields removed from RawCredentials: RouteServiceUrl, SyslogDrainUrl, VolumeMounts.
    • Breaking change: Fields removed from Credentials: HttpApiUri, Protocols
  • 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 field Scheme
  • postgresflex: v0.12.0
    • Improvement: Update DeleteInstanceWaitHandler to support new deletion method.
    • Feature: New waiter ForceDeleteInstanceWaitHandler for async operation ForceDeleteInstance
  • 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 fields HttpApiUris, Management, Uris
  • 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 fields LoadBalancedHost
  • ske: v0.11.0
    • Feature: Waiters for async operation StartCredentialsRotationWaitHandler and CompleteCredentialsRotationWaitHandler

What's Changed

New Contributors

Full Changelog: release-2024-03-20...release-2024-04-12

Release (2024-03-20)

20 Mar 16:15
2ae3d61
Compare
Choose a tag to compare

Highlights

  • core: v0.10.1
    • Improvement: Update ConfigureRegion method to take into account global servers without a region variable
  • postgresflex: v0.10.0
    • Feature: New API method CloneInstance to clone the instance.
  • secretsmanager: v0.6.0
    • Feature: New API method UpdateACLs to update all ACLs of an instance
  • 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 the Errors field, the waiter now returns with error.

What's Changed

Full Changelog: release-2024-02-27...release-2024-03-20

Release (2024-02-27)

27 Feb 16:52
fd3a387
Compare
Choose a tag to compare

Highlights

  • core: v0.10.0
    • Feature: Add package runtime, which implements methods to be used when performing API requests.
    • Feature: Add method WithCaptureHTTPResponse to package runtime, which does the same as config.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. Use runtime.WithCaptureHTTPResponse instead.
    • Deprecation: Mark method config.WithJWKSEndpoint and field config.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.
    • Breaking Change: Change signature of auth.NoAuth, which no longer takes clients.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.

What's Changed

New Contributors

Full Changelog: release-2024-02-07...release-2024-02-27

Release (2024-02-07)

07 Feb 13:31
be01338
Compare
Choose a tag to compare

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

  • authorization: v0.1.0
    • First release. This module offers the same functionalities as membership (as of v0.4.0).
  • membership: v0.4.0
    • Add deprecation note

Release (2024-02-06)

06 Feb 16:11
684f977
Compare
Choose a tag to compare

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 and TriggerRotateCredentials, 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.

Release (2024-02-05)

05 Feb 10:54
4b058fb
Compare
Choose a tag to compare

Highlights

  • logme: v0.10.0
    • Feature: Instance has a new field OfferingName
  • mariadb: v0.10.0
    • Feature: Instance has a new field OfferingName
  • opensearch: v0.10.0
    • Feature: Instance has a new field OfferingName
  • 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
  • postgresql: v0.11.0
    • Feature: Instance has a new field OfferingName
  • rabbitmq: v0.10.0
    • Feature: Instance has a new field OfferingName
  • redis: v0.10.0
    • Feature: Instance has a new field OfferingName

Release (2024-01-24)

24 Jan 16:59
9fb74ee
Compare
Choose a tag to compare

Highlights

  • loadbalancer: v0.9.0
    • Feature: Server Name Indicator (SNI) support
    • Feature: Layer 4 Session Persistance

Release (2024-01-09)

09 Jan 15:11
fb094ae
Compare
Choose a tag to compare

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 filed Labels, 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 flag AdjustRecords 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)
  • logme: v0.9.0
    • Feature: PartialUpdateInstance can be used to update the instance's name
    • Feature: InstanceParameters has a new setting MaxDiskThreshold
    • Feature: ListMetricsResponse has new fields regarding ephemeral disk
  • mariadb: v0.9.0
    • Feature: PartialUpdateInstance can be used to update the instance's name
    • Feature: InstanceParameters has a new setting MaxDiskThreshold
    • Feature: ListMetricsResponse has new fields regarding ephemeral disk
  • mongodbflex: v0.10.0
    • Breaking Change: Added method ListMetrics (which accepts the desired metric: cpu, database, disk-iops, disk-use, or exec-time) as an argument and replaces ListCPUMetrics, ListDatabaseStorageMetrics, ListDiskIOPSMetrics, ListDiskUsageMetrics, and ListExecutionTimesMetrics, respectivelly
    • Breaking Change: Removes the previously deprecated method GetStorage, replaced by ListStorages
  • opensearch: v0.9.0
    • Feature: PartialUpdateInstance can be used to update the instance's name
    • Feature: InstanceParameters has a new setting MaxDiskThreshold
    • Feature: ListMetricsResponse has new fields regarding ephemeral disk
  • postgresql: v0.10.0
    • Feature: PartialUpdateInstance can be used to update the instance's name
    • Feature: InstanceParameters has a new setting MaxDiskThreshold
    • Feature: ListMetricsResponse has new fields regarding ephemeral disk
  • rabbitmq: v0.9.0
    • Feature: PartialUpdateInstance can be used to update the instance's name
    • Feature: InstanceParameters has a new setting MaxDiskThreshold
    • Feature: ListMetricsResponse has new fields regarding ephemeral disk
  • redis: v0.9.0
    • Feature: PartialUpdateInstance can be used to update the instance's name
    • Feature: InstanceParameters has a new setting MaxDiskThreshold
    • Feature: ListMetricsResponse has new fields regarding ephemeral disk
  • ske: v0.9.0
    • Improvement: Add details on credentials for old clusters
    • Feature: ClusterStatus now has a field CredentialsRotation with credentials' details

Release (2023-12-22)

22 Dec 16:14
ce82411
Compare
Choose a tag to compare

Highlights

  • mongodbflex: v0.9.0
    • Added struct ApiListStoragesRequest, which will replace ApiGetStorageRequest
      • ApiGetStorageRequest has been marked as deprecated, and will be removed in the next minor update
    • Added method ListStorages, which will replace GetStorage
      • GetStorage has been marked as deprecated, and will be removed in the next minor update
    • Added CloneInstanceWaitHandler, to wait for CloneInstance async operation to be completed

Release (2023-12-20)

20 Dec 14:08
e60765d
Compare
Choose a tag to compare

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 and DisableService
  • Several common terms, such as ACL and Credentials, 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.0
    • CreateCredential renamed to CreateCredentials
    • CreateInstanceAlertConfigReceiver renamed to CreateAlertConfigReceiver
    • DeleteCredential renamed to DeleteCredentials
    • DeleteCredentialRemoteWriteConfig renamed to DeleteCredentialsRemoteWriteConfig
    • DeleteInstanceAlertConfigReceiver renamed to DeleteAlertConfigReceiver
    • DeleteInstanceAlertConfigRouteReceiver renamed to DeleteAlertConfigRoute
    • GetCredential renamed to GetCredentials
    • GetCredentialRemoteWriteConfig renamed to GetCredentialsRemoteWriteConfig
    • GetCredentials renamed to ListCredentials
    • GetInstanceAcl renamed to ListACL
    • GetInstanceAlertConfigReceiver renamed to GetAlertConfigReceiver
    • GetInstanceAlertConfigReceivers renamed to ListAlertConfigReceivers
    • GetInstanceAlertConfigRoutes renamed to ListAlertConfigRoute
    • GetInstanceAlertConfigs renamed to GetAlertConfigs
    • GetInstanceGrafanaConfigs renamed to GetGrafanaConfigs
    • GetInstances renamed to ListInstances
    • GetPlans renamed to ListPlans
    • GetScrapeConfigs renamed to ListScrapeConfigs
    • UpdateCredentialRemoteWriteConfig renamed to UpdateCredentialsRemoteWriteConfig
    • UpdateInstanceAcl renamed to UpdateACL
    • UpdateInstanceAlertConfigReceiver renamed to UpdateAlertConfigReceiver
    • UpdateInstanceAlertConfigRouteReceiver renamed to UpdateAlertConfigRoute
    • UpdateInstanceAlertConfigs renamed to UpdateAlertConfigs
    • UpdateInstanceGrafanaConfigs renamed to UpdateGrafanaConfigs
  • dns: v0.7.0
    • GetRecordSets renamed to ListRecordSets
    • GetZones renamed to ListZones
    • UpdateRecord renamed to PartialUpdateRecord
    • UpdateRecordSet renamed to PartialUpdateRecordSet
    • UpdateZone renamed to PartialUpdateZone
  • loadbalancer: v0.8.0
    • DisableLoadBalancing renamed to DisableService
    • EnableLoadBalancing renamed to EnableService
    • GetProjectStatus renamed to GetServiceStatus
  • logme: v0.8.0
    • GetCredentialsIds renamed to ListCredentials
    • GetInstances renamed to ListInstances
    • GetOfferings renamed to ListOfferings
    • UpdateInstance renamed to PartialUpdateInstance
  • mariadb: v0.8.0
    • GetCredentialsIds renamed to ListCredentials
    • GetInstances renamed to ListInstances
    • GetOfferings renamed to ListOfferings
    • UpdateInstance renamed to PartialUpdateInstance
  • membership: v0.3.0
    • DeleteMembers renamed to RemoveMembers
    • GetMembers renamed to ListMembers
    • GetMemberships renamed to ListUserMemberships
    • GetPermissions renamed to ListPermissions
    • GetRoles renamed to ListRoles
    • UpdateMembers renamed to AddMembers
  • mongodbflex: v0.8.0
    • DeleteProject renamed to DisableService
    • GetBackups renamed to ListBackups
    • GetCPUMetrics renamed to ListCPUMetrics
    • GetDatabaseStorageMetrics renamed to ListDatabaseStorageMetrics
    • GetDiskIOPSMetrics renamed to ListDiskIOPSMetrics
    • GetDiskUsageMetrics renamed to ListDiskUsageMetrics
    • GetExecutionTimesMetrics renamed to ListExecutionTimesMetrics
    • GetFlavors renamed to ListFlavors
    • GetInstanceRestores renamed to ListRestoreJobs
    • GetInstances renamed to ListInstances
    • GetMemoryMetrics renamed to ListMemoryMetrics
    • GetUsers renamed to ListUsers
  • objectstorage: v0.8.0
    • CreateProject renamed to EnableService
    • DeleteProject renamed to DisableService
    • GetAccessKeys renamed to ListAccessKeys
    • GetBuckets renamed to ListBuckets
    • GetCredentialsGroups renamed to ListCredentialsGroups
    • GetProject renamed to GetServiceStatus
  • opensearch: v0.8.0
    • GetCredentialsIds renamed to ListCredentials
    • GetInstances renamed to ListInstances
    • GetOfferings renamed to ListOfferings
    • UpdateInstance renamed to PartialUpdateInstance
  • postgresflex: v0.8.0
    • GetBackups renamed to ListBackups
    • GetFlavors renamed to ListFlavors
    • GetInstances renamed to ListInstances
    • GetStorages renamed to ListStorages
    • GetUsers renamed to ListUsers
    • GetVersions renamed to ListVersions
    • UpdateInstance renamed to PartialUpdateInstance
  • postgresql: v0.9.0
    • GetCredentialsIds renamed to ListCredentials
    • GetInstances renamed to ListInstances
    • GetOfferings renamed to ListOfferings
    • UpdateInstance renamed to PartialUpdateInstance
  • rabbitmq: v0.8.0
    • GetCredentialsIds renamed to ListCredentials
    • GetInstances renamed to ListInstances
    • GetOfferings renamed to ListOfferings
    • UpdateInstance renamed to PartialUpdateInstance
  • redis: v0.8.0
    • GetCredentialsIds renamed to ListCredentials
    • GetInstances renamed to ListInstances
    • GetOfferings renamed to ListOfferings
    • UpdateInstance renamed to PartialUpdateInstance
  • resourcemanager: v0.7.0
    • GetProjects renamed to ListProjects
    • UpdateProject renamed to PartialUpdateProject
  • secretsmanager: v0.5.0
    • CreateAcl renamed to CreateACL
    • DeleteAcl renamed to DeleteACL
    • GetAcl renamed to GetACL
    • GetAcls renamed to ListACLs
    • GetInstances renamed to ListInstances
    • UpdateAcl renamed to UpdateACL
  • serviceaccount: v0.3.0
    • GetAccessTokens renamed to ListAccessTokens
    • GetServiceAccountJWKS renamed to GetJWKS
    • GetServiceAccountKeys renamed to ListServiceAccountKeys
    • GetServiceAccounts renamed to ListServiceAccounts
    • GetUsers renamed to ListUsers
    • UpdateServiceAccountKey renamed to PartialUpdateServiceAccountKey
  • ske: v0.8.0
    • CreateProject renamed to EnableService
    • DeleteProject renamed to DisableService
    • GetClusters renamed to ListClusters
    • GetOptions renamed to ListProviderOptions
    • GetProject renamed to GetServiceStatus