Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package stackit-cli for openSUSE:Factory checked in at 2026-01-22 15:16:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/stackit-cli (Old) and /work/SRC/openSUSE:Factory/.stackit-cli.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "stackit-cli" Thu Jan 22 15:16:02 2026 rev:27 rq:1328593 version:0.52.0 Changes: -------- --- /work/SRC/openSUSE:Factory/stackit-cli/stackit-cli.changes 2026-01-15 16:48:24.461636778 +0100 +++ /work/SRC/openSUSE:Factory/.stackit-cli.new.1928/stackit-cli.changes 2026-01-22 15:18:07.676101828 +0100 @@ -1,0 +2,23 @@ +Thu Jan 22 06:01:34 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 0.52.0: + * chore(deps): bump + github.com/stackitcloud/stackit-sdk-go/services/serverbackup + from v1.3.4 to v1.3.5 (#1239) + * chore(deps): bump + github.com/stackitcloud/stackit-sdk-go/services/alb (#1237) + * chore(deps): bump + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer + (#1238) + * chore(deps): bump + github.com/stackitcloud/stackit-sdk-go/services/edge (#1235) + * chore(deps): bump + github.com/stackitcloud/stackit-sdk-go/services/ske (#1236) + * feat(config): add ignore-existing for profile create (#1094) + * Feat/stackittpr 442 depedency cooldowns (#1233) + * Update to stackit-sdk-go/services/edge v0.3.0 (#1231) + * chore(deps): bump + github.com/stackitcloud/stackit-sdk-go/services/edge from 0.2.0 + to 0.3.0 (#1228) + +------------------------------------------------------------------- Old: ---- stackit-cli-0.51.0.obscpio New: ---- stackit-cli-0.52.0.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ stackit-cli.spec ++++++ --- /var/tmp/diff_new_pack.VUCut8/_old 2026-01-22 15:18:08.836150202 +0100 +++ /var/tmp/diff_new_pack.VUCut8/_new 2026-01-22 15:18:08.836150202 +0100 @@ -19,7 +19,7 @@ %define executable_name stackit Name: stackit-cli -Version: 0.51.0 +Version: 0.52.0 Release: 0 Summary: A command-line interface to manage STACKIT resources License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.VUCut8/_old 2026-01-22 15:18:08.872151703 +0100 +++ /var/tmp/diff_new_pack.VUCut8/_new 2026-01-22 15:18:08.876151870 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/stackitcloud/stackit-cli/</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.51.0</param> + <param name="revision">v0.52.0</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.VUCut8/_old 2026-01-22 15:18:08.900152871 +0100 +++ /var/tmp/diff_new_pack.VUCut8/_new 2026-01-22 15:18:08.904153038 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/stackitcloud/stackit-cli/</param> - <param name="changesrevision">bde28f216a45178c4eb2eae7769a6d1d575f1b6e</param></service></servicedata> + <param name="changesrevision">4074118fb7b5992c52c7f7af9ca5321e097d893e</param></service></servicedata> (No newline at EOF) ++++++ stackit-cli-0.51.0.obscpio -> stackit-cli-0.52.0.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/docs/stackit_config_profile_create.md new/stackit-cli-0.52.0/docs/stackit_config_profile_create.md --- old/stackit-cli-0.51.0/docs/stackit_config_profile_create.md 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/docs/stackit_config_profile_create.md 2026-01-20 14:40:18.000000000 +0100 @@ -9,6 +9,7 @@ The environment variable takes precedence over the argument. If you do not want to set the profile as active, use the --no-set flag. If you want to create the new profile with the initial default configurations, use the --empty flag. +If you want to create the new profile and ignore the error for an already existing profile, use the --ignore-existing flag. ``` stackit config profile create PROFILE [flags] @@ -27,9 +28,10 @@ ### Options ``` - --empty Create the profile with the initial default configurations - -h, --help Help for "stackit config profile create" - --no-set Do not set the profile as the active profile + --empty Create the profile with the initial default configurations + -h, --help Help for "stackit config profile create" + --ignore-existing Suppress the error if the profile exists already. An existing profile will not be modified or overwritten + --no-set Do not set the profile as the active profile ``` ### Options inherited from parent commands diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/go.mod new/stackit-cli-0.52.0/go.mod --- old/stackit-cli-0.51.0/go.mod 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/go.mod 2026-01-20 14:40:18.000000000 +0100 @@ -16,10 +16,10 @@ github.com/spf13/pflag v1.0.10 github.com/spf13/viper v1.21.0 github.com/stackitcloud/stackit-sdk-go/core v0.20.1 - github.com/stackitcloud/stackit-sdk-go/services/alb v0.8.0 + github.com/stackitcloud/stackit-sdk-go/services/alb v0.9.0 github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0 github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3 - github.com/stackitcloud/stackit-sdk-go/services/edge v0.2.0 + github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0 github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1 github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 github.com/stackitcloud/stackit-sdk-go/services/intake v0.4.1 @@ -29,11 +29,11 @@ github.com/stackitcloud/stackit-sdk-go/services/resourcemanager v0.18.2 github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.3.3 github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 - github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.4 + github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.5 github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3 github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3 github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4 - github.com/stackitcloud/stackit-sdk-go/services/ske v1.5.1 + github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.0 github.com/zalando/go-keyring v0.2.6 golang.org/x/mod v0.32.0 @@ -264,7 +264,7 @@ github.com/spf13/afero v1.15.0 // indirect github.com/spf13/cast v1.10.0 // indirect github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 - github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.2 + github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0 github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3 github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3 github.com/stackitcloud/stackit-sdk-go/services/objectstorage v1.4.2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/go.sum new/stackit-cli-0.52.0/go.sum --- old/stackit-cli-0.51.0/go.sum 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/go.sum 2026-01-20 14:40:18.000000000 +0100 @@ -602,14 +602,14 @@ github.com/ssgreg/nlreturn/v2 v2.2.1/go.mod h1:E/iiPB78hV7Szg2YfRgyIrk1AD6JVMTRkkxBiELzh2I= github.com/stackitcloud/stackit-sdk-go/core v0.20.1 h1:odiuhhRXmxvEvnVTeZSN9u98edvw2Cd3DcnkepncP3M= github.com/stackitcloud/stackit-sdk-go/core v0.20.1/go.mod h1:fqto7M82ynGhEnpZU6VkQKYWYoFG5goC076JWXTUPRQ= -github.com/stackitcloud/stackit-sdk-go/services/alb v0.8.0 h1:RJBgbgZ4w7/e++n7pPTiCwFivll9RHovb4BfR/9CzlA= -github.com/stackitcloud/stackit-sdk-go/services/alb v0.8.0/go.mod h1:63XvbCslxdfWEp+0Q4OSzQrpbY4kvVODOiIEAEEVH8M= +github.com/stackitcloud/stackit-sdk-go/services/alb v0.9.0 h1:P24WoKPt14dfUiUJ4czIv+IiVmdCFQGrKgVtw23fxNg= +github.com/stackitcloud/stackit-sdk-go/services/alb v0.9.0/go.mod h1:63XvbCslxdfWEp+0Q4OSzQrpbY4kvVODOiIEAEEVH8M= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0 h1:4YFY5PG4vP/NiEP1uxCwh+kQHEU7iHG6syuFD7NPqcw= github.com/stackitcloud/stackit-sdk-go/services/authorization v0.11.0/go.mod h1:v4xdRA5P8Vr+zLdHh+ODgspN0WJG04wLImIJoYjrPK4= github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3 h1:KD/FxU/cJIzfyMvwiOvTlSWq87ISENpHNmw/quznGnw= github.com/stackitcloud/stackit-sdk-go/services/dns v0.17.3/go.mod h1:BNiIZkDqwSV1LkWDjMKxVb9pxQ/HMIsXJ0AQ8pFoAo4= -github.com/stackitcloud/stackit-sdk-go/services/edge v0.2.0 h1:ElmnEg3V4MisAgqqJFxl3nCmKraxbHtN+vv1DNiWYfM= -github.com/stackitcloud/stackit-sdk-go/services/edge v0.2.0/go.mod h1:tFDkVkK+ESBTiH2XIcMPPR/pJJmeqT1VNDghg+ZxfMI= +github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0 h1:+96JOe4oS9BhdH4kHfc5jcl9DVIZiHrMN0/PXn8uWoI= +github.com/stackitcloud/stackit-sdk-go/services/edge v0.4.0/go.mod h1:tFDkVkK+ESBTiH2XIcMPPR/pJJmeqT1VNDghg+ZxfMI= github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1 h1:3JKXfI5hdcXcRVBjUZg5qprXG5rDmPnM6dsvplMk/vg= github.com/stackitcloud/stackit-sdk-go/services/git v0.10.1/go.mod h1:3nTaj8IGjNNGYUD2CpuXkXwc5c4giTUmoPggFhjVFxo= github.com/stackitcloud/stackit-sdk-go/services/iaas v1.3.0 h1:U/x0tc487X9msMS5yZYjrBAAKrCx87Trmt0kh8JiARA= @@ -618,8 +618,8 @@ github.com/stackitcloud/stackit-sdk-go/services/intake v0.4.1/go.mod h1:qq6rNvOuSQ1HDZie8gy4Wzso+a9DrgOODNPyKeBljK4= github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0 h1:Ar2n9GKmrTN80G/Ta1R+fL5aX5nEoxL6ODVJl3emzho= github.com/stackitcloud/stackit-sdk-go/services/kms v1.2.0/go.mod h1:sHMFoYvVrkRZcH13DkLvp48nW+ssRVVVuwqJHDGpa5M= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.2 h1:DwwRMzvnKWTbfmLvq2xe+mYhv5fA1AwWdQGznI05sGc= -github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.6.2/go.mod h1:dYmNdSNDKUG+E0SwuFWu+c8CuMBF/l6w1bdzAHxQao0= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0 h1:ZyaB4jL71p+FWI/cXgP+p6t4iw1oAeGbLLOz4cs3dmI= +github.com/stackitcloud/stackit-sdk-go/services/loadbalancer v1.7.0/go.mod h1:dYmNdSNDKUG+E0SwuFWu+c8CuMBF/l6w1bdzAHxQao0= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3 h1:fUQLWs2WsXFh+FtFDYOm1kv/gJrGBZLjhVOXJOuYfFY= github.com/stackitcloud/stackit-sdk-go/services/logme v0.25.3/go.mod h1:305j9bvzJ+3c4csOw4SUfLSSxRbkpL0osbvqMI89FeM= github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.25.3 h1:Y5Ct3Zi5UcIOwjKMWpKl0nrqiq7psTf4NJv0IKgwTkc= @@ -644,8 +644,8 @@ github.com/stackitcloud/stackit-sdk-go/services/runcommand v1.3.3/go.mod h1:P1uhYJpSvhUXTnTGSEZqWf97J2+1Z6VuVwmUOlnhiwI= github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0 h1:8cFo0UG2r9kWwUAHRBTAG5wEt4G80+wkWdjQW6DhU6Y= github.com/stackitcloud/stackit-sdk-go/services/secretsmanager v0.14.0/go.mod h1:dMBt/b/LXfXTDLQTCW6PRhBlbl41q7XS+5mAyBezSJk= -github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.4 h1:lOlg8zYL2nwMi1JxDYW2p8LL4cSB3eoOjlqPHioDWU0= -github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.4/go.mod h1:MBlzqmewliF1LKeOBdOuT+aQrtc3y7p1Kd1fWkjecKQ= +github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.5 h1:pAoqz4K17ZWcLusu7Dxkx3HGQAIYCk7SmZeAu9HHUrQ= +github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.3.5/go.mod h1:MBlzqmewliF1LKeOBdOuT+aQrtc3y7p1Kd1fWkjecKQ= github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3 h1:1gLKXD91qOYUpackMuu0PdRwrm2Z8vFK+k8H7SF0xbg= github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.2.3/go.mod h1:V34YusCRsq/3bJ/HxUk0wslLjVWWE/QVe70AZ+XrDPE= github.com/stackitcloud/stackit-sdk-go/services/serviceaccount v0.11.3 h1:XV3pPXpdvQjR5Z90FFutU4iqCHfejDYQAL840Y4ztLM= @@ -654,8 +654,8 @@ github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.2.4/go.mod h1:Iv+svIxk5baXnvrEdvVl5JZri6a3H/2OrQDlRWmUFMI= github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0 h1:DRp1p0Gb1YZSnFXgkiKTHQD9bFfqn6OC3PcsDjqGJiw= github.com/stackitcloud/stackit-sdk-go/services/sfs v0.2.0/go.mod h1:XHOtGgBwwCqPSoQt2ojIRb/BeOd4kICwb9RuMXXFGt8= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.5.1 h1:HVlBylGwXVR3qDUGwUMqofAcLEawRaWSgeYXbyAcN1E= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.5.1/go.mod h1:NzcTU5GGlUF6Lys3Ra7ylRj4ZKxJr3f/29/yoE5tjPI= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0 h1:Dab1jzN0u9c67lvELoWf1RuagjO3eUBRytoX8SYL8Zs= +github.com/stackitcloud/stackit-sdk-go/services/ske v1.6.0/go.mod h1:NzcTU5GGlUF6Lys3Ra7ylRj4ZKxJr3f/29/yoE5tjPI= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.0 h1:KgIRTw4gpxx8qoiaLGLbXPVDcBgCxPl60gigw+tizYc= github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.4.0/go.mod h1:fd13ANCU/Pye8uDd/6E0I605+6PYfHuVIQpPEK2Ph6c= github.com/stbenjam/no-sprintf-host-port v0.3.1 h1:AyX7+dxI4IdLBPtDbsGAyqiTSLpCP9hWRrXQDU4Cm/g= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/create/create.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/create/create.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/create/create.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/create/create.go 2026-01-20 14:40:18.000000000 +0100 @@ -124,7 +124,7 @@ // Exported fields allow tests to inspect the request inputs ProjectID string Region string - Payload edge.PostInstancesPayload + Payload edge.CreateInstancePayload // Execute is a closure that wraps the actual SDK call Execute func() (*edge.Instance, error) @@ -191,15 +191,15 @@ // buildRequest constructs the spec that can be tested. func buildRequest(ctx context.Context, model *inputModel, apiClient client.APIClient) (*createRequestSpec, error) { - req := apiClient.PostInstances(ctx, model.ProjectId, model.Region) + req := apiClient.CreateInstance(ctx, model.ProjectId, model.Region) // Build request payload - payload := edge.PostInstancesPayload{ + payload := edge.CreateInstancePayload{ DisplayName: &model.DisplayName, Description: &model.Description, PlanId: &model.PlanId, } - req = req.PostInstancesPayload(payload) + req = req.CreateInstancePayload(payload) return &createRequestSpec{ ProjectID: model.ProjectId, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/create/create_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/create/create_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/create/create_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/create/create_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -41,7 +41,7 @@ resp *edge.Instance } -func (m *mockExecutable) PostInstancesPayload(_ edge.PostInstancesPayload) edge.ApiPostInstancesRequest { +func (m *mockExecutable) CreateInstancePayload(_ edge.CreateInstancePayload) edge.ApiCreateInstanceRequest { // This method is needed to satisfy the interface. It allows chaining in buildRequest. return m } @@ -57,12 +57,12 @@ // mockAPIClient is a mock for the client.APIClient interface type mockAPIClient struct { - postInstancesMock edge.ApiPostInstancesRequest + createInstanceMock edge.ApiCreateInstanceRequest } -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { - if m.postInstancesMock != nil { - return m.postInstancesMock +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { + if m.createInstanceMock != nil { + return m.createInstanceMock } return &mockExecutable{} } @@ -80,7 +80,7 @@ func (m *mockAPIClient) GetInstanceByName(_ context.Context, _, _, _ string) edge.ApiGetInstanceByNameRequest { return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } func (m *mockAPIClient) UpdateInstance(_ context.Context, _, _, _ string) edge.ApiUpdateInstanceRequest { @@ -285,13 +285,13 @@ args: args{ model: fixtureInputModel(), client: &mockAPIClient{ - postInstancesMock: &mockExecutable{}, + createInstanceMock: &mockExecutable{}, }, }, want: &createRequestSpec{ ProjectID: testProjectId, Region: testRegion, - Payload: edge.PostInstancesPayload{ + Payload: edge.CreateInstancePayload{ DisplayName: &testName, Description: &testDescription, PlanId: &testPlanId, @@ -331,7 +331,7 @@ args: args{ model: fixtureInputModel(), client: &mockAPIClient{ - postInstancesMock: &mockExecutable{ + createInstanceMock: &mockExecutable{ resp: &edge.Instance{Id: &testInstanceId}, }, }, @@ -343,7 +343,7 @@ args: args{ model: fixtureInputModel(), client: &mockAPIClient{ - postInstancesMock: &mockExecutable{ + createInstanceMock: &mockExecutable{ executeFails: true, }, }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/delete/delete_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/delete/delete_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/delete/delete_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/delete/delete_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -74,7 +74,7 @@ } // Unused methods to satisfy the client.APIClient interface. -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } func (m *mockAPIClient) GetInstance(_ context.Context, _, _, _ string) edge.ApiGetInstanceRequest { @@ -83,7 +83,7 @@ func (m *mockAPIClient) GetInstanceByName(_ context.Context, _, _, _ string) edge.ApiGetInstanceByNameRequest { return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } func (m *mockAPIClient) UpdateInstance(_ context.Context, _, _, _ string) edge.ApiUpdateInstanceRequest { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/describe/describe_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/describe/describe_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/describe/describe_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/describe/describe_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -75,10 +75,10 @@ } // Unused methods to satisfy the interface -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } func (m *mockAPIClient) UpdateInstance(_ context.Context, _, _, _ string) edge.ApiUpdateInstanceRequest { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/list/list.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/list/list.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/list/list.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/list/list.go 2026-01-20 14:40:18.000000000 +0100 @@ -154,7 +154,7 @@ // buildRequest constructs the spec that can be tested. func buildRequest(ctx context.Context, model *inputModel, apiClient client.APIClient) (*listRequestSpec, error) { - req := apiClient.GetInstances(ctx, model.ProjectId, model.Region) + req := apiClient.ListInstances(ctx, model.ProjectId, model.Region) return &listRequestSpec{ ProjectID: model.ProjectId, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/list/list_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/list/list_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/list/list_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/list/list_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -52,18 +52,18 @@ // mockAPIClient is a mock for the edge.APIClient interface type mockAPIClient struct { - getInstancesMock edge.ApiGetInstancesRequest + listInstancesMock edge.ApiListInstancesRequest } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { - if m.getInstancesMock != nil { - return m.getInstancesMock +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { + if m.listInstancesMock != nil { + return m.listInstancesMock } return &mockExecutable{} } // Unused methods to satisfy the interface -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } func (m *mockAPIClient) GetInstance(_ context.Context, _, _, _ string) edge.ApiGetInstanceRequest { @@ -291,7 +291,7 @@ args: args{ model: fixtureInputModel(), client: &mockAPIClient{ - getInstancesMock: &mockExecutable{ + listInstancesMock: &mockExecutable{ executeResp: &edge.InstanceList{Instances: &[]edge.Instance{}}, }, }, @@ -303,7 +303,7 @@ args: args{ model: fixtureInputModel(), client: &mockAPIClient{ - getInstancesMock: &mockExecutable{ + listInstancesMock: &mockExecutable{ executeFails: true, }, }, @@ -426,7 +426,7 @@ args: args{ model: fixtureInputModel(), client: &mockAPIClient{ - getInstancesMock: &mockExecutable{}, + listInstancesMock: &mockExecutable{}, }, }, }, @@ -442,7 +442,7 @@ model.Limit = utils.Ptr(int64(10)) }), client: &mockAPIClient{ - getInstancesMock: &mockExecutable{}, + listInstancesMock: &mockExecutable{}, }, }, }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/update/update_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/update/update_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/instance/update/update_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/instance/update/update_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -88,7 +88,7 @@ } // Unused methods to satisfy the interface -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } func (m *mockAPIClient) GetInstance(_ context.Context, _, _, _ string) edge.ApiGetInstanceRequest { @@ -97,7 +97,7 @@ func (m *mockAPIClient) GetInstanceByName(_ context.Context, _, _, _ string) edge.ApiGetInstanceByNameRequest { return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } func (m *mockAPIClient) DeleteInstance(_ context.Context, _, _, _ string) edge.ApiDeleteInstanceRequest { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/kubeconfig/create/create_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/kubeconfig/create/create_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/kubeconfig/create/create_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/kubeconfig/create/create_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -142,7 +142,7 @@ return nil } -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } @@ -162,7 +162,7 @@ return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/plans/list/list_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/plans/list/list_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/plans/list/list_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/plans/list/list_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -63,14 +63,14 @@ } // Unused methods to satisfy the interface -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } func (m *mockAPIClient) GetInstance(_ context.Context, _, _, _ string) edge.ApiGetInstanceRequest { return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/beta/edge/token/create/create_test.go new/stackit-cli-0.52.0/internal/cmd/beta/edge/token/create/create_test.go --- old/stackit-cli-0.51.0/internal/cmd/beta/edge/token/create/create_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/beta/edge/token/create/create_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -99,7 +99,7 @@ return nil } -func (m *mockAPIClient) PostInstances(_ context.Context, _, _ string) edge.ApiPostInstancesRequest { +func (m *mockAPIClient) CreateInstance(_ context.Context, _, _ string) edge.ApiCreateInstanceRequest { return nil } func (m *mockAPIClient) GetInstance(_ context.Context, _, _, _ string) edge.ApiGetInstanceRequest { @@ -108,7 +108,7 @@ func (m *mockAPIClient) GetInstanceByName(_ context.Context, _, _, _ string) edge.ApiGetInstanceByNameRequest { return nil } -func (m *mockAPIClient) GetInstances(_ context.Context, _, _ string) edge.ApiGetInstancesRequest { +func (m *mockAPIClient) ListInstances(_ context.Context, _, _ string) edge.ApiListInstancesRequest { return nil } func (m *mockAPIClient) UpdateInstance(_ context.Context, _, _, _ string) edge.ApiUpdateInstanceRequest { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/cmd/config/profile/create/create.go new/stackit-cli-0.52.0/internal/cmd/config/profile/create/create.go --- old/stackit-cli-0.51.0/internal/cmd/config/profile/create/create.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/cmd/config/profile/create/create.go 2026-01-20 14:40:18.000000000 +0100 @@ -19,13 +19,15 @@ const ( profileArg = "PROFILE" - noSetFlag = "no-set" - fromEmptyProfile = "empty" + noSetFlag = "no-set" + ignoreExistingFlag = "ignore-existing" + fromEmptyProfile = "empty" ) type inputModel struct { *globalflags.GlobalFlagModel NoSet bool + IgnoreExisting bool FromEmptyProfile bool Profile string } @@ -34,12 +36,13 @@ cmd := &cobra.Command{ Use: fmt.Sprintf("create %s", profileArg), Short: "Creates a CLI configuration profile", - Long: fmt.Sprintf("%s\n%s\n%s\n%s\n%s", + Long: fmt.Sprintf("%s\n%s\n%s\n%s\n%s\n%s", "Creates a CLI configuration profile based on the currently active profile and sets it as active.", `The profile name can be provided via the STACKIT_CLI_PROFILE environment variable or as an argument in this command.`, "The environment variable takes precedence over the argument.", "If you do not want to set the profile as active, use the --no-set flag.", "If you want to create the new profile with the initial default configurations, use the --empty flag.", + "If you want to create the new profile and ignore the error for an already existing profile, use the --ignore-existing flag.", ), Args: args.SingleArg(profileArg, nil), Example: examples.Build( @@ -56,7 +59,7 @@ return err } - err = config.CreateProfile(params.Printer, model.Profile, !model.NoSet, model.FromEmptyProfile) + err = config.CreateProfile(params.Printer, model.Profile, !model.NoSet, model.IgnoreExisting, model.FromEmptyProfile) if err != nil { return fmt.Errorf("create profile: %w", err) } @@ -85,6 +88,7 @@ func configureFlags(cmd *cobra.Command) { cmd.Flags().Bool(noSetFlag, false, "Do not set the profile as the active profile") + cmd.Flags().Bool(ignoreExistingFlag, false, "Suppress the error if the profile exists already. An existing profile will not be modified or overwritten") cmd.Flags().Bool(fromEmptyProfile, false, "Create the profile with the initial default configurations") } @@ -103,6 +107,7 @@ Profile: profile, FromEmptyProfile: flags.FlagToBoolValue(p, cmd, fromEmptyProfile), NoSet: flags.FlagToBoolValue(p, cmd, noSetFlag), + IgnoreExisting: flags.FlagToBoolValue(p, cmd, ignoreExistingFlag), } p.DebugInputModel(model) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/pkg/config/profiles.go new/stackit-cli-0.52.0/internal/pkg/config/profiles.go --- old/stackit-cli-0.51.0/internal/pkg/config/profiles.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/pkg/config/profiles.go 2026-01-20 14:40:18.000000000 +0100 @@ -79,8 +79,8 @@ // CreateProfile creates a new profile. // If emptyProfile is true, it creates an empty profile. Otherwise, copies the config from the current profile to the new profile. // If setProfile is true, it sets the new profile as the active profile. -// If the profile already exists, it returns an error. -func CreateProfile(p *print.Printer, profile string, setProfile, emptyProfile bool) error { +// If the profile already exists and ignoreExisting is false, it returns an error. +func CreateProfile(p *print.Printer, profile string, setProfile, ignoreExisting, emptyProfile bool) error { err := ValidateProfile(profile) if err != nil { return fmt.Errorf("validate profile: %w", err) @@ -98,6 +98,15 @@ // Error if the profile already exists _, err = os.Stat(configFolderPath) if err == nil { + if ignoreExisting { + if setProfile { + err = SetProfile(p, profile) + if err != nil { + return fmt.Errorf("set profile: %w", err) + } + } + return nil + } return fmt.Errorf("profile %q already exists", profile) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/pkg/config/profiles_test.go new/stackit-cli-0.52.0/internal/pkg/config/profiles_test.go --- old/stackit-cli-0.51.0/internal/pkg/config/profiles_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/pkg/config/profiles_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -210,7 +210,7 @@ // Create prerequisite profile p := print.NewPrinter() profileName := "export-profile-test" - err = CreateProfile(p, profileName, true, false) + err = CreateProfile(p, profileName, true, false, false) if err != nil { t.Fatalf("could not create prerequisite profile, %v", err) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/pkg/services/edge/client/client.go new/stackit-cli-0.52.0/internal/pkg/services/edge/client/client.go --- old/stackit-cli-0.51.0/internal/pkg/services/edge/client/client.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/pkg/services/edge/client/client.go 2026-01-20 14:40:18.000000000 +0100 @@ -15,18 +15,18 @@ // APIClient is an interface that consolidates all client functionality to allow for mocking of the API client during testing. type APIClient interface { - PostInstances(ctx context.Context, projectId, region string) edge.ApiPostInstancesRequest - DeleteInstance(ctx context.Context, projectId, region, instanceId string) edge.ApiDeleteInstanceRequest - DeleteInstanceByName(ctx context.Context, projectId, region, instanceName string) edge.ApiDeleteInstanceByNameRequest - GetInstance(ctx context.Context, projectId, region, instanceId string) edge.ApiGetInstanceRequest - GetInstanceByName(ctx context.Context, projectId, region, instanceName string) edge.ApiGetInstanceByNameRequest - GetInstances(ctx context.Context, projectId, region string) edge.ApiGetInstancesRequest - UpdateInstance(ctx context.Context, projectId, region, instanceId string) edge.ApiUpdateInstanceRequest - UpdateInstanceByName(ctx context.Context, projectId, region, instanceName string) edge.ApiUpdateInstanceByNameRequest - GetKubeconfigByInstanceId(ctx context.Context, projectId, region, instanceId string) edge.ApiGetKubeconfigByInstanceIdRequest - GetKubeconfigByInstanceName(ctx context.Context, projectId, region, instanceName string) edge.ApiGetKubeconfigByInstanceNameRequest - GetTokenByInstanceId(ctx context.Context, projectId, region, instanceId string) edge.ApiGetTokenByInstanceIdRequest - GetTokenByInstanceName(ctx context.Context, projectId, region, instanceName string) edge.ApiGetTokenByInstanceNameRequest + CreateInstance(ctx context.Context, projectId, regionId string) edge.ApiCreateInstanceRequest + DeleteInstance(ctx context.Context, projectId, regionId, instanceId string) edge.ApiDeleteInstanceRequest + DeleteInstanceByName(ctx context.Context, projectId, regionId, displayName string) edge.ApiDeleteInstanceByNameRequest + GetInstance(ctx context.Context, projectId, regionId, instanceId string) edge.ApiGetInstanceRequest + GetInstanceByName(ctx context.Context, projectId, regionId, displayName string) edge.ApiGetInstanceByNameRequest + ListInstances(ctx context.Context, projectId, regionId string) edge.ApiListInstancesRequest + UpdateInstance(ctx context.Context, projectId, regionId, instanceId string) edge.ApiUpdateInstanceRequest + UpdateInstanceByName(ctx context.Context, projectId, regionId, displayName string) edge.ApiUpdateInstanceByNameRequest + GetKubeconfigByInstanceId(ctx context.Context, projectId, regionId, instanceId string) edge.ApiGetKubeconfigByInstanceIdRequest + GetKubeconfigByInstanceName(ctx context.Context, projectId, regionId, displayName string) edge.ApiGetKubeconfigByInstanceNameRequest + GetTokenByInstanceId(ctx context.Context, projectId, regionId, instanceId string) edge.ApiGetTokenByInstanceIdRequest + GetTokenByInstanceName(ctx context.Context, projectId, regionId, displayName string) edge.ApiGetTokenByInstanceNameRequest ListPlansProject(ctx context.Context, projectId string) edge.ApiListPlansProjectRequest } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/stackit-cli-0.51.0/internal/pkg/services/serverbackup/utils/utils_test.go new/stackit-cli-0.52.0/internal/pkg/services/serverbackup/utils/utils_test.go --- old/stackit-cli-0.51.0/internal/pkg/services/serverbackup/utils/utils_test.go 2026-01-14 10:50:15.000000000 +0100 +++ new/stackit-cli-0.52.0/internal/pkg/services/serverbackup/utils/utils_test.go 2026-01-20 14:40:18.000000000 +0100 @@ -88,7 +88,7 @@ LastRestoredAt: utils.Ptr("test timestamp"), Name: utils.Ptr("test name"), Size: utils.Ptr(int64(5)), - Status: serverbackup.BACKUPSTATUS_BACKING_UP.Ptr(), + Status: serverbackup.BACKUPSTATUS_IN_PROGRESS.Ptr(), VolumeBackups: nil, }, }, ++++++ stackit-cli.obsinfo ++++++ --- /var/tmp/diff_new_pack.VUCut8/_old 2026-01-22 15:18:10.024199744 +0100 +++ /var/tmp/diff_new_pack.VUCut8/_new 2026-01-22 15:18:10.028199910 +0100 @@ -1,5 +1,5 @@ name: stackit-cli -version: 0.51.0 -mtime: 1768384215 -commit: bde28f216a45178c4eb2eae7769a6d1d575f1b6e +version: 0.52.0 +mtime: 1768916418 +commit: 4074118fb7b5992c52c7f7af9ca5321e097d893e ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/stackit-cli/vendor.tar.gz /work/SRC/openSUSE:Factory/.stackit-cli.new.1928/vendor.tar.gz differ: char 15, line 1
