Make zone field consistent and truly optional for all resources (#914)

This commit is contained in:
Vincent Roseberry 2018-01-03 16:18:40 -05:00 committed by GitHub
parent 52462382c9
commit dab491d28d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 29 additions and 4 deletions

View File

@ -18,11 +18,13 @@ func dataSourceGoogleComputeInstanceGroup() *schema.Resource {
"zone": { "zone": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
}, },
"project": { "project": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
}, },
"description": { "description": {

View File

@ -33,6 +33,7 @@ func resourceBigtableInstance() *schema.Resource {
"zone": { "zone": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
@ -152,6 +153,11 @@ func resourceBigtableInstanceRead(d *schema.ResourceData, meta interface{}) erro
return err return err
} }
zone, err := getZone(d, config)
if err != nil {
return err
}
c, err := config.bigtableClientFactory.NewInstanceAdminClient(project) c, err := config.bigtableClientFactory.NewInstanceAdminClient(project)
if err != nil { if err != nil {
return fmt.Errorf("Error starting instance admin client. %s", err) return fmt.Errorf("Error starting instance admin client. %s", err)
@ -167,6 +173,7 @@ func resourceBigtableInstanceRead(d *schema.ResourceData, meta interface{}) erro
} }
d.Set("project", project) d.Set("project", project)
d.Set("zone", zone)
d.Set("name", instance.Name) d.Set("name", instance.Name)
d.Set("display_name", instance.DisplayName) d.Set("display_name", instance.DisplayName)

View File

@ -107,6 +107,7 @@ func resourceComputeAutoscaler() *schema.Resource {
"zone": &schema.Schema{ "zone": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },

View File

@ -46,6 +46,7 @@ func resourceComputeDisk() *schema.Resource {
"zone": &schema.Schema{ "zone": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
@ -306,12 +307,10 @@ func resourceComputeDiskRead(d *schema.ResourceData, meta interface{}) error {
disk = resource.(*compute.Disk) disk = resource.(*compute.Disk)
} }
zoneUrlParts := strings.Split(disk.Zone, "/")
typeUrlParts := strings.Split(disk.Type, "/")
d.Set("name", disk.Name) d.Set("name", disk.Name)
d.Set("self_link", disk.SelfLink) d.Set("self_link", disk.SelfLink)
d.Set("type", typeUrlParts[len(typeUrlParts)-1]) d.Set("type", GetResourceNameFromSelfLink(disk.Type))
d.Set("zone", zoneUrlParts[len(zoneUrlParts)-1]) d.Set("zone", GetResourceNameFromSelfLink(disk.Zone))
d.Set("size", disk.SizeGb) d.Set("size", disk.SizeGb)
d.Set("users", disk.Users) d.Set("users", disk.Users)
if disk.DiskEncryptionKey != nil && disk.DiskEncryptionKey.Sha256 != "" { if disk.DiskEncryptionKey != nil && disk.DiskEncryptionKey.Sha256 != "" {

View File

@ -251,6 +251,7 @@ func resourceComputeInstance() *schema.Resource {
"zone": &schema.Schema{ "zone": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
@ -861,6 +862,7 @@ func resourceComputeInstanceRead(d *schema.ResourceData, meta interface{}) error
d.Set("self_link", ConvertSelfLinkToV1(instance.SelfLink)) d.Set("self_link", ConvertSelfLinkToV1(instance.SelfLink))
d.Set("instance_id", fmt.Sprintf("%d", instance.Id)) d.Set("instance_id", fmt.Sprintf("%d", instance.Id))
d.Set("project", project) d.Set("project", project)
d.Set("zone", GetResourceNameFromSelfLink(instance.Zone))
d.Set("name", instance.Name) d.Set("name", instance.Name)
d.SetId(instance.Name) d.SetId(instance.Name)

View File

@ -34,6 +34,7 @@ func resourceComputeInstanceGroup() *schema.Resource {
"zone": { "zone": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
@ -240,6 +241,7 @@ func resourceComputeInstanceGroupRead(d *schema.ResourceData, meta interface{})
d.Set("network", instanceGroup.Network) d.Set("network", instanceGroup.Network)
d.Set("size", instanceGroup.Size) d.Set("size", instanceGroup.Size)
d.Set("project", project) d.Set("project", project)
d.Set("zone", zone)
d.Set("self_link", instanceGroup.SelfLink) d.Set("self_link", instanceGroup.SelfLink)
return nil return nil

View File

@ -48,6 +48,7 @@ func resourceComputeInstanceGroupManager() *schema.Resource {
"zone": &schema.Schema{ "zone": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },

View File

@ -27,6 +27,7 @@ func resourceComputeSnapshot() *schema.Resource {
"zone": &schema.Schema{ "zone": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
@ -160,6 +161,11 @@ func resourceComputeSnapshotRead(d *schema.ResourceData, meta interface{}) error
return err return err
} }
zone, err := getZone(d, config)
if err != nil {
return err
}
snapshot, err := config.clientCompute.Snapshots.Get( snapshot, err := config.clientCompute.Snapshots.Get(
project, d.Id()).Do() project, d.Id()).Do()
if err != nil { if err != nil {
@ -181,6 +187,7 @@ func resourceComputeSnapshotRead(d *schema.ResourceData, meta interface{}) error
d.Set("labels", snapshot.Labels) d.Set("labels", snapshot.Labels)
d.Set("label_fingerprint", snapshot.LabelFingerprint) d.Set("label_fingerprint", snapshot.LabelFingerprint)
d.Set("project", project) d.Set("project", project)
d.Set("zone", zone)
return nil return nil
} }

View File

@ -69,6 +69,7 @@ func resourceContainerCluster() *schema.Resource {
"zone": { "zone": {
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
@ -622,6 +623,7 @@ func resourceContainerClusterRead(d *schema.ResourceData, meta interface{}) erro
d.Set("network", cluster.Network) d.Set("network", cluster.Network)
d.Set("subnetwork", cluster.Subnetwork) d.Set("subnetwork", cluster.Subnetwork)
d.Set("node_config", flattenNodeConfig(cluster.NodeConfig)) d.Set("node_config", flattenNodeConfig(cluster.NodeConfig))
d.Set("zone", zoneName)
d.Set("project", project) d.Set("project", project)
if cluster.AddonsConfig != nil { if cluster.AddonsConfig != nil {
d.Set("addons_config", flattenClusterAddonsConfig(cluster.AddonsConfig)) d.Set("addons_config", flattenClusterAddonsConfig(cluster.AddonsConfig))

View File

@ -45,6 +45,7 @@ func resourceContainerNodePool() *schema.Resource {
"zone": &schema.Schema{ "zone": &schema.Schema{
Type: schema.TypeString, Type: schema.TypeString,
Optional: true, Optional: true,
Computed: true,
ForceNew: true, ForceNew: true,
}, },
"cluster": &schema.Schema{ "cluster": &schema.Schema{
@ -205,6 +206,7 @@ func resourceContainerNodePoolRead(d *schema.ResourceData, meta interface{}) err
d.Set(k, v) d.Set(k, v)
} }
d.Set("zone", zone)
d.Set("project", project) d.Set("project", project)
return nil return nil