diff --git a/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go b/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go new file mode 100644 index 0000000000..771ccae859 --- /dev/null +++ b/builtin/providers/openstack/import_openstack_fw_firewall_v1_test.go @@ -0,0 +1,29 @@ +package openstack + +import ( + "testing" + + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccOpenStackFWFirewallV1_importBasic(t *testing.T) { + resourceName := "openstack_fw_firewall_v1.accept_test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckFWFirewallV1Destroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testFirewallConfig, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"region"}, + }, + }, + }) +} diff --git a/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go b/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go new file mode 100644 index 0000000000..2cbbbed79f --- /dev/null +++ b/builtin/providers/openstack/import_openstack_fw_policy_v1_test.go @@ -0,0 +1,29 @@ +package openstack + +import ( + "testing" + + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccOpenStackFWPolicyV1_importBasic(t *testing.T) { + resourceName := "openstack_fw_policy_v1.accept_test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckFWPolicyV1Destroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testFirewallPolicyConfigAddRules, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"region"}, + }, + }, + }) +} diff --git a/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go b/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go new file mode 100644 index 0000000000..f1d612510d --- /dev/null +++ b/builtin/providers/openstack/import_openstack_fw_rule_v1_test.go @@ -0,0 +1,29 @@ +package openstack + +import ( + "testing" + + "github.com/hashicorp/terraform/helper/resource" +) + +func TestAccOpenStackFWRuleV1_importBasic(t *testing.T) { + resourceName := "openstack_fw_rule_v1.accept_test" + + resource.Test(t, resource.TestCase{ + PreCheck: func() { testAccPreCheck(t) }, + Providers: testAccProviders, + CheckDestroy: testAccCheckFWRuleV1Destroy, + Steps: []resource.TestStep{ + resource.TestStep{ + Config: testFirewallRuleConfig, + }, + + resource.TestStep{ + ResourceName: resourceName, + ImportState: true, + ImportStateVerify: true, + ImportStateVerifyIgnore: []string{"region"}, + }, + }, + }) +} diff --git a/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go b/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go index 44c93a4c82..d43313763d 100644 --- a/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go +++ b/builtin/providers/openstack/resource_openstack_fw_firewall_v1.go @@ -17,6 +17,9 @@ func resourceFWFirewallV1() *schema.Resource { Read: resourceFWFirewallV1Read, Update: resourceFWFirewallV1Update, Delete: resourceFWFirewallV1Delete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "region": &schema.Schema{ @@ -105,11 +108,12 @@ func resourceFWFirewallV1Read(d *schema.ResourceData, meta interface{}) error { } firewall, err := firewalls.Get(networkingClient, d.Id()).Extract() - if err != nil { return CheckDeleted(d, err, "firewall") } + log.Printf("[DEBUG] Read OpenStack Firewall %s: %#v", d.Id(), firewall) + d.Set("name", firewall.Name) d.Set("description", firewall.Description) d.Set("policy_id", firewall.PolicyID) diff --git a/builtin/providers/openstack/resource_openstack_fw_policy_v1.go b/builtin/providers/openstack/resource_openstack_fw_policy_v1.go index ab273f8d9e..339f7fd2b0 100644 --- a/builtin/providers/openstack/resource_openstack_fw_policy_v1.go +++ b/builtin/providers/openstack/resource_openstack_fw_policy_v1.go @@ -16,6 +16,9 @@ func resourceFWPolicyV1() *schema.Resource { Read: resourceFWPolicyV1Read, Update: resourceFWPolicyV1Update, Delete: resourceFWPolicyV1Delete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "region": &schema.Schema{ @@ -111,16 +114,18 @@ func resourceFWPolicyV1Read(d *schema.ResourceData, meta interface{}) error { } policy, err := policies.Get(networkingClient, d.Id()).Extract() - if err != nil { return CheckDeleted(d, err, "FW policy") } + log.Printf("[DEBUG] Read OpenStack Firewall Policy %s: %#v", d.Id(), policy) + d.Set("name", policy.Name) d.Set("description", policy.Description) d.Set("shared", policy.Shared) d.Set("audited", policy.Audited) d.Set("tenant_id", policy.TenantID) + d.Set("rules", policy.Rules) return nil } diff --git a/builtin/providers/openstack/resource_openstack_fw_rule_v1.go b/builtin/providers/openstack/resource_openstack_fw_rule_v1.go index 15590f019c..e336a60eb9 100644 --- a/builtin/providers/openstack/resource_openstack_fw_rule_v1.go +++ b/builtin/providers/openstack/resource_openstack_fw_rule_v1.go @@ -15,6 +15,9 @@ func resourceFWRuleV1() *schema.Resource { Read: resourceFWRuleV1Read, Update: resourceFWRuleV1Update, Delete: resourceFWRuleV1Delete, + Importer: &schema.ResourceImporter{ + State: schema.ImportStatePassthrough, + }, Schema: map[string]*schema.Schema{ "region": &schema.Schema{ @@ -123,14 +126,14 @@ func resourceFWRuleV1Read(d *schema.ResourceData, meta interface{}) error { } rule, err := rules.Get(networkingClient, d.Id()).Extract() - if err != nil { return CheckDeleted(d, err, "FW rule") } + log.Printf("[DEBUG] Read OpenStack Firewall Rule %s: %#v", d.Id(), rule) + d.Set("protocol", rule.Protocol) d.Set("action", rule.Action) - d.Set("name", rule.Name) d.Set("description", rule.Description) d.Set("ip_version", rule.IPVersion)