func resourceFWPolicyV1Create(d *schema.ResourceData, meta interface{}) error { config := meta.(*Config) networkingClient, err := config.networkingV2Client(d.Get("region").(string)) if err != nil { return fmt.Errorf("Error creating OpenStack networking client: %s", err) } v := d.Get("rules").([]interface{}) log.Printf("[DEBUG] Rules found : %#v", v) log.Printf("[DEBUG] Rules count : %d", len(v)) rules := make([]string, len(v)) for i, v := range v { rules[i] = v.(string) } audited := d.Get("audited").(bool) shared := d.Get("shared").(bool) opts := policies.CreateOpts{ Name: d.Get("name").(string), Description: d.Get("description").(string), Audited: &audited, Shared: &shared, TenantID: d.Get("tenant_id").(string), Rules: rules, } log.Printf("[DEBUG] Create firewall policy: %#v", opts) policy, err := policies.Create(networkingClient, opts).Extract() if err != nil { return err } log.Printf("[DEBUG] Firewall policy created: %#v", policy) d.SetId(policy.ID) return resourceFWPolicyV1Read(d, meta) }
func createPolicy(t *testing.T, opts *policies.CreateOpts) string { p, err := policies.Create(base.Client, *opts).Extract() th.AssertNoErr(t, err) t.Logf("Created policy: %#v", opts) return p.ID }