Skip to content

Commit

Permalink
Merge pull request #84 from EventStore/agadelshin/fix-recreation
Browse files Browse the repository at this point in the history
If response is not OK, return an error
  • Loading branch information
Artur Gadelshin authored May 31, 2023
2 parents 48e0abb + 9e31824 commit 63704ce
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 36 deletions.
7 changes: 5 additions & 2 deletions esc/resource_integration.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,9 +136,12 @@ func resourceIntegrationRead(ctx context.Context, d *schema.ResourceData, meta i
integrationId := d.Id()

resp, err := c.client.GetIntegration(ctx, c.organizationId, projectId, integrationId)
if err != nil || resp.Integration.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}
if resp.Integration.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}

if err := d.Set("description", resp.Integration.Description); err != nil {
Expand Down
12 changes: 7 additions & 5 deletions esc/resource_integration_awscloudwatch_logs.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,9 +146,13 @@ func resourceIntegrationAwsCloudWatchLogsRead(ctx context.Context, d *schema.Res
integrationId := d.Id()

resp, err := c.client.GetIntegration(ctx, c.organizationId, projectId, integrationId)
if err != nil || resp.Integration.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}

if resp.Integration.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}

if err := d.Set("description", resp.Integration.Description); err != nil {
Expand Down Expand Up @@ -180,8 +184,6 @@ func resourceIntegrationAwsCloudWatchLogsRead(ctx context.Context, d *schema.Res
func resourceIntegrationAwsCloudWatchLogsDelete(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
c := meta.(*providerContext)

var diags diag.Diagnostics

projectId := d.Get("project_id").(string)
integrationId := d.Id()

Expand All @@ -200,7 +202,7 @@ func resourceIntegrationAwsCloudWatchLogsDelete(ctx context.Context, d *schema.R
return diag.Errorf("integration %q (%q) does not seem to be deleting", integrationId, d.Get("description"))
}
if resp.Integration.Status == "deleted" {
return diags
return nil
}
time.Sleep(1.0)
}
Expand Down
8 changes: 6 additions & 2 deletions esc/resource_integration_awscloudwatch_metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,13 @@ func resourceIntegrationAwsCloudWatchMetricsRead(ctx context.Context, d *schema.
integrationId := d.Id()

resp, err := c.client.GetIntegration(ctx, c.organizationId, projectId, integrationId)
if err != nil || resp.Integration.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}

if resp.Integration.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}

if err := d.Set("description", resp.Integration.Description); err != nil {
Expand Down
39 changes: 21 additions & 18 deletions esc/resource_managed_cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,56 +188,59 @@ func resourceManagedClusterRead(ctx context.Context, d *schema.ResourceData, met
}

resp, err := c.client.ManagedClusterGet(ctx, request)
if err != nil || resp.ManagedCluster.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}

if resp.ManagedCluster.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}

if err := d.Set("project_id", resp.ManagedCluster.ProjectID); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("network_id", resp.ManagedCluster.NetworkID); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("name", resp.ManagedCluster.Name); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("topology", resp.ManagedCluster.Topology); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("instance_type", resp.ManagedCluster.InstanceType); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("disk_size", int(resp.ManagedCluster.DiskSizeGB)); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("disk_type", resp.ManagedCluster.DiskType); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("disk_iops", resp.ManagedCluster.DiskIops); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("disk_throughput", resp.ManagedCluster.DiskThroughput); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("server_version", resp.ManagedCluster.ServerVersion); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("projection_level", resp.ManagedCluster.ProjectionLevel); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}

if err := d.Set("resource_provider", resp.ManagedCluster.Provider); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("region", resp.ManagedCluster.Region); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}
if err := d.Set("dns_name", fmt.Sprintf("%s.mesdb.eventstore.cloud", resp.ManagedCluster.ClusterID)); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}

return nil
return diags
}

func resourceManagedClusterUpdate(ctx context.Context, d *schema.ResourceData, meta interface{}) diag.Diagnostics {
Expand Down
7 changes: 5 additions & 2 deletions esc/resource_network.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,12 @@ func resourceNetworkRead(ctx context.Context, d *schema.ResourceData, meta inter
}

resp, err := c.client.NetworkGet(ctx, request)
if err != nil || resp.Network.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}
if resp.Network.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}

if err := d.Set("project_id", resp.Network.ProjectID); err != nil {
Expand Down
7 changes: 5 additions & 2 deletions esc/resource_peering.go
Original file line number Diff line number Diff line change
Expand Up @@ -258,9 +258,12 @@ func resourcePeeringReadWithCheck(ctx context.Context, d *schema.ResourceData, m
}

resp, err := c.client.PeeringGet(ctx, request)
if err != nil || resp.Peering.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}
if resp.Peering.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}

if errorOnDefunct && resp.Peering.Status == client.StateDefunct {
Expand Down
5 changes: 2 additions & 3 deletions esc/resource_project.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,11 @@ func resourceProjectRead(ctx context.Context, d *schema.ResourceData, meta inter

resp, err := c.client.ProjectGet(ctx, request)
if err != nil {
d.SetId("")
return diags
return diag.Errorf("Internal Server Error, try again later")
}

if err := d.Set("name", resp.Project.Name); err != nil {
return diag.FromErr(err)
diags = append(diags, diag.FromErr(err)...)
}

return diags
Expand Down
8 changes: 6 additions & 2 deletions esc/resource_scheduled_backup.go
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,13 @@ func resourceScheduledBackupRead(ctx context.Context, d *schema.ResourceData, me
var diags diag.Diagnostics

resp, err := c.client.GetJob(ctx, c.organizationId, projectId, jobId)
if err != nil || resp.Job.Status == client.StateDeleted {
if err != nil {
return diag.Errorf("Internal Server Error, try again later")
}

if resp.Job.Status == client.StateDeleted {
d.SetId("")
return diags
return nil
}
if err := d.Set("description", resp.Job.Description); err != nil {
diags = append(diags, diag.FromErr(err)...)
Expand Down

0 comments on commit 63704ce

Please sign in to comment.