From 304c0aa6cbbb3d061ce24ce34d50b0def7f1e700 Mon Sep 17 00:00:00 2001 From: Vincent Roseberry Date: Tue, 20 Feb 2018 12:40:02 -0800 Subject: [PATCH] Move method out of resource file to prepare for autogen (#1102) --- ...ce_google_compute_region_instance_group.go | 11 ++++ google/resource_compute_address.go | 61 ------------------- google/resource_compute_address_migrate.go | 61 +++++++++++++++++++ google/resource_compute_backend_service.go | 35 ----------- ...esource_compute_backend_service_migrate.go | 35 +++++++++++ google/resource_compute_instance_group.go | 12 ---- 6 files changed, 107 insertions(+), 108 deletions(-) diff --git a/google/data_source_google_compute_region_instance_group.go b/google/data_source_google_compute_region_instance_group.go index 826e79dc..381083bb 100644 --- a/google/data_source_google_compute_region_instance_group.go +++ b/google/data_source_google_compute_region_instance_group.go @@ -158,3 +158,14 @@ func flattenInstancesWithNamedPorts(insts []*compute.InstanceWithNamedPorts) []m } return result } + +func flattenNamedPorts(namedPorts []*compute.NamedPort) []map[string]interface{} { + result := make([]map[string]interface{}, 0, len(namedPorts)) + for _, namedPort := range namedPorts { + namedPortMap := make(map[string]interface{}) + namedPortMap["name"] = namedPort.Name + namedPortMap["port"] = namedPort.Port + result = append(result, namedPortMap) + } + return result +} diff --git a/google/resource_compute_address.go b/google/resource_compute_address.go index d3367330..0b36fb60 100644 --- a/google/resource_compute_address.go +++ b/google/resource_compute_address.go @@ -4,7 +4,6 @@ import ( "fmt" "regexp" - "strings" "github.com/hashicorp/terraform/helper/schema" "github.com/hashicorp/terraform/helper/validation" @@ -251,63 +250,3 @@ func resourceComputeAddressImportState(d *schema.ResourceData, meta interface{}) return []*schema.ResourceData{d}, nil } - -type computeAddressId struct { - Project string - Region string - Name string -} - -func (s computeAddressId) canonicalId() string { - return fmt.Sprintf(computeAddressIdTemplate, s.Project, s.Region, s.Name) -} - -func parseComputeAddressId(id string, config *Config) (*computeAddressId, error) { - var parts []string - if computeAddressLinkRegex.MatchString(id) { - parts = computeAddressLinkRegex.FindStringSubmatch(id) - - return &computeAddressId{ - Project: parts[1], - Region: parts[2], - Name: parts[3], - }, nil - } else { - parts = strings.Split(id, "/") - } - - if len(parts) == 3 { - return &computeAddressId{ - Project: parts[0], - Region: parts[1], - Name: parts[2], - }, nil - } else if len(parts) == 2 { - // Project is optional. - if config.Project == "" { - return nil, fmt.Errorf("The default project for the provider must be set when using the `{region}/{name}` id format.") - } - - return &computeAddressId{ - Project: config.Project, - Region: parts[0], - Name: parts[1], - }, nil - } else if len(parts) == 1 { - // Project and region is optional - if config.Project == "" { - return nil, fmt.Errorf("The default project for the provider must be set when using the `{name}` id format.") - } - if config.Region == "" { - return nil, fmt.Errorf("The default region for the provider must be set when using the `{name}` id format.") - } - - return &computeAddressId{ - Project: config.Project, - Region: config.Region, - Name: parts[0], - }, nil - } - - return nil, fmt.Errorf("Invalid compute address id. Expecting resource link, `{project}/{region}/{name}`, `{region}/{name}` or `{name}` format.") -} diff --git a/google/resource_compute_address_migrate.go b/google/resource_compute_address_migrate.go index a2a9da35..036ef194 100644 --- a/google/resource_compute_address_migrate.go +++ b/google/resource_compute_address_migrate.go @@ -4,6 +4,7 @@ import ( "fmt" "github.com/hashicorp/terraform/terraform" "log" + "strings" ) func resourceComputeAddressMigrateState(v int, is *terraform.InstanceState, meta interface{}) (*terraform.InstanceState, error) { @@ -46,3 +47,63 @@ func migrateComputeAddressV0toV1(is *terraform.InstanceState, meta interface{}) log.Printf("[DEBUG] ID after migration: %s", is.ID) return is, nil } + +type computeAddressId struct { + Project string + Region string + Name string +} + +func (s computeAddressId) canonicalId() string { + return fmt.Sprintf(computeAddressIdTemplate, s.Project, s.Region, s.Name) +} + +func parseComputeAddressId(id string, config *Config) (*computeAddressId, error) { + var parts []string + if computeAddressLinkRegex.MatchString(id) { + parts = computeAddressLinkRegex.FindStringSubmatch(id) + + return &computeAddressId{ + Project: parts[1], + Region: parts[2], + Name: parts[3], + }, nil + } else { + parts = strings.Split(id, "/") + } + + if len(parts) == 3 { + return &computeAddressId{ + Project: parts[0], + Region: parts[1], + Name: parts[2], + }, nil + } else if len(parts) == 2 { + // Project is optional. + if config.Project == "" { + return nil, fmt.Errorf("The default project for the provider must be set when using the `{region}/{name}` id format.") + } + + return &computeAddressId{ + Project: config.Project, + Region: parts[0], + Name: parts[1], + }, nil + } else if len(parts) == 1 { + // Project and region is optional + if config.Project == "" { + return nil, fmt.Errorf("The default project for the provider must be set when using the `{name}` id format.") + } + if config.Region == "" { + return nil, fmt.Errorf("The default region for the provider must be set when using the `{name}` id format.") + } + + return &computeAddressId{ + Project: config.Project, + Region: config.Region, + Name: parts[0], + }, nil + } + + return nil, fmt.Errorf("Invalid compute address id. Expecting resource link, `{project}/{region}/{name}`, `{region}/{name}` or `{name}` format.") +} diff --git a/google/resource_compute_backend_service.go b/google/resource_compute_backend_service.go index 512dc8e5..b1c0663e 100644 --- a/google/resource_compute_backend_service.go +++ b/google/resource_compute_backend_service.go @@ -1,13 +1,11 @@ package google import ( - "bytes" "crypto/sha256" "errors" "fmt" "log" - "github.com/hashicorp/terraform/helper/hashcode" "github.com/hashicorp/terraform/helper/schema" "google.golang.org/api/compute/v1" ) @@ -458,36 +456,3 @@ func expandBackendService(d *schema.ResourceData) (*compute.BackendService, erro return service, nil } - -func resourceGoogleComputeBackendServiceBackendHash(v interface{}) int { - if v == nil { - return 0 - } - - var buf bytes.Buffer - m := v.(map[string]interface{}) - - group, _ := getRelativePath(m["group"].(string)) - buf.WriteString(fmt.Sprintf("%s-", group)) - - if v, ok := m["balancing_mode"]; ok { - buf.WriteString(fmt.Sprintf("%s-", v.(string))) - } - if v, ok := m["capacity_scaler"]; ok { - buf.WriteString(fmt.Sprintf("%f-", v.(float64))) - } - if v, ok := m["description"]; ok { - buf.WriteString(fmt.Sprintf("%s-", v.(string))) - } - if v, ok := m["max_rate"]; ok { - buf.WriteString(fmt.Sprintf("%d-", int64(v.(int)))) - } - if v, ok := m["max_rate_per_instance"]; ok { - buf.WriteString(fmt.Sprintf("%f-", v.(float64))) - } - if v, ok := m["max_rate_per_instance"]; ok { - buf.WriteString(fmt.Sprintf("%f-", v.(float64))) - } - - return hashcode.String(buf.String()) -} diff --git a/google/resource_compute_backend_service_migrate.go b/google/resource_compute_backend_service_migrate.go index c43ad5e3..46dae521 100644 --- a/google/resource_compute_backend_service_migrate.go +++ b/google/resource_compute_backend_service_migrate.go @@ -6,6 +6,8 @@ import ( "strconv" "strings" + "bytes" + "github.com/hashicorp/terraform/helper/hashcode" "github.com/hashicorp/terraform/terraform" ) @@ -88,3 +90,36 @@ func migrateBackendServiceStateV0toV1(is *terraform.InstanceState) (*terraform.I log.Printf("[DEBUG] Attributes after migration: %#v", is.Attributes) return is, nil } + +func resourceGoogleComputeBackendServiceBackendHash(v interface{}) int { + if v == nil { + return 0 + } + + var buf bytes.Buffer + m := v.(map[string]interface{}) + + group, _ := getRelativePath(m["group"].(string)) + buf.WriteString(fmt.Sprintf("%s-", group)) + + if v, ok := m["balancing_mode"]; ok { + buf.WriteString(fmt.Sprintf("%s-", v.(string))) + } + if v, ok := m["capacity_scaler"]; ok { + buf.WriteString(fmt.Sprintf("%f-", v.(float64))) + } + if v, ok := m["description"]; ok { + buf.WriteString(fmt.Sprintf("%s-", v.(string))) + } + if v, ok := m["max_rate"]; ok { + buf.WriteString(fmt.Sprintf("%d-", int64(v.(int)))) + } + if v, ok := m["max_rate_per_instance"]; ok { + buf.WriteString(fmt.Sprintf("%f-", v.(float64))) + } + if v, ok := m["max_rate_per_instance"]; ok { + buf.WriteString(fmt.Sprintf("%f-", v.(float64))) + } + + return hashcode.String(buf.String()) +} diff --git a/google/resource_compute_instance_group.go b/google/resource_compute_instance_group.go index 70f10f41..dc529604 100644 --- a/google/resource_compute_instance_group.go +++ b/google/resource_compute_instance_group.go @@ -388,15 +388,3 @@ func resourceComputeInstanceGroupImportState(d *schema.ResourceData, meta interf return []*schema.ResourceData{d}, nil } - -func flattenNamedPorts(namedPorts []*compute.NamedPort) []map[string]interface{} { - result := make([]map[string]interface{}, 0, len(namedPorts)) - for _, namedPort := range namedPorts { - namedPortMap := make(map[string]interface{}) - namedPortMap["name"] = namedPort.Name - namedPortMap["port"] = namedPort.Port - result = append(result, namedPortMap) - } - return result - -}