diff --git a/go.mod b/go.mod index b2e93a6..65fb9a1 100644 --- a/go.mod +++ b/go.mod @@ -1,9 +1,9 @@ module github.com/Paperspace/terraform-paperspace-provider require ( + github.com/Paperspace/paperspace-go v0.3.2 github.com/davecgh/go-spew v1.1.1 github.com/hashicorp/terraform-plugin-sdk v1.13.1 - github.com/paperspace/paperspace-go v0.1.4 ) go 1.14 diff --git a/go.sum b/go.sum index aaaf49e..47c499b 100644 --- a/go.sum +++ b/go.sum @@ -157,8 +157,6 @@ github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY7 github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/oklog/run v1.0.0 h1:Ru7dDtJNOyC66gQ5dQmaCa0qIsAUFY3sFpK1Xk8igrw= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= -github.com/paperspace/paperspace-go v0.1.4 h1:WrxSXy3QPhFlUJBCW1XX7R8pyvD5SaLrcOAbTmLnyWY= -github.com/paperspace/paperspace-go v0.1.4/go.mod h1:NJfEFinBUAAA224WFqemX45O7KW4BEIrKEMNV4o5klc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -195,9 +193,6 @@ golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg= -golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= @@ -219,9 +214,8 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0= @@ -243,9 +237,8 @@ golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527 h1:uYVVQ9WP/Ds2ROhcaGPeIdVq0RIXVLwsHlnvJ+cT1So= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= diff --git a/src/terraform-provider-paperspace/provider.go b/src/terraform-provider-paperspace/provider.go index 0771cb6..b54f49e 100644 --- a/src/terraform-provider-paperspace/provider.go +++ b/src/terraform-provider-paperspace/provider.go @@ -4,8 +4,8 @@ import ( "log" "os" + "github.com/Paperspace/paperspace-go" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/paperspace/paperspace-go" ) func Provider() *schema.Provider { diff --git a/src/terraform-provider-paperspace/resource_autoscaling_group.go b/src/terraform-provider-paperspace/resource_autoscaling_group.go index 4994855..e8db082 100644 --- a/src/terraform-provider-paperspace/resource_autoscaling_group.go +++ b/src/terraform-provider-paperspace/resource_autoscaling_group.go @@ -3,11 +3,22 @@ package main import ( "time" + "github.com/Paperspace/paperspace-go" "github.com/hashicorp/terraform-plugin-sdk/helper/resource" "github.com/hashicorp/terraform-plugin-sdk/helper/schema" - "github.com/paperspace/paperspace-go" ) +func ErrNotFound(err error) bool { + paperspaceError, ok := err.(*paperspace.PaperspaceError) + if ok { + if paperspaceError.Status == 404 { + return true + } + } + + return false +} + func resourceAutoscalingGroupCreate(d *schema.ResourceData, m interface{}) error { var autoscalingGroup paperspace.AutoscalingGroup @@ -52,12 +63,9 @@ func resourceAutoscalingGroupRead(d *schema.ResourceData, m interface{}) error { autoscalingGroup, err := paperspaceClient.GetAutoscalingGroup(d.Id(), paperspace.AutoscalingGroupGetParams{}) if err != nil { - paperspaceError, ok := err.(paperspace.PaperspaceError) - if ok { - if paperspaceError.Status == 404 { - d.SetId("") - return nil - } + if ErrNotFound(err) { + d.SetId("") + return nil } return err @@ -79,8 +87,8 @@ func resourceAutoscalingGroupUpdate(d *schema.ResourceData, m interface{}) error autoscalingGroupUpdateParams := paperspace.AutoscalingGroupUpdateParams{ Attributes: paperspace.AutoscalingGroupUpdateAttributeParams{ Name: d.Get("name").(string), - Min: d.Get("min").(int), - Max: d.Get("max").(int), + Min: d.Get("min").(*int), + Max: d.Get("max").(*int), MachineType: d.Get("machine_type").(string), TemplateID: d.Get("template_id").(string), NetworkID: d.Get("network_id").(string), @@ -114,6 +122,9 @@ func resourceAutoscalingGroupDelete(d *schema.ResourceData, m interface{}) error return resource.Retry(d.Timeout(schema.TimeoutDelete), func() *resource.RetryError { if err := paperspaceClient.DeleteAutoscalingGroup(d.Id(), paperspace.AutoscalingGroupDeleteParams{}); err != nil { + if ErrNotFound(err) { + return resource.NonRetryableError(nil) + } return resource.RetryableError(err) }