mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-10-01 16:21:06 +00:00
stop generating beta resources/fields (#2242)
<!-- This change is generated by MagicModules. --> /cc @danawillow
This commit is contained in:
parent
ba001b386b
commit
586f1e98c3
@ -29,7 +29,6 @@ func resourceComputeAddress() *schema.Resource {
|
||||
return &schema.Resource{
|
||||
Create: resourceComputeAddressCreate,
|
||||
Read: resourceComputeAddressRead,
|
||||
Update: resourceComputeAddressUpdate,
|
||||
Delete: resourceComputeAddressDelete,
|
||||
|
||||
Importer: &schema.ResourceImporter{
|
||||
@ -38,7 +37,6 @@ func resourceComputeAddress() *schema.Resource {
|
||||
|
||||
Timeouts: &schema.ResourceTimeout{
|
||||
Create: schema.DefaultTimeout(240 * time.Second),
|
||||
Update: schema.DefaultTimeout(240 * time.Second),
|
||||
Delete: schema.DefaultTimeout(240 * time.Second),
|
||||
},
|
||||
|
||||
@ -67,14 +65,6 @@ func resourceComputeAddress() *schema.Resource {
|
||||
Optional: true,
|
||||
ForceNew: true,
|
||||
},
|
||||
"labels": {
|
||||
Type: schema.TypeMap,
|
||||
Optional: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
Elem: &schema.Schema{Type: schema.TypeString},
|
||||
},
|
||||
"network_tier": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
@ -100,13 +90,6 @@ See https://terraform.io/docs/providers/google/provider_versions.html for more d
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"label_fingerprint": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
},
|
||||
"users": {
|
||||
Type: schema.TypeList,
|
||||
Computed: true,
|
||||
@ -168,12 +151,6 @@ func resourceComputeAddressCreate(d *schema.ResourceData, meta interface{}) erro
|
||||
} else if v, ok := d.GetOkExists("subnetwork"); !isEmptyValue(reflect.ValueOf(subnetworkProp)) && (ok || !reflect.DeepEqual(v, subnetworkProp)) {
|
||||
obj["subnetwork"] = subnetworkProp
|
||||
}
|
||||
labelsProp, err := expandComputeAddressLabels(d.Get("labels"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(labelsProp)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
regionProp, err := expandComputeAddressRegion(d.Get("region"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -181,7 +158,7 @@ func resourceComputeAddressCreate(d *schema.ResourceData, meta interface{}) erro
|
||||
obj["region"] = regionProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/addresses")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -221,51 +198,13 @@ func resourceComputeAddressCreate(d *schema.ResourceData, meta interface{}) erro
|
||||
|
||||
log.Printf("[DEBUG] Finished creating Address %q: %#v", d.Id(), res)
|
||||
|
||||
if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
// Labels cannot be set in a create. We'll have to set them here.
|
||||
err = resourceComputeAddressRead(d, meta)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
obj := make(map[string]interface{})
|
||||
// d.Get("labels") will have been overridden by the Read call.
|
||||
labelsProp, err := expandComputeAddressLabels(v, d, config)
|
||||
obj["labels"] = labelsProp
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err = replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res, err = sendRequest(config, "POST", url, obj)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error adding labels to ComputeAddress %q: %s", d.Id(), err)
|
||||
}
|
||||
|
||||
err = Convert(res, op)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeOperationWaitTime(
|
||||
config.clientCompute, op, project, "Updating ComputeAddress Labels",
|
||||
int(d.Timeout(schema.TimeoutUpdate).Minutes()))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return resourceComputeAddressRead(d, meta)
|
||||
}
|
||||
|
||||
func resourceComputeAddressRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/addresses/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -299,12 +238,6 @@ func resourceComputeAddressRead(d *schema.ResourceData, meta interface{}) error
|
||||
if err := d.Set("users", flattenComputeAddressUsers(res["users"])); err != nil {
|
||||
return fmt.Errorf("Error reading Address: %s", err)
|
||||
}
|
||||
if err := d.Set("labels", flattenComputeAddressLabels(res["labels"])); err != nil {
|
||||
return fmt.Errorf("Error reading Address: %s", err)
|
||||
}
|
||||
if err := d.Set("label_fingerprint", flattenComputeAddressLabelFingerprint(res["labelFingerprint"])); err != nil {
|
||||
return fmt.Errorf("Error reading Address: %s", err)
|
||||
}
|
||||
if err := d.Set("region", flattenComputeAddressRegion(res["region"])); err != nil {
|
||||
return fmt.Errorf("Error reading Address: %s", err)
|
||||
}
|
||||
@ -322,62 +255,10 @@ func resourceComputeAddressRead(d *schema.ResourceData, meta interface{}) error
|
||||
return nil
|
||||
}
|
||||
|
||||
func resourceComputeAddressUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
d.Partial(true)
|
||||
|
||||
if d.HasChange("labels") || d.HasChange("label_fingerprint") {
|
||||
obj := make(map[string]interface{})
|
||||
labelsProp, err := expandComputeAddressLabels(d.Get("labels"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res, err := sendRequest(config, "POST", url, obj)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error updating Address %q: %s", d.Id(), err)
|
||||
}
|
||||
|
||||
project, err := getProject(d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
op := &compute.Operation{}
|
||||
err = Convert(res, op)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeOperationWaitTime(
|
||||
config.clientCompute, op, project, "Updating Address",
|
||||
int(d.Timeout(schema.TimeoutUpdate).Minutes()))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
d.SetPartial("labels")
|
||||
d.SetPartial("label_fingerprint")
|
||||
}
|
||||
|
||||
d.Partial(false)
|
||||
|
||||
return resourceComputeAddressRead(d, meta)
|
||||
}
|
||||
|
||||
func resourceComputeAddressDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/addresses/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/addresses/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -463,14 +344,6 @@ func flattenComputeAddressUsers(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeAddressLabels(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeAddressLabelFingerprint(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeAddressRegion(v interface{}) interface{} {
|
||||
if v == nil {
|
||||
return v
|
||||
@ -506,17 +379,6 @@ func expandComputeAddressSubnetwork(v interface{}, d *schema.ResourceData, confi
|
||||
return f.RelativeLink(), nil
|
||||
}
|
||||
|
||||
func expandComputeAddressLabels(v interface{}, d *schema.ResourceData, config *Config) (map[string]string, error) {
|
||||
if v == nil {
|
||||
return map[string]string{}, nil
|
||||
}
|
||||
m := make(map[string]string)
|
||||
for k, val := range v.(map[string]interface{}) {
|
||||
m[k] = val.(string)
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func expandComputeAddressRegion(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
f, err := parseGlobalFieldValue("regions", v.(string), "project", d, config, true)
|
||||
if err != nil {
|
||||
|
@ -145,13 +145,6 @@ func resourceComputeFirewall() *schema.Resource {
|
||||
Type: schema.TypeBool,
|
||||
Optional: true,
|
||||
},
|
||||
"enable_logging": {
|
||||
Type: schema.TypeBool,
|
||||
Optional: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
},
|
||||
"priority": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
@ -261,12 +254,6 @@ func resourceComputeFirewallCreate(d *schema.ResourceData, meta interface{}) err
|
||||
} else if v, ok := d.GetOkExists("disabled"); ok || !reflect.DeepEqual(v, disabledProp) {
|
||||
obj["disabled"] = disabledProp
|
||||
}
|
||||
enableLoggingProp, err := expandComputeFirewallEnableLogging(d.Get("enable_logging"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("enable_logging"); ok || !reflect.DeepEqual(v, enableLoggingProp) {
|
||||
obj["enableLogging"] = enableLoggingProp
|
||||
}
|
||||
nameProp, err := expandComputeFirewallName(d.Get("name"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -316,7 +303,7 @@ func resourceComputeFirewallCreate(d *schema.ResourceData, meta interface{}) err
|
||||
obj["targetTags"] = targetTagsProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/firewalls")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/firewalls")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -362,7 +349,7 @@ func resourceComputeFirewallCreate(d *schema.ResourceData, meta interface{}) err
|
||||
func resourceComputeFirewallRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/firewalls/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/firewalls/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -393,9 +380,6 @@ func resourceComputeFirewallRead(d *schema.ResourceData, meta interface{}) error
|
||||
if err := d.Set("disabled", flattenComputeFirewallDisabled(res["disabled"])); err != nil {
|
||||
return fmt.Errorf("Error reading Firewall: %s", err)
|
||||
}
|
||||
if err := d.Set("enable_logging", flattenComputeFirewallEnableLogging(res["enableLogging"])); err != nil {
|
||||
return fmt.Errorf("Error reading Firewall: %s", err)
|
||||
}
|
||||
if err := d.Set("name", flattenComputeFirewallName(res["name"])); err != nil {
|
||||
return fmt.Errorf("Error reading Firewall: %s", err)
|
||||
}
|
||||
@ -474,12 +458,6 @@ func resourceComputeFirewallUpdate(d *schema.ResourceData, meta interface{}) err
|
||||
} else if v, ok := d.GetOkExists("disabled"); ok || !reflect.DeepEqual(v, disabledProp) {
|
||||
obj["disabled"] = disabledProp
|
||||
}
|
||||
enableLoggingProp, err := expandComputeFirewallEnableLogging(d.Get("enable_logging"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("enable_logging"); ok || !reflect.DeepEqual(v, enableLoggingProp) {
|
||||
obj["enableLogging"] = enableLoggingProp
|
||||
}
|
||||
nameProp, err := expandComputeFirewallName(d.Get("name"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -529,7 +507,7 @@ func resourceComputeFirewallUpdate(d *schema.ResourceData, meta interface{}) err
|
||||
obj["targetTags"] = targetTagsProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/firewalls/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/firewalls/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -565,7 +543,7 @@ func resourceComputeFirewallUpdate(d *schema.ResourceData, meta interface{}) err
|
||||
func resourceComputeFirewallDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/firewalls/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/firewalls/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -682,10 +660,6 @@ func flattenComputeFirewallDisabled(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeFirewallEnableLogging(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeFirewallName(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
@ -835,10 +809,6 @@ func expandComputeFirewallDisabled(v interface{}, d *schema.ResourceData, config
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeFirewallEnableLogging(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeFirewallName(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
@ -80,14 +80,6 @@ func resourceComputeForwardingRule() *schema.Resource {
|
||||
ForceNew: true,
|
||||
ValidateFunc: validation.StringInSlice([]string{"IPV4", "IPV6", ""}, false),
|
||||
},
|
||||
"labels": {
|
||||
Type: schema.TypeMap,
|
||||
Optional: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
Elem: &schema.Schema{Type: schema.TypeString},
|
||||
},
|
||||
"load_balancing_scheme": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
@ -132,15 +124,6 @@ See https://terraform.io/docs/providers/google/provider_versions.html for more d
|
||||
ForceNew: true,
|
||||
DiffSuppressFunc: compareSelfLinkOrResourceName,
|
||||
},
|
||||
"service_label": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
ForceNew: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
ValidateFunc: validateGCPName,
|
||||
},
|
||||
"subnetwork": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
@ -157,20 +140,6 @@ See https://terraform.io/docs/providers/google/provider_versions.html for more d
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"label_fingerprint": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
},
|
||||
"service_name": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
},
|
||||
"project": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
@ -261,24 +230,12 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
|
||||
} else if v, ok := d.GetOkExists("target"); !isEmptyValue(reflect.ValueOf(targetProp)) && (ok || !reflect.DeepEqual(v, targetProp)) {
|
||||
obj["target"] = targetProp
|
||||
}
|
||||
labelsProp, err := expandComputeForwardingRuleLabels(d.Get("labels"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(labelsProp)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
networkTierProp, err := expandComputeForwardingRuleNetworkTier(d.Get("network_tier"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("network_tier"); !isEmptyValue(reflect.ValueOf(networkTierProp)) && (ok || !reflect.DeepEqual(v, networkTierProp)) {
|
||||
obj["networkTier"] = networkTierProp
|
||||
}
|
||||
serviceLabelProp, err := expandComputeForwardingRuleServiceLabel(d.Get("service_label"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("service_label"); !isEmptyValue(reflect.ValueOf(serviceLabelProp)) && (ok || !reflect.DeepEqual(v, serviceLabelProp)) {
|
||||
obj["serviceLabel"] = serviceLabelProp
|
||||
}
|
||||
regionProp, err := expandComputeForwardingRuleRegion(d.Get("region"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -286,7 +243,7 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
|
||||
obj["region"] = regionProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/forwardingRules")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/forwardingRules")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -326,51 +283,13 @@ func resourceComputeForwardingRuleCreate(d *schema.ResourceData, meta interface{
|
||||
|
||||
log.Printf("[DEBUG] Finished creating ForwardingRule %q: %#v", d.Id(), res)
|
||||
|
||||
if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
// Labels cannot be set in a create. We'll have to set them here.
|
||||
err = resourceComputeForwardingRuleRead(d, meta)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
obj := make(map[string]interface{})
|
||||
// d.Get("labels") will have been overridden by the Read call.
|
||||
labelsProp, err := expandComputeForwardingRuleLabels(v, d, config)
|
||||
obj["labels"] = labelsProp
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err = replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res, err = sendRequest(config, "POST", url, obj)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error adding labels to ComputeForwardingRule %q: %s", d.Id(), err)
|
||||
}
|
||||
|
||||
err = Convert(res, op)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeOperationWaitTime(
|
||||
config.clientCompute, op, project, "Updating ComputeForwardingRule Labels",
|
||||
int(d.Timeout(schema.TimeoutUpdate).Minutes()))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return resourceComputeForwardingRuleRead(d, meta)
|
||||
}
|
||||
|
||||
func resourceComputeForwardingRuleRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -419,21 +338,9 @@ func resourceComputeForwardingRuleRead(d *schema.ResourceData, meta interface{})
|
||||
if err := d.Set("target", flattenComputeForwardingRuleTarget(res["target"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
if err := d.Set("labels", flattenComputeForwardingRuleLabels(res["labels"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
if err := d.Set("label_fingerprint", flattenComputeForwardingRuleLabelFingerprint(res["labelFingerprint"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
if err := d.Set("network_tier", flattenComputeForwardingRuleNetworkTier(res["networkTier"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
if err := d.Set("service_label", flattenComputeForwardingRuleServiceLabel(res["serviceLabel"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
if err := d.Set("service_name", flattenComputeForwardingRuleServiceName(res["serviceName"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
if err := d.Set("region", flattenComputeForwardingRuleRegion(res["region"])); err != nil {
|
||||
return fmt.Errorf("Error reading ForwardingRule: %s", err)
|
||||
}
|
||||
@ -465,7 +372,7 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
|
||||
obj["target"] = targetProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setTarget")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setTarget")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -494,47 +401,6 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
|
||||
|
||||
d.SetPartial("target")
|
||||
}
|
||||
if d.HasChange("labels") || d.HasChange("label_fingerprint") {
|
||||
obj := make(map[string]interface{})
|
||||
labelsProp, err := expandComputeForwardingRuleLabels(d.Get("labels"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res, err := sendRequest(config, "POST", url, obj)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error updating ForwardingRule %q: %s", d.Id(), err)
|
||||
}
|
||||
|
||||
project, err := getProject(d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
op := &compute.Operation{}
|
||||
err = Convert(res, op)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeOperationWaitTime(
|
||||
config.clientCompute, op, project, "Updating ForwardingRule",
|
||||
int(d.Timeout(schema.TimeoutUpdate).Minutes()))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
d.SetPartial("labels")
|
||||
d.SetPartial("label_fingerprint")
|
||||
}
|
||||
|
||||
d.Partial(false)
|
||||
|
||||
@ -544,7 +410,7 @@ func resourceComputeForwardingRuleUpdate(d *schema.ResourceData, meta interface{
|
||||
func resourceComputeForwardingRuleDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/forwardingRules/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -659,26 +525,10 @@ func flattenComputeForwardingRuleTarget(v interface{}) interface{} {
|
||||
return ConvertSelfLinkToV1(v.(string))
|
||||
}
|
||||
|
||||
func flattenComputeForwardingRuleLabels(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeForwardingRuleLabelFingerprint(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeForwardingRuleNetworkTier(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeForwardingRuleServiceLabel(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeForwardingRuleServiceName(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeForwardingRuleRegion(v interface{}) interface{} {
|
||||
if v == nil {
|
||||
return v
|
||||
@ -792,25 +642,10 @@ func expandComputeForwardingRuleTarget(v interface{}, d *schema.ResourceData, co
|
||||
return url + v.(string), nil
|
||||
}
|
||||
|
||||
func expandComputeForwardingRuleLabels(v interface{}, d *schema.ResourceData, config *Config) (map[string]string, error) {
|
||||
if v == nil {
|
||||
return map[string]string{}, nil
|
||||
}
|
||||
m := make(map[string]string)
|
||||
for k, val := range v.(map[string]interface{}) {
|
||||
m[k] = val.(string)
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func expandComputeForwardingRuleNetworkTier(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeForwardingRuleServiceLabel(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeForwardingRuleRegion(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
f, err := parseGlobalFieldValue("regions", v.(string), "project", d, config, true)
|
||||
if err != nil {
|
||||
|
@ -18,7 +18,6 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
@ -30,7 +29,6 @@ func resourceComputeGlobalAddress() *schema.Resource {
|
||||
return &schema.Resource{
|
||||
Create: resourceComputeGlobalAddressCreate,
|
||||
Read: resourceComputeGlobalAddressRead,
|
||||
Update: resourceComputeGlobalAddressUpdate,
|
||||
Delete: resourceComputeGlobalAddressDelete,
|
||||
|
||||
Importer: &schema.ResourceImporter{
|
||||
@ -39,7 +37,6 @@ func resourceComputeGlobalAddress() *schema.Resource {
|
||||
|
||||
Timeouts: &schema.ResourceTimeout{
|
||||
Create: schema.DefaultTimeout(240 * time.Second),
|
||||
Update: schema.DefaultTimeout(240 * time.Second),
|
||||
Delete: schema.DefaultTimeout(240 * time.Second),
|
||||
},
|
||||
|
||||
@ -69,40 +66,6 @@ func resourceComputeGlobalAddress() *schema.Resource {
|
||||
ValidateFunc: validation.StringInSlice([]string{"IPV4", "IPV6", ""}, false),
|
||||
DiffSuppressFunc: emptyOrDefaultStringSuppress("IPV4"),
|
||||
},
|
||||
"labels": {
|
||||
Type: schema.TypeMap,
|
||||
Optional: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
Elem: &schema.Schema{Type: schema.TypeString},
|
||||
},
|
||||
"network": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
ForceNew: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
DiffSuppressFunc: compareSelfLinkOrResourceName,
|
||||
},
|
||||
"prefix_length": {
|
||||
Type: schema.TypeInt,
|
||||
Optional: true,
|
||||
ForceNew: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
},
|
||||
"purpose": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
ForceNew: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
ValidateFunc: validation.StringInSlice([]string{"VPC_PEERING", ""}, false),
|
||||
},
|
||||
"address": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
@ -111,13 +74,6 @@ See https://terraform.io/docs/providers/google/provider_versions.html for more d
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"label_fingerprint": {
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
Deprecated: `This field is in beta and will be removed from this provider.
|
||||
Use the terraform-provider-google-beta provider to continue using it.
|
||||
See https://terraform.io/docs/providers/google/provider_versions.html for more details on beta fields.`,
|
||||
},
|
||||
"project": {
|
||||
Type: schema.TypeString,
|
||||
Optional: true,
|
||||
@ -148,44 +104,20 @@ func resourceComputeGlobalAddressCreate(d *schema.ResourceData, meta interface{}
|
||||
} else if v, ok := d.GetOkExists("name"); !isEmptyValue(reflect.ValueOf(nameProp)) && (ok || !reflect.DeepEqual(v, nameProp)) {
|
||||
obj["name"] = nameProp
|
||||
}
|
||||
labelsProp, err := expandComputeGlobalAddressLabels(d.Get("labels"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(labelsProp)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
ipVersionProp, err := expandComputeGlobalAddressIpVersion(d.Get("ip_version"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("ip_version"); !isEmptyValue(reflect.ValueOf(ipVersionProp)) && (ok || !reflect.DeepEqual(v, ipVersionProp)) {
|
||||
obj["ipVersion"] = ipVersionProp
|
||||
}
|
||||
prefixLengthProp, err := expandComputeGlobalAddressPrefixLength(d.Get("prefix_length"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("prefix_length"); !isEmptyValue(reflect.ValueOf(prefixLengthProp)) && (ok || !reflect.DeepEqual(v, prefixLengthProp)) {
|
||||
obj["prefixLength"] = prefixLengthProp
|
||||
}
|
||||
addressTypeProp, err := expandComputeGlobalAddressAddressType(d.Get("address_type"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("address_type"); !isEmptyValue(reflect.ValueOf(addressTypeProp)) && (ok || !reflect.DeepEqual(v, addressTypeProp)) {
|
||||
obj["addressType"] = addressTypeProp
|
||||
}
|
||||
purposeProp, err := expandComputeGlobalAddressPurpose(d.Get("purpose"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("purpose"); !isEmptyValue(reflect.ValueOf(purposeProp)) && (ok || !reflect.DeepEqual(v, purposeProp)) {
|
||||
obj["purpose"] = purposeProp
|
||||
}
|
||||
networkProp, err := expandComputeGlobalAddressNetwork(d.Get("network"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("network"); !isEmptyValue(reflect.ValueOf(networkProp)) && (ok || !reflect.DeepEqual(v, networkProp)) {
|
||||
obj["network"] = networkProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/addresses")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/addresses")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -225,51 +157,13 @@ func resourceComputeGlobalAddressCreate(d *schema.ResourceData, meta interface{}
|
||||
|
||||
log.Printf("[DEBUG] Finished creating GlobalAddress %q: %#v", d.Id(), res)
|
||||
|
||||
if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
// Labels cannot be set in a create. We'll have to set them here.
|
||||
err = resourceComputeGlobalAddressRead(d, meta)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
obj := make(map[string]interface{})
|
||||
// d.Get("labels") will have been overridden by the Read call.
|
||||
labelsProp, err := expandComputeGlobalAddressLabels(v, d, config)
|
||||
obj["labels"] = labelsProp
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err = replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/addresses/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res, err = sendRequest(config, "POST", url, obj)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error adding labels to ComputeGlobalAddress %q: %s", d.Id(), err)
|
||||
}
|
||||
|
||||
err = Convert(res, op)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeOperationWaitTime(
|
||||
config.clientCompute, op, project, "Updating ComputeGlobalAddress Labels",
|
||||
int(d.Timeout(schema.TimeoutUpdate).Minutes()))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return resourceComputeGlobalAddressRead(d, meta)
|
||||
}
|
||||
|
||||
func resourceComputeGlobalAddressRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/addresses/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/addresses/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -291,27 +185,12 @@ func resourceComputeGlobalAddressRead(d *schema.ResourceData, meta interface{})
|
||||
if err := d.Set("name", flattenComputeGlobalAddressName(res["name"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("labels", flattenComputeGlobalAddressLabels(res["labels"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("label_fingerprint", flattenComputeGlobalAddressLabelFingerprint(res["labelFingerprint"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("ip_version", flattenComputeGlobalAddressIpVersion(res["ipVersion"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("prefix_length", flattenComputeGlobalAddressPrefixLength(res["prefixLength"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("address_type", flattenComputeGlobalAddressAddressType(res["addressType"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("purpose", flattenComputeGlobalAddressPurpose(res["purpose"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("network", flattenComputeGlobalAddressNetwork(res["network"])); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
if err := d.Set("self_link", ConvertSelfLinkToV1(res["selfLink"].(string))); err != nil {
|
||||
return fmt.Errorf("Error reading GlobalAddress: %s", err)
|
||||
}
|
||||
@ -326,62 +205,10 @@ func resourceComputeGlobalAddressRead(d *schema.ResourceData, meta interface{})
|
||||
return nil
|
||||
}
|
||||
|
||||
func resourceComputeGlobalAddressUpdate(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
d.Partial(true)
|
||||
|
||||
if d.HasChange("labels") || d.HasChange("label_fingerprint") {
|
||||
obj := make(map[string]interface{})
|
||||
labelsProp, err := expandComputeGlobalAddressLabels(d.Get("labels"), d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
} else if v, ok := d.GetOkExists("labels"); !isEmptyValue(reflect.ValueOf(v)) && (ok || !reflect.DeepEqual(v, labelsProp)) {
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/addresses/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
res, err := sendRequest(config, "POST", url, obj)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error updating GlobalAddress %q: %s", d.Id(), err)
|
||||
}
|
||||
|
||||
project, err := getProject(d, config)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
op := &compute.Operation{}
|
||||
err = Convert(res, op)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
err = computeOperationWaitTime(
|
||||
config.clientCompute, op, project, "Updating GlobalAddress",
|
||||
int(d.Timeout(schema.TimeoutUpdate).Minutes()))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
d.SetPartial("labels")
|
||||
d.SetPartial("label_fingerprint")
|
||||
}
|
||||
|
||||
d.Partial(false)
|
||||
|
||||
return resourceComputeGlobalAddressRead(d, meta)
|
||||
}
|
||||
|
||||
func resourceComputeGlobalAddressDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/global/addresses/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/global/addresses/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -445,43 +272,14 @@ func flattenComputeGlobalAddressName(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressLabels(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressLabelFingerprint(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressIpVersion(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressPrefixLength(v interface{}) interface{} {
|
||||
// Handles the string fixed64 format
|
||||
if strVal, ok := v.(string); ok {
|
||||
if intVal, err := strconv.ParseInt(strVal, 10, 64); err == nil {
|
||||
return intVal
|
||||
} // let terraform core handle it if we can't convert the string to an int.
|
||||
}
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressAddressType(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressPurpose(v interface{}) interface{} {
|
||||
return v
|
||||
}
|
||||
|
||||
func flattenComputeGlobalAddressNetwork(v interface{}) interface{} {
|
||||
if v == nil {
|
||||
return v
|
||||
}
|
||||
return ConvertSelfLinkToV1(v.(string))
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressDescription(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
@ -490,37 +288,10 @@ func expandComputeGlobalAddressName(v interface{}, d *schema.ResourceData, confi
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressLabels(v interface{}, d *schema.ResourceData, config *Config) (map[string]string, error) {
|
||||
if v == nil {
|
||||
return map[string]string{}, nil
|
||||
}
|
||||
m := make(map[string]string)
|
||||
for k, val := range v.(map[string]interface{}) {
|
||||
m[k] = val.(string)
|
||||
}
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressIpVersion(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressPrefixLength(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressAddressType(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressPurpose(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
return v, nil
|
||||
}
|
||||
|
||||
func expandComputeGlobalAddressNetwork(v interface{}, d *schema.ResourceData, config *Config) (interface{}, error) {
|
||||
f, err := parseGlobalFieldValue("networks", v.(string), "project", d, config, true)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Invalid value for network: %s", err)
|
||||
}
|
||||
return f.RelativeLink(), nil
|
||||
}
|
||||
|
@ -249,7 +249,7 @@ func resourceComputeRegionDiskCreate(d *schema.ResourceData, meta interface{}) e
|
||||
return err
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/disks")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/disks")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -295,7 +295,7 @@ func resourceComputeRegionDiskCreate(d *schema.ResourceData, meta interface{}) e
|
||||
func resourceComputeRegionDiskRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/disks/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/disks/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -388,7 +388,7 @@ func resourceComputeRegionDiskUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
obj["labels"] = labelsProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/disks/{{name}}/setLabels")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/disks/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -427,7 +427,7 @@ func resourceComputeRegionDiskUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
obj["sizeGb"] = sizeGbProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/disks/{{name}}/resize")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/disks/{{name}}/resize")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -465,7 +465,7 @@ func resourceComputeRegionDiskUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
func resourceComputeRegionDiskDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/disks/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/disks/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -253,7 +253,7 @@ func resourceComputeSubnetworkCreate(d *schema.ResourceData, meta interface{}) e
|
||||
obj["region"] = regionProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/subnetworks")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/subnetworks")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -299,7 +299,7 @@ func resourceComputeSubnetworkCreate(d *schema.ResourceData, meta interface{}) e
|
||||
func resourceComputeSubnetworkRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -370,7 +370,7 @@ func resourceComputeSubnetworkUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
obj["ipCidrRange"] = ipCidrRangeProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}/expandIpCidrRange")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}/expandIpCidrRange")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -416,7 +416,7 @@ func resourceComputeSubnetworkUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
obj["secondaryIpRanges"] = secondaryIpRangesProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -456,7 +456,7 @@ func resourceComputeSubnetworkUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
obj["privateIpGoogleAccess"] = privateIpGoogleAccessProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}/setPrivateIpGoogleAccess")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}/setPrivateIpGoogleAccess")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -494,7 +494,7 @@ func resourceComputeSubnetworkUpdate(d *schema.ResourceData, meta interface{}) e
|
||||
func resourceComputeSubnetworkDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/subnetworks/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -320,7 +320,7 @@ func resourceComputeVpnTunnelCreate(d *schema.ResourceData, meta interface{}) er
|
||||
obj["region"] = regionProp
|
||||
}
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/vpnTunnels")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/vpnTunnels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -366,7 +366,7 @@ func resourceComputeVpnTunnelCreate(d *schema.ResourceData, meta interface{}) er
|
||||
func resourceComputeVpnTunnelRead(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/vpnTunnels/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/vpnTunnels/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -448,7 +448,7 @@ func resourceComputeVpnTunnelUpdate(d *schema.ResourceData, meta interface{}) er
|
||||
labelFingerprintProp := d.Get("label_fingerprint")
|
||||
obj["labelFingerprint"] = labelFingerprintProp
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/vpnTunnels/{{name}}/setLabels")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/vpnTunnels/{{name}}/setLabels")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -487,7 +487,7 @@ func resourceComputeVpnTunnelUpdate(d *schema.ResourceData, meta interface{}) er
|
||||
func resourceComputeVpnTunnelDelete(d *schema.ResourceData, meta interface{}) error {
|
||||
config := meta.(*Config)
|
||||
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/beta/projects/{{project}}/regions/{{region}}/vpnTunnels/{{name}}")
|
||||
url, err := replaceVars(d, config, "https://www.googleapis.com/compute/v1/projects/{{project}}/regions/{{region}}/vpnTunnels/{{name}}")
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -147,11 +147,6 @@ The following arguments are supported:
|
||||
This field can only be used with INTERNAL type with
|
||||
GCE_ENDPOINT/DNS_RESOLVER purposes.
|
||||
|
||||
* `labels` -
|
||||
(Optional)
|
||||
Labels to apply to this address. A list of key->value pairs. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `region` -
|
||||
(Optional)
|
||||
The Region in which the created address should reside.
|
||||
@ -170,11 +165,6 @@ In addition to the arguments listed above, the following computed attributes are
|
||||
|
||||
* `users` -
|
||||
The URLs of the resources that are using this address.
|
||||
|
||||
* `label_fingerprint` -
|
||||
The fingerprint used for optimistic locking of this resource. Used
|
||||
internally during updates. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
* `self_link` - The URI of the created resource.
|
||||
|
||||
|
||||
@ -186,7 +176,6 @@ This resource provides the following
|
||||
[Timeouts](/docs/configuration/resources.html#timeouts) configuration options:
|
||||
|
||||
- `create` - Default is 4 minutes.
|
||||
- `update` - Default is 4 minutes.
|
||||
- `delete` - Default is 4 minutes.
|
||||
|
||||
## Import
|
||||
|
@ -125,13 +125,6 @@ The following arguments are supported:
|
||||
not enforced and the network behaves as if it did not exist. If this
|
||||
is unspecified, the firewall rule will be enabled.
|
||||
|
||||
* `enable_logging` -
|
||||
(Optional)
|
||||
This field denotes whether to enable logging for a particular
|
||||
firewall rule. If logging is enabled, logs will be exported to
|
||||
Stackdriver. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `priority` -
|
||||
(Optional)
|
||||
Priority for this rule. This is an integer between 0 and 65535, both
|
||||
|
@ -180,31 +180,12 @@ The following arguments are supported:
|
||||
must be of a type appropriate to the target object.
|
||||
This field is not used for internal load balancing.
|
||||
|
||||
* `labels` -
|
||||
(Optional)
|
||||
Labels to apply to this forwarding rule. A list of key->value pairs. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `network_tier` -
|
||||
(Optional)
|
||||
The networking tier used for configuring this address. This field can
|
||||
take the following values: PREMIUM or STANDARD. If this field is not
|
||||
specified, it is assumed to be PREMIUM.
|
||||
|
||||
* `service_label` -
|
||||
(Optional)
|
||||
An optional prefix to the service name for this Forwarding Rule.
|
||||
If specified, will be the first label of the fully qualified service
|
||||
name.
|
||||
The label must be 1-63 characters long, and comply with RFC1035.
|
||||
Specifically, the label must be 1-63 characters long and match the
|
||||
regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first
|
||||
character must be a lowercase letter, and all following characters
|
||||
must be a dash, lowercase letter, or digit, except the last
|
||||
character, which cannot be a dash.
|
||||
This field is only used for internal load balancing. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `region` -
|
||||
(Optional)
|
||||
A reference to the region where the regional forwarding rule resides.
|
||||
@ -220,16 +201,6 @@ In addition to the arguments listed above, the following computed attributes are
|
||||
|
||||
* `creation_timestamp` -
|
||||
Creation timestamp in RFC3339 text format.
|
||||
|
||||
* `label_fingerprint` -
|
||||
The fingerprint used for optimistic locking of this resource. Used
|
||||
internally during updates. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `service_name` -
|
||||
The internal fully qualified service name for this Forwarding Rule.
|
||||
This field is only used for internal load balancing. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
* `self_link` - The URI of the created resource.
|
||||
|
||||
|
||||
|
@ -63,43 +63,16 @@ The following arguments are supported:
|
||||
An optional description of this resource.
|
||||
Provide this property when you create the resource.
|
||||
|
||||
* `labels` -
|
||||
(Optional)
|
||||
Labels to apply to this address. A list of key->value pairs. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `ip_version` -
|
||||
(Optional)
|
||||
The IP Version that will be used by this address. Valid options are
|
||||
IPV4 or IPV6. The default value is IPV4.
|
||||
|
||||
* `prefix_length` -
|
||||
(Optional)
|
||||
The prefix length of the IP range. If not present, it means the
|
||||
address field is a single IP address.
|
||||
This field is not applicable to addresses with addressType=EXTERNAL. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `address_type` -
|
||||
(Optional)
|
||||
The type of the address to reserve, default is EXTERNAL.
|
||||
* EXTERNAL indicates public/external single IP address.
|
||||
* INTERNAL indicates internal IP ranges belonging to some network.
|
||||
|
||||
* `purpose` -
|
||||
(Optional)
|
||||
The purpose of the resource. For global internal addresses it can be
|
||||
* VPC_PEERING - for peer networks
|
||||
This should only be set when using an Internal address. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
|
||||
* `network` -
|
||||
(Optional)
|
||||
The URL of the network in which to reserve the IP range. The IP range
|
||||
must be in RFC1918 space. The network cannot be deleted if there are
|
||||
any reserved IP ranges referring to it.
|
||||
This should only be set when using an Internal address. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
* `project` - (Optional) The ID of the project in which the resource belongs.
|
||||
If it is not provided, the provider project is used.
|
||||
|
||||
@ -114,11 +87,6 @@ In addition to the arguments listed above, the following computed attributes are
|
||||
|
||||
* `creation_timestamp` -
|
||||
Creation timestamp in RFC3339 text format.
|
||||
|
||||
* `label_fingerprint` -
|
||||
The fingerprint used for optimistic locking of this resource. Used
|
||||
internally during updates. This property is in beta, and should be used with the terraform-provider-google-beta provider.
|
||||
See [Provider Versions](https://terraform.io/docs/providers/google/provider_versions.html) for more details on beta fields.
|
||||
* `self_link` - The URI of the created resource.
|
||||
|
||||
|
||||
@ -128,7 +96,6 @@ This resource provides the following
|
||||
[Timeouts](/docs/configuration/resources.html#timeouts) configuration options:
|
||||
|
||||
- `create` - Default is 4 minutes.
|
||||
- `update` - Default is 4 minutes.
|
||||
- `delete` - Default is 4 minutes.
|
||||
|
||||
## Import
|
||||
|
Loading…
Reference in New Issue
Block a user