Skip to content

Commit

Permalink
Added logging
Browse files Browse the repository at this point in the history
  • Loading branch information
jbristowe committed Dec 11, 2020
1 parent ce44fc2 commit b18f55f
Showing 1 changed file with 37 additions and 6 deletions.
43 changes: 37 additions & 6 deletions octopusdeploy/resource_token_account.go
Expand Up @@ -2,6 +2,7 @@ package octopusdeploy

import (
"context"
"log"

"github.com/OctopusDeploy/go-octopusdeploy/octopusdeploy"
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
Expand All @@ -22,33 +23,47 @@ func resourceTokenAccount() *schema.Resource {
func resourceTokenAccountCreate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
account := expandTokenAccount(d)

log.Printf("[INFO] creating token account: %#v", account)

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

if err := setTokenAccount(ctx, d, createdAccount.(*octopusdeploy.TokenAccount)); err != nil {
return diag.FromErr(err)
}

d.SetId(createdAccount.GetID())
return resourceTokenAccountRead(ctx, d, m)

log.Printf("[INFO] token account created (%s)", d.Id())
return nil
}

func resourceTokenAccountDelete(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
log.Printf("[INFO] deleting token account (%s)", d.Id())

client := m.(*octopusdeploy.Client)
err := client.Accounts.DeleteByID(d.Id())
if err != nil {
if err := client.Accounts.DeleteByID(d.Id()); err != nil {
return diag.FromErr(err)
}

d.SetId("")

log.Printf("[INFO] token account deleted")
return nil
}

func resourceTokenAccountRead(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
log.Printf("[INFO] reading token account (%s)", d.Id())

client := m.(*octopusdeploy.Client)
accountResource, err := client.Accounts.GetByID(d.Id())
if err != nil {
apiError := err.(*octopusdeploy.APIError)
if apiError.StatusCode == 404 {
log.Printf("[INFO] token account (%s) not found; deleting from state", d.Id())
d.SetId("")
return nil
}
Expand All @@ -62,18 +77,34 @@ func resourceTokenAccountRead(ctx context.Context, d *schema.ResourceData, m int

tokenAccount := accountResource.(*octopusdeploy.TokenAccount)

setTokenAccount(ctx, d, tokenAccount)
if err := setTokenAccount(ctx, d, tokenAccount); err != nil {
return diag.FromErr(err)
}

log.Printf("[INFO] token account read: %#v", tokenAccount)
return nil
}

func resourceTokenAccountUpdate(ctx context.Context, d *schema.ResourceData, m interface{}) diag.Diagnostics {
account := expandTokenAccount(d)

log.Printf("[INFO] updating token account: %#v", account)

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

return resourceTokenAccountRead(ctx, d, m)
accountResource, err := octopusdeploy.ToAccount(updatedAccount.(*octopusdeploy.AccountResource))
if err != nil {
return diag.FromErr(err)
}

if err := setTokenAccount(ctx, d, accountResource.(*octopusdeploy.TokenAccount)); err != nil {
return diag.FromErr(err)
}

log.Printf("[INFO] token account updated (%s)", d.Id())
return nil
}

0 comments on commit b18f55f

Please sign in to comment.