Skip to content

Commit

Permalink
Updated Create and Update implementations to use Read
Browse files Browse the repository at this point in the history
  • Loading branch information
jbristowe committed Nov 27, 2020
1 parent fed4696 commit 4024ddf
Show file tree
Hide file tree
Showing 13 changed files with 175 additions and 205 deletions.
14 changes: 4 additions & 10 deletions octopusdeploy/resource_account.go
Expand Up @@ -34,8 +34,8 @@ func resourceAccountCreate(ctx context.Context, d *schema.ResourceData, m interf
return diag.FromErr(err)
}

setAccountResource(ctx, d, accountResource)
return nil
d.SetId(accountResource.GetID())
return resourceAccountRead(ctx, d, m)
}

func resourceAccountDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
Expand Down Expand Up @@ -71,16 +71,10 @@ func resourceAccountUpdate(ctx context.Context, d *schema.ResourceData, m interf
accountResource := expandAccountResource(d)

client := m.(*octopusdeploy.Client)
account, err := client.Accounts.Update(accountResource)
_, err := client.Accounts.Update(accountResource)
if err != nil {
return diag.FromErr(err)
}

accountResource, err = octopusdeploy.ToAccountResource(account)
if err != nil {
return diag.FromErr(err)
}

setAccountResource(ctx, d, accountResource)
return nil
return resourceAccountRead(ctx, d, m)
}
22 changes: 9 additions & 13 deletions octopusdeploy/resource_aws_account.go
Expand Up @@ -28,10 +28,8 @@ func resourceAmazonWebServicesAccountCreate(ctx context.Context, d *schema.Resou
return diag.FromErr(err)
}

createdAmazonWebServicesAccount := createdAccount.(*octopusdeploy.AmazonWebServicesAccount)

setAmazonWebServicesAccount(ctx, d, createdAmazonWebServicesAccount)
return nil
d.SetId(createdAccount.GetID())
return resourceAmazonWebServicesAccountRead(ctx, d, m)
}

func resourceAmazonWebServicesAccountDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
Expand All @@ -49,12 +47,13 @@ func resourceAmazonWebServicesAccountRead(ctx context.Context, d *schema.Resourc
client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.GetByID(d.Id())
if err != nil {
apiError := err.(*octopusdeploy.APIError)
if apiError.StatusCode == 404 {
d.SetId("")
return nil
}
return diag.FromErr(err)
}
if accountResource == nil {
d.SetId("")
return nil
}

accountResource, err = octopusdeploy.ToAccount(accountResource.(*octopusdeploy.AccountResource))
if err != nil {
Expand All @@ -71,13 +70,10 @@ func resourceAmazonWebServicesAccountUpdate(ctx context.Context, d *schema.Resou
account := expandAmazonWebServicesAccount(d)

client := m.(*octopusdeploy.Client)
updatedAccount, err := client.Accounts.Update(account)
_, err := client.Accounts.Update(account)
if err != nil {
return diag.FromErr(err)
}

updatedAmazonWebServicesAccount := updatedAccount.(*octopusdeploy.AmazonWebServicesAccount)

setAmazonWebServicesAccount(ctx, d, updatedAmazonWebServicesAccount)
return nil
return resourceAmazonWebServicesAccountRead(ctx, d, m)
}
29 changes: 10 additions & 19 deletions octopusdeploy/resource_azure_service_principal_account.go
Expand Up @@ -23,15 +23,13 @@ func resourceAzureServicePrincipalAccountCreate(ctx context.Context, d *schema.R
account := expandAzureServicePrincipalAccount(d)

client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.Add(account)
createdAccount, err := client.Accounts.Add(account)
if err != nil {
return diag.FromErr(err)
}

createdAzureSubscriptionAccount := accountResource.(*octopusdeploy.AzureServicePrincipalAccount)

setAzureServicePrincipalAccount(ctx, d, createdAzureSubscriptionAccount)
return nil
d.SetId(createdAccount.GetID())
return resourceAzureServicePrincipalAccountRead(ctx, d, m)
}

func resourceAzureServicePrincipalAccountDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
Expand All @@ -49,12 +47,13 @@ func resourceAzureServicePrincipalAccountRead(ctx context.Context, d *schema.Res
client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.GetByID(d.Id())
if err != nil {
apiError := err.(*octopusdeploy.APIError)
if apiError.StatusCode == 404 {
d.SetId("")
return nil
}
return diag.FromErr(err)
}
if accountResource == nil {
d.SetId("")
return nil
}

accountResource, err = octopusdeploy.ToAccount(accountResource.(*octopusdeploy.AccountResource))
if err != nil {
Expand All @@ -71,18 +70,10 @@ func resourceAzureServicePrincipalAccountUpdate(ctx context.Context, d *schema.R
account := expandAzureServicePrincipalAccount(d)

client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.Update(account)
if err != nil {
return diag.FromErr(err)
}

accountResource, err = octopusdeploy.ToAccount(accountResource.(*octopusdeploy.AccountResource))
_, err := client.Accounts.Update(account)
if err != nil {
return diag.FromErr(err)
}

updatedAzureSubscriptionAccount := accountResource.(*octopusdeploy.AzureServicePrincipalAccount)

setAzureServicePrincipalAccount(ctx, d, updatedAzureSubscriptionAccount)
return nil
return resourceAzureServicePrincipalAccountRead(ctx, d, m)
}
29 changes: 10 additions & 19 deletions octopusdeploy/resource_azure_subscription_account.go
Expand Up @@ -23,15 +23,13 @@ func resourceAzureSubscriptionAccountCreate(ctx context.Context, d *schema.Resou
account := expandAzureSubscriptionAccount(d)

client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.Add(account)
createdAccount, err := client.Accounts.Add(account)
if err != nil {
return diag.FromErr(err)
}

createdAzureSubscriptionAccount := accountResource.(*octopusdeploy.AzureSubscriptionAccount)

setAzureSubscriptionAccount(ctx, d, createdAzureSubscriptionAccount)
return nil
d.SetId(createdAccount.GetID())
return resourceAzureSubscriptionAccountRead(ctx, d, m)
}

func resourceAzureSubscriptionAccountDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
Expand All @@ -49,12 +47,13 @@ func resourceAzureSubscriptionAccountRead(ctx context.Context, d *schema.Resourc
client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.GetByID(d.Id())
if err != nil {
apiError := err.(*octopusdeploy.APIError)
if apiError.StatusCode == 404 {
d.SetId("")
return nil
}
return diag.FromErr(err)
}
if accountResource == nil {
d.SetId("")
return nil
}

accountResource, err = octopusdeploy.ToAccount(accountResource.(*octopusdeploy.AccountResource))
if err != nil {
Expand All @@ -71,18 +70,10 @@ func resourceAzureSubscriptionAccountUpdate(ctx context.Context, d *schema.Resou
account := expandAzureSubscriptionAccount(d)

client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.Update(account)
if err != nil {
return diag.FromErr(err)
}

accountResource, err = octopusdeploy.ToAccount(accountResource.(*octopusdeploy.AccountResource))
_, err := client.Accounts.Update(account)
if err != nil {
return diag.FromErr(err)
}

updatedAzureSubscriptionAccount := accountResource.(*octopusdeploy.AzureSubscriptionAccount)

setAzureSubscriptionAccount(ctx, d, updatedAzureSubscriptionAccount)
return nil
return resourceAzureSubscriptionAccountRead(ctx, d, m)
}
16 changes: 10 additions & 6 deletions octopusdeploy/resource_certificate.go
Expand Up @@ -28,8 +28,8 @@ func resourceCertificateCreate(ctx context.Context, d *schema.ResourceData, m in
return diag.FromErr(err)
}

setCertificate(ctx, d, createdCertificate)
return nil
d.SetId(createdCertificate.GetID())
return resourceCertificateRead(ctx, d, m)
}

func resourceCertificateDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
Expand All @@ -47,7 +47,12 @@ func resourceCertificateRead(ctx context.Context, d *schema.ResourceData, m inte
client := m.(*octopusdeploy.Client)
certificate, err := client.Certificates.GetByID(d.Id())
if err != nil {
diag.FromErr(err)
apiError := err.(*octopusdeploy.APIError)
if apiError.StatusCode == 404 {
d.SetId("")
return nil
}
return diag.FromErr(err)
}

setCertificate(ctx, d, certificate)
Expand All @@ -58,11 +63,10 @@ func resourceCertificateUpdate(ctx context.Context, d *schema.ResourceData, m in
certificate := expandCertificate(d)

client := m.(*octopusdeploy.Client)
updatedCertificate, err := client.Certificates.Update(*certificate)
_, err := client.Certificates.Update(*certificate)
if err != nil {
return diag.FromErr(err)
}

setCertificate(ctx, d, updatedCertificate)
return nil
return resourceCertificateRead(ctx, d, m)
}
36 changes: 17 additions & 19 deletions octopusdeploy/resource_channel.go
Expand Up @@ -24,13 +24,23 @@ func resourceChannelCreate(ctx context.Context, d *schema.ResourceData, m interf

client := m.(*octopusdeploy.Client)
createdChannel, err := client.Channels.Add(channel)
if createdChannel != nil && err == nil {
d.SetId(createdChannel.ID)
setChannel(ctx, d, createdChannel)
return nil
if err != nil {
return diag.FromErr(err)
}

return diag.FromErr(err)
d.SetId(createdChannel.GetID())
return resourceChannelRead(ctx, d, m)
}

func resourceChannelDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
client := m.(*octopusdeploy.Client)
err := client.Channels.DeleteByID(d.Id())
if err != nil {
return diag.FromErr(err)
}

d.SetId("")
return nil
}

func resourceChannelRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
Expand All @@ -53,22 +63,10 @@ func resourceChannelUpdate(ctx context.Context, d *schema.ResourceData, m interf
channel := expandChannel(d)

client := m.(*octopusdeploy.Client)
updatedChannel, err := client.Channels.Update(channel)
_, err := client.Channels.Update(channel)
if err != nil {
return diag.FromErr(err)
}

setChannel(ctx, d, updatedChannel)
return nil
}

func resourceChannelDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
client := m.(*octopusdeploy.Client)
err := client.Channels.DeleteByID(d.Id())
if err != nil {
return diag.FromErr(err)
}

d.SetId("")
return nil
return resourceChannelRead(ctx, d, m)
}
32 changes: 18 additions & 14 deletions octopusdeploy/resource_environment.go
Expand Up @@ -28,41 +28,45 @@ func resourceEnvironmentCreate(ctx context.Context, d *schema.ResourceData, m in
return diag.FromErr(err)
}

setEnvironment(ctx, d, createdEnvironment)
return nil
d.SetId(createdEnvironment.GetID())
return resourceEnvironmentRead(ctx, d, m)
}

func resourceEnvironmentRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
func resourceEnvironmentDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
client := m.(*octopusdeploy.Client)
environment, err := client.Environments.GetByID(d.Id())
err := client.Environments.DeleteByID(d.Id())
if err != nil {
return diag.FromErr(err)
}

setEnvironment(ctx, d, environment)
d.SetId("")
return nil
}

func resourceEnvironmentUpdate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
environment := expandEnvironment(d)

func resourceEnvironmentRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
client := m.(*octopusdeploy.Client)
updatedEnvironment, err := client.Environments.Update(environment)
environment, err := client.Environments.GetByID(d.Id())
if err != nil {
apiError := err.(*octopusdeploy.APIError)
if apiError.StatusCode == 404 {
d.SetId("")
return nil
}
return diag.FromErr(err)
}

setEnvironment(ctx, d, updatedEnvironment)
setEnvironment(ctx, d, environment)
return nil
}

func resourceEnvironmentDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
func resourceEnvironmentUpdate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
environment := expandEnvironment(d)

client := m.(*octopusdeploy.Client)
err := client.Environments.DeleteByID(d.Id())
_, err := client.Environments.Update(environment)
if err != nil {
return diag.FromErr(err)
}

d.SetId("")
return nil
return resourceEnvironmentRead(ctx, d, m)
}

0 comments on commit 4024ddf

Please sign in to comment.