Skip to content

Commit

Permalink
switch to use MultiEnvDefault (GoogleCloudPlatform#7644)
Browse files Browse the repository at this point in the history
  • Loading branch information
megan07 committed Apr 5, 2023
1 parent 8aa3cd8 commit 6210e57
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 19 deletions.
42 changes: 26 additions & 16 deletions mmv1/third_party/terraform/utils/config.go.erb
Original file line number Diff line number Diff line change
Expand Up @@ -265,54 +265,62 @@ var DefaultClientScopes = []string{
"https://www.googleapis.com/auth/userinfo.email",
}

func HandleSDKDefaults(d *schema.ResourceData) {
func HandleSDKDefaults(d *schema.ResourceData) error {
if d.Get("impersonate_service_account") == "" {
d.Set("impersonate_service_account", MultiEnvSearch([]string{
d.Set("impersonate_service_account", MultiEnvDefault([]string{
"GOOGLE_IMPERSONATE_SERVICE_ACCOUNT",
}))
}, nil))
}

if d.Get("project") == "" {
d.Set("project", MultiEnvSearch([]string{
d.Set("project", MultiEnvDefault([]string{
"GOOGLE_PROJECT",
"GOOGLE_CLOUD_PROJECT",
"GCLOUD_PROJECT",
"CLOUDSDK_CORE_PROJECT",
}))
}, nil))
}

if d.Get("billing_project") == "" {
d.Set("billing_project", MultiEnvSearch([]string{
d.Set("billing_project", MultiEnvDefault([]string{
"GOOGLE_BILLING_PROJECT",
}))
}, nil))
}

if d.Get("region") == "" {
d.Set("region", MultiEnvSearch([]string{
d.Set("region", MultiEnvDefault([]string{
"GOOGLE_REGION",
"GCLOUD_REGION",
"CLOUDSDK_COMPUTE_REGION",
}))
}, nil))
}

if d.Get("zone") == "" {
d.Set("zone", MultiEnvSearch([]string{
d.Set("zone", MultiEnvDefault([]string{
"GOOGLE_ZONE",
"GCLOUD_ZONE",
"CLOUDSDK_COMPUTE_ZONE",
}))
}, nil))
}

if d.Get("user_project_override") == "" {
d.Set("user_project_override", MultiEnvSearch([]string{
if _, ok := d.GetOkExists("user_project_override"); !ok {
override := MultiEnvDefault([]string{
"USER_PROJECT_OVERRIDE",
}))
}, nil)

if override != nil {
b, err := strconv.ParseBool(override.(string))
if err != nil {
return err
}
d.Set("user_project_override", b)
}
}

if d.Get("request_reason") == "" {
d.Set("request_reason", MultiEnvSearch([]string{
d.Set("request_reason", MultiEnvDefault([]string{
"CLOUDSDK_CORE_REQUEST_REASON",
}))
}, nil))
}

// Generated Products
Expand Down Expand Up @@ -397,6 +405,8 @@ func HandleSDKDefaults(d *schema.ResourceData) {
"GOOGLE_CONTAINERAZURE_CUSTOM_ENDPOINT",
}, DefaultBasePaths[ContainerAzureBasePathKey]))
}

return nil
}

func (c *Config) LoadAndValidate(ctx context.Context) error {
Expand Down
5 changes: 4 additions & 1 deletion mmv1/third_party/terraform/utils/provider.go.erb
Original file line number Diff line number Diff line change
Expand Up @@ -527,7 +527,10 @@ end # products.each do
}

func providerConfigure(ctx context.Context, d *schema.ResourceData, p *schema.Provider) (interface{}, diag.Diagnostics) {
HandleSDKDefaults(d)
err := HandleSDKDefaults(d)
if err != nil {
return nil, diag.FromErr(err)
}
HandleDCLCustomEndpointDefaults(d)

config := Config{
Expand Down
4 changes: 2 additions & 2 deletions tpgtools/templates/provider_dcl_endpoints.go.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ func HandleDCLCustomEndpointDefaults(d *schema.ResourceData) {
{{- range $index, $pkg := . }}
{{- if $pkg.ShouldWriteProductBasePath }}
if d.Get({{$pkg.BasePathIdentifier.ToTitle}}EndpointEntryKey) == "" {
d.Set({{$pkg.BasePathIdentifier.ToTitle}}EndpointEntryKey, MultiEnvSearch([]string{
d.Set({{$pkg.BasePathIdentifier.ToTitle}}EndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_{{$pkg.BasePathIdentifier.ToUpper}}_CUSTOM_ENDPOINT",
}))
}, ""))
}
{{- end}}
{{- end}}
Expand Down

0 comments on commit 6210e57

Please sign in to comment.