diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b43562221..35ed452831 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -119,6 +119,8 @@ - **Feature:** New model struct `EnvironmentStatus`, added as `Status` field to `Environment` and `CreateEnvironmentPayload` models - **Feature:** Add `InternalUrl` field to `ApplicationSummary` and `RuntimeStatus` models - **Feature:** Add `InternalPort` field to `Network` model + - **Bugfix:** Handle application failed status in create and update waiters. + - **Bugfix:** Handle application none status in create and updated waiters. - `secretsmanager`: - [v0.19.2](services/secretsmanager/CHANGELOG.md#v0192) - **Dependencies:** Bump STACKIT SDK core module from `v0.27.0` to `v0.27.1` diff --git a/services/sca/CHANGELOG.md b/services/sca/CHANGELOG.md index aa7b86f199..ef07a2d9b0 100644 --- a/services/sca/CHANGELOG.md +++ b/services/sca/CHANGELOG.md @@ -7,6 +7,8 @@ - **Feature:** Add `Status` field to `Environment` and `CreateEnvironmentPayload` models - **Feature:** Add `InternalUrl` field to `ApplicationSummary` and `RuntimeStatus` models - **Feature:** Add `InternalPort` field to `Network` model + - **Bugfix:** Handle application failed status in create and update waiters. + - **Bugfix:** Handle application none status in create and updated waiters. ## v0.1.0 - **New:** SDK module for STACKIT Container Applications (SCA) service. diff --git a/services/sca/v1alphaapi/wait/wait.go b/services/sca/v1alphaapi/wait/wait.go index 93743139dd..235db65a98 100644 --- a/services/sca/v1alphaapi/wait/wait.go +++ b/services/sca/v1alphaapi/wait/wait.go @@ -24,10 +24,9 @@ func createOrUpdateApplicationWaitHandler(ctx context.Context, a sca.DefaultAPI, waitConfig := wait.WaiterHelper[sca.Application, sca.CurrentStatus]{ FetchInstance: a.GetApplication(ctx, projectID, environmentID, applicationID).Execute, GetState: getApplicationState, - ActiveState: []sca.CurrentStatus{sca.CURRENTSTATUS_CURRENT_STATUS_RUNNING, sca.CURRENTSTATUS_CURRENT_STATUS_IDLE}, - // There is an issue where the API reports a transient FAILED status during the startup of applications. - // It will be solved before the beta. - // ErrorState: []sca.CurrentStatus{sca.CURRENTSTATUS_CURRENT_STATUS_FAILED}, + // CURRENT_STATUS_NONE implies that the application is stopped, so its active without instances + ActiveState: []sca.CurrentStatus{sca.CURRENTSTATUS_CURRENT_STATUS_RUNNING, sca.CURRENTSTATUS_CURRENT_STATUS_IDLE, sca.CURRENTSTATUS_CURRENT_STATUS_NONE}, + ErrorState: []sca.CurrentStatus{sca.CURRENTSTATUS_CURRENT_STATUS_FAILED}, } handler := wait.New(waitConfig.Wait()) handler.SetTimeout(45 * time.Minute) diff --git a/services/sca/v1alphaapi/wait/wait_test.go b/services/sca/v1alphaapi/wait/wait_test.go index 9e05a4d2ef..d928d18dc8 100644 --- a/services/sca/v1alphaapi/wait/wait_test.go +++ b/services/sca/v1alphaapi/wait/wait_test.go @@ -61,6 +61,13 @@ func TestCreateOrUpdateApplicationWaitHandler(t *testing.T) { getFails: false, }, }, + { + desc: "application_stopped_succeeded", + mockSettings: mockSettings{ + resourceState: sca.CURRENTSTATUS_CURRENT_STATUS_NONE, + getFails: false, + }, + }, { desc: "get_fails", mockSettings: mockSettings{