stop generating beta resources/fields (#2242)

<!-- This change is generated by MagicModules. -->
/cc @danawillow
This commit is contained in:
The Magician 2018-10-12 09:55:14 -07:00 committed by Nathan McKinley
parent ba001b386b
commit 586f1e98c3
11 changed files with 29 additions and 671 deletions

View File

@ -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 {

View File

@ -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
}

View File

@ -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 {

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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