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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
143 changes: 142 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,144 @@
## 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` 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](services/argus/CHANGELOG.md#v080-2023-12-20)
- `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](services/dns/CHANGELOG.md#v070-2023-12-20)
- `GetRecordSets` renamed to `ListRecordSets`
- `GetZones` renamed to `ListZones`
- `UpdateRecord` renamed to `PartialUpdateRecord`
- `UpdateRecordSet` renamed to `PartialUpdateRecordSet`
- `UpdateZone` renamed to `PartialUpdateZone`
- `loadbalancer`: [v0.8.0](services/loadbalancer/CHANGELOG.md#v080-2023-12-20)
- `DisableLoadBalancing` renamed to `DisableService`
- `EnableLoadBalancing` renamed to `EnableService`
- `GetProjectStatus` renamed to `GetServiceStatus`
- `logme`: [v0.7.0](services/logme/CHANGELOG.md#v070-2023-12-20)
- `GetCredentialsIds` renamed to `ListCredentials`
- `GetInstances` renamed to `ListInstances`
- `GetOfferings` renamed to `ListOfferings`
- `UpdateInstance` renamed to `PartialUpdateInstance`
- `mariadb`: [v0.7.0](services/mariadb/CHANGELOG.md#v070-2023-12-20)
- `GetCredentialsIds` renamed to `ListCredentials`
- `GetInstances` renamed to `ListInstances`
- `GetOfferings` renamed to `ListOfferings`
- `UpdateInstance` renamed to `PartialUpdateInstance`
- `membership`: [v0.3.0](services/membership/CHANGELOG.md#v030-2023-12-20)
- `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](services/mongodbflex/CHANGELOG.md#v080-2023-12-20)
- `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](services/objectstorage/CHANGELOG.md#v080-2023-12-20)
- `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.7.0](services/opensearch/CHANGELOG.md#v070-2023-12-20)
- `GetCredentialsIds` renamed to `ListCredentials`
- `GetInstances` renamed to `ListInstances`
- `GetOfferings` renamed to `ListOfferings`
- `UpdateInstance` renamed to `PartialUpdateInstance`
- `postgresflex`: [v0.8.0](services/postgresflex/CHANGELOG.md#v080-2023-12-20)
- `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](services/postgresql/CHANGELOG.md#v090-2023-12-20)
- `GetCredentialsIds` renamed to `ListCredentials`
- `GetInstances` renamed to `ListInstances`
- `GetOfferings` renamed to `ListOfferings`
- `UpdateInstance` renamed to `PartialUpdateInstance`
- `rabbitmq`: [v0.7.0](services/rabbitmq/CHANGELOG.md#v070-2023-12-20)
- `GetCredentialsIds` renamed to `ListCredentials`
- `GetInstances` renamed to `ListInstances`
- `GetOfferings` renamed to `ListOfferings`
- `UpdateInstance` renamed to `PartialUpdateInstance`
- `redis`: [v0.7.0](services/redis/CHANGELOG.md#v0670-2023-12-20)
- `GetCredentialsIds` renamed to `ListCredentials`
- `GetInstances` renamed to `ListInstances`
- `GetOfferings` renamed to `ListOfferings`
- `UpdateInstance` renamed to `PartialUpdateInstance`
- `resourcemanager`: [v0.7.0](services/resourcemanager/CHANGELOG.md#v070-2023-12-20)
- `GetProjects` renamed to `ListProjects`
- `UpdateProject` renamed to `PartialUpdateProject`
- `secretsmanager`: [v0.5.0](services/secretsmanager/CHANGELOG.md#v050-2023-12-20)
- `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](services/serviceaccount/CHANGELOG.md#v030-2023-12-20)
- `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](services/ske/CHANGELOG.md#v080-2023-12-20)
- `CreateProject` renamed to `EnableService`
- `DeleteProject` renamed to `DisableService`
- `GetClusters` renamed to `ListClusters`
- `GetOptions` renamed to `ListProviderOptions`
- `GetProject` renamed to `GetServiceStatus`

## Release (2023-12-18)

This is the first GitHub release of the STACKIT Go SDK.
Expand Down Expand Up @@ -52,7 +193,7 @@ List of modules:
- Manage your STACKIT PostgreSQL Flex resources: `Instance`, `Versions`, `Flavors`, `User`, `Storages`
- Waiters for async operations: `CreateInstanceWaitHandler`, `UpdateInstanceWaitHandler`, `DeleteInstanceWaitHandler`, `DeleteUserWaitHandler`
- [Usage example](https://github.com/stackitcloud/stackit-sdk-go/tree/main/examples/postgresflex)
- `postgresql`: [v0.8.0](services/postgresql/CHANGELOG.md#v060-2023-11-17)
- `postgresql`: [v0.8.0](services/postgresql/CHANGELOG.md#v080-2023-11-17)
- Manage your STACKIT PostgreSQL resources: `Instance`, `Credentials`, `Offerings`
- Waiters for async operations: `CreateInstanceWaitHandler`, `UpdateInstanceWaitHandler`, `DeleteInstanceWaitHandler`, `CreateCredentialsWaitHandler`, `DeleteCredentialsWaitHandler`
- [Usage example](https://github.com/stackitcloud/stackit-sdk-go/tree/main/examples/postgresql)
Expand Down
2 changes: 1 addition & 1 deletion examples/argus/argus.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func main() {
}

// Get the argus instances for your project
getInstanceResp, err := argusClient.GetInstances(context.Background(), projectId).Execute()
getInstanceResp, err := argusClient.ListInstances(context.Background(), projectId).Execute()

if err != nil {
fmt.Fprintf(os.Stderr, "[Argus API] Error when calling `GetInstances`: %v\n", err)
Expand Down
2 changes: 1 addition & 1 deletion examples/authentication/authentication.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func main() {
}

// Check that you can make an authenticated request
getZoneResp, err := dnsClient.GetZones(context.Background(), "PROJECT_ID").Execute()
getZoneResp, err := dnsClient.ListZones(context.Background(), "PROJECT_ID").Execute()

if err != nil {
fmt.Fprintf(os.Stderr, "[DNS API] Error when calling `ZoneApi.GetZones`: %v\n", err)
Expand Down
4 changes: 2 additions & 2 deletions examples/dns/dns.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ func main() {
}

// Get the DNS Zones for your project
var getZoneResp *dns.ZonesResponse //nolint:golint // transparency on data model naming
getZoneResp, err = dnsClient.GetZones(context.Background(), projectId).Execute()
var getZoneResp *dns.ListZonesResponse //nolint:golint // transparency on data model naming
getZoneResp, err = dnsClient.ListZones(context.Background(), projectId).Execute()

// Get only active DNS Zones for your project by adding the filter "ActiveEq(true)" to the call. More filters are available and can be chained.
// dnsRespGetZones, err := dnsClient.ZoneApi.GetZones(context.Background(), projectId).ActiveEq(true).Execute()
Expand Down
2 changes: 1 addition & 1 deletion examples/errorhandling/errorhandling.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func main() {
os.Exit(1)
}

_, err = dnsClient.GetZones(context.Background(), "foo-bar").Execute()
_, err = dnsClient.ListZones(context.Background(), "foo-bar").Execute()
if err == nil {
fmt.Fprintf(os.Stderr, "[DNS API] Unauthenticated GET request succeeded")
os.Exit(1)
Expand Down
2 changes: 1 addition & 1 deletion examples/httpresponse/httpresponse.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ func main() {
// Get the MongoDB Flex instances for your project and capture the HTTP response using the context
var httpResp *http.Response
ctxWithHTTPResp := config.WithCaptureHTTPResponse(context.Background(), &httpResp)
getInstancesResp, err := mongodbflexClient.GetInstances(ctxWithHTTPResp, projectId).Tag("tag").Execute()
getInstancesResp, err := mongodbflexClient.ListInstances(ctxWithHTTPResp, projectId).Tag("tag").Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
os.Exit(1)
Expand Down
2 changes: 1 addition & 1 deletion examples/loadbalancer/loadbalancer.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func main() {
}

// Enable load balancer functionality for project
_, err = loadbalancerClient.EnableLoadBalancing(context.Background(), projectId).XRequestID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").Execute()
_, err = loadbalancerClient.EnableService(context.Background(), projectId).XRequestID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx").Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `EnableLoadBalancing`: %v\n", err)
os.Exit(1)
Expand Down
4 changes: 2 additions & 2 deletions examples/logme/logme.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ func main() {
}

// Get the logme instances for your project
getInstancesResp, err := logmeClient.GetInstances(context.Background(), projectId).Execute()
getInstancesResp, err := logmeClient.ListInstances(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
} else {
fmt.Printf("Number of instances: %v\n", len(*getInstancesResp.Instances))
}

// Get the logme offerings for your project
getOfferingsResp, err := logmeClient.GetOfferings(context.Background(), projectId).Execute()
getOfferingsResp, err := logmeClient.ListOfferings(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetOfferings`: %v\n", err)
} else {
Expand Down
4 changes: 2 additions & 2 deletions examples/mariadb/mariadb.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ func main() {
}

// Get the mariadb instances for your project
getInstancesResp, err := mariadbClient.GetInstances(context.Background(), projectId).Execute()
getInstancesResp, err := mariadbClient.ListInstances(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
} else {
fmt.Printf("Number of instances: %v\n", len(*getInstancesResp.Instances))
}

// Get the mariadb offerings for your project
getOfferingsResp, err := mariadbClient.GetOfferings(context.Background(), projectId).Execute()
getOfferingsResp, err := mariadbClient.ListOfferings(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetOfferings`: %v\n", err)
} else {
Expand Down
14 changes: 7 additions & 7 deletions examples/membership/membership.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func main() {
}

// Get the available permissions for the project resource type
getPermissionsResp, err := client.GetPermissions(context.Background()).ResourceType("project").Execute()
getPermissionsResp, err := client.ListPermissions(context.Background()).ResourceType("project").Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetPermissions`: %v\n", err)
} else {
Expand All @@ -34,7 +34,7 @@ func main() {
}

// Get the memberships of your user
getMembershipsResp, err := client.GetMemberships(context.Background(), yourEmail).Execute()
getMembershipsResp, err := client.ListUserMemberships(context.Background(), yourEmail).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetMemberships`: %v\n", err)
} else {
Expand All @@ -52,15 +52,15 @@ func main() {
}

// Get the members of your project
getMembersResp, err := client.GetMembers(context.Background(), "project", projectId).Execute()
getMembersResp, err := client.ListMembers(context.Background(), "project", projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetMembers`: %v\n", err)
} else {
fmt.Printf("Number of members: %v\n", len(*getMembersResp.Members))
}

// Add a member to your project or add an additional role to an existing member
updateMemberPayload := membership.UpdateMembersPayload{
updateMemberPayload := membership.AddMembersPayload{
Members: &[]membership.Member{
{
Role: utils.Ptr("project.member"),
Expand All @@ -69,15 +69,15 @@ func main() {
},
ResourceType: utils.Ptr("project"),
}
_, err = client.UpdateMembers(context.Background(), projectId).UpdateMembersPayload(updateMemberPayload).Execute()
_, err = client.AddMembers(context.Background(), projectId).AddMembersPayload(updateMemberPayload).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `UpdateMembers`: %v\n", err)
} else {
fmt.Printf("Added member successfully.\n")
}

// Remove a role from a member of your project
deleteMemberPayload := membership.DeleteMembersPayload{
deleteMemberPayload := membership.RemoveMembersPayload{
Members: &[]membership.Member{
{
Role: utils.Ptr("project.member"),
Expand All @@ -86,7 +86,7 @@ func main() {
},
ResourceType: utils.Ptr("project"),
}
_, err = client.DeleteMembers(context.Background(), projectId).DeleteMembersPayload(deleteMemberPayload).Execute()
_, err = client.RemoveMembers(context.Background(), projectId).RemoveMembersPayload(deleteMemberPayload).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `DeleteMembers`: %v\n", err)
} else {
Expand Down
2 changes: 1 addition & 1 deletion examples/mongodbflex/mongodbflex.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func main() {
}

// Get the MongoDB Flex instances for your project
getInstancesResp, err := mongodbflexClient.GetInstances(context.Background(), projectId).Tag("tag").Execute()
getInstancesResp, err := mongodbflexClient.ListInstances(context.Background(), projectId).Tag("tag").Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
os.Exit(1)
Expand Down
2 changes: 1 addition & 1 deletion examples/objectstorage/objectstorage.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func main() {
}

// Get the object storage buckets for your project
getBucketsResp, err := objectStorageClient.GetBuckets(context.Background(), projectId).Execute()
getBucketsResp, err := objectStorageClient.ListBuckets(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetBuckets`: %v\n", err)
} else {
Expand Down
4 changes: 2 additions & 2 deletions examples/opensearch/opensearch.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ func main() {
}

// Get the opensearch instances for your project
getInstancesResp, err := opensearchClient.GetInstances(context.Background(), projectId).Execute()
getInstancesResp, err := opensearchClient.ListInstances(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
} else {
fmt.Printf("Number of instances: %v\n", len(*getInstancesResp.Instances))
}

// Get the opensearch offerings for your project
getOfferingsResp, err := opensearchClient.GetOfferings(context.Background(), projectId).Execute()
getOfferingsResp, err := opensearchClient.ListOfferings(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetOfferings`: %v\n", err)
} else {
Expand Down
2 changes: 1 addition & 1 deletion examples/postgresflex/postgresflex.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ func main() {
}

// Get the postgresql instances for your project
getInstancesResp, err := postgresflexClient.GetInstances(context.Background(), projectId).Execute()
getInstancesResp, err := postgresflexClient.ListInstances(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
os.Exit(1)
Expand Down
4 changes: 2 additions & 2 deletions examples/postgresql/postgresql.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ func main() {
}

// Get the postgresql instances for your project
getInstancesResp, err := postgresqlClient.GetInstances(context.Background(), projectId).Execute()
getInstancesResp, err := postgresqlClient.ListInstances(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
} else {
fmt.Printf("Number of instances: %v\n", len(*getInstancesResp.Instances))
}

// Get the postgresql offerings for your project
getOfferingsResp, err := postgresqlClient.GetOfferings(context.Background(), projectId).Execute()
getOfferingsResp, err := postgresqlClient.ListOfferings(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetOfferings`: %v\n", err)
} else {
Expand Down
4 changes: 2 additions & 2 deletions examples/rabbitmq/rabbitmq.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,15 @@ func main() {
}

// Get the rabbitmq instances for your project
getInstancesResp, err := rabbitmqClient.GetInstances(context.Background(), projectId).Execute()
getInstancesResp, err := rabbitmqClient.ListInstances(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetInstances`: %v\n", err)
} else {
fmt.Printf("Number of instances: %v\n", len(*getInstancesResp.Instances))
}

// Get the rabbitmq offerings for your project
getOfferingsResp, err := rabbitmqClient.GetOfferings(context.Background(), projectId).Execute()
getOfferingsResp, err := rabbitmqClient.ListOfferings(context.Background(), projectId).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `GetOfferings`: %v\n", err)
} else {
Expand Down
Loading