Deprecate ske project resource (#309)
* add deprecation message * edit acceptance test * Enable project before creating first cluster // fix typo in function name * add cluster existence check before deleting ske project // add deprecation message to project resource * add region to acceptance test * Update resource error message Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Update resource error message Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Update deprecation message Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * Update error message Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * remove model id assignment * update error handling for cluster existence check while deleting project * add nil check for clusters during project deletion * add deprecation notice to documentation * Update datasource deprecation message Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com> * improve condition handling --------- Co-authored-by: Vicente Pinto <vicente.pinto@freiheit.com>
This commit is contained in:
parent
d6c677552f
commit
0fc2a28469
6 changed files with 42 additions and 13 deletions
|
|
@ -552,7 +552,20 @@ func (r *clusterResource) Create(ctx context.Context, req resource.CreateRequest
|
|||
ctx = tflog.SetField(ctx, "project_id", projectId)
|
||||
ctx = tflog.SetField(ctx, "name", clusterName)
|
||||
|
||||
availableVersions, err := r.loadAvaiableVersions(ctx)
|
||||
// If SKE functionality is not enabled, enable it
|
||||
_, err := r.client.EnableService(ctx, projectId).Execute()
|
||||
if err != nil {
|
||||
core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating cluster", fmt.Sprintf("Calling API to enable SKE: %v", err))
|
||||
return
|
||||
}
|
||||
|
||||
_, err = wait.EnableServiceWaitHandler(ctx, r.client, projectId).WaitWithContext(ctx)
|
||||
if err != nil {
|
||||
core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating cluster", fmt.Sprintf("Wait for SKE enablement: %v", err))
|
||||
return
|
||||
}
|
||||
|
||||
availableVersions, err := r.loadAvailableVersions(ctx)
|
||||
if err != nil {
|
||||
core.LogAndAddError(ctx, &resp.Diagnostics, "Error creating cluster", fmt.Sprintf("Loading available Kubernetes versions: %v", err))
|
||||
return
|
||||
|
|
@ -572,7 +585,7 @@ func (r *clusterResource) Create(ctx context.Context, req resource.CreateRequest
|
|||
tflog.Info(ctx, "SKE cluster created")
|
||||
}
|
||||
|
||||
func (r *clusterResource) loadAvaiableVersions(ctx context.Context) ([]ske.KubernetesVersion, error) {
|
||||
func (r *clusterResource) loadAvailableVersions(ctx context.Context) ([]ske.KubernetesVersion, error) {
|
||||
c := r.client
|
||||
res, err := c.ListProviderOptions(ctx).Execute()
|
||||
if err != nil {
|
||||
|
|
@ -1423,7 +1436,7 @@ func (r *clusterResource) Update(ctx context.Context, req resource.UpdateRequest
|
|||
ctx = tflog.SetField(ctx, "project_id", projectId)
|
||||
ctx = tflog.SetField(ctx, "name", clName)
|
||||
|
||||
availableVersions, err := r.loadAvaiableVersions(ctx)
|
||||
availableVersions, err := r.loadAvailableVersions(ctx)
|
||||
if err != nil {
|
||||
core.LogAndAddError(ctx, &resp.Diagnostics, "Error updating cluster", fmt.Sprintf("Loading available Kubernetes versions: %v", err))
|
||||
return
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue