Skip to content

Commit

Permalink
switch to use MultiEnvDefault (#7644) (#14238)
Browse files Browse the repository at this point in the history
Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Apr 5, 2023
1 parent 9f00a27 commit 651c1bc
Show file tree
Hide file tree
Showing 4 changed files with 53 additions and 37 deletions.
3 changes: 3 additions & 0 deletions .changelog/7644.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
```release-note:bug
provider: fixed an issue where the `USER_PROJECT_OVERRIDE` environment variable was not being read
```
42 changes: 26 additions & 16 deletions google/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -486,54 +486,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 @@ -1033,6 +1041,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 google/provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -1321,7 +1321,10 @@ func ResourceMapWithErrors() (map[string]*schema.Resource, error) {
}

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
40 changes: 20 additions & 20 deletions google/provider_dcl_endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -112,54 +112,54 @@ func ConfigureDCLProvider(provider *schema.Provider) {

func HandleDCLCustomEndpointDefaults(d *schema.ResourceData) {
if d.Get(ApikeysEndpointEntryKey) == "" {
d.Set(ApikeysEndpointEntryKey, MultiEnvSearch([]string{
d.Set(ApikeysEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_APIKEYS_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(AssuredWorkloadsEndpointEntryKey) == "" {
d.Set(AssuredWorkloadsEndpointEntryKey, MultiEnvSearch([]string{
d.Set(AssuredWorkloadsEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_ASSURED_WORKLOADS_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(CloudBuildWorkerPoolEndpointEntryKey) == "" {
d.Set(CloudBuildWorkerPoolEndpointEntryKey, MultiEnvSearch([]string{
d.Set(CloudBuildWorkerPoolEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_CLOUD_BUILD_WORKER_POOL_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(ClouddeployEndpointEntryKey) == "" {
d.Set(ClouddeployEndpointEntryKey, MultiEnvSearch([]string{
d.Set(ClouddeployEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_CLOUDDEPLOY_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(CloudResourceManagerEndpointEntryKey) == "" {
d.Set(CloudResourceManagerEndpointEntryKey, MultiEnvSearch([]string{
d.Set(CloudResourceManagerEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_CLOUD_RESOURCE_MANAGER_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(EventarcEndpointEntryKey) == "" {
d.Set(EventarcEndpointEntryKey, MultiEnvSearch([]string{
d.Set(EventarcEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_EVENTARC_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(FirebaserulesEndpointEntryKey) == "" {
d.Set(FirebaserulesEndpointEntryKey, MultiEnvSearch([]string{
d.Set(FirebaserulesEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_FIREBASERULES_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(NetworkConnectivityEndpointEntryKey) == "" {
d.Set(NetworkConnectivityEndpointEntryKey, MultiEnvSearch([]string{
d.Set(NetworkConnectivityEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_NETWORK_CONNECTIVITY_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(OrgPolicyEndpointEntryKey) == "" {
d.Set(OrgPolicyEndpointEntryKey, MultiEnvSearch([]string{
d.Set(OrgPolicyEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_ORG_POLICY_CUSTOM_ENDPOINT",
}))
}, ""))
}
if d.Get(RecaptchaEnterpriseEndpointEntryKey) == "" {
d.Set(RecaptchaEnterpriseEndpointEntryKey, MultiEnvSearch([]string{
d.Set(RecaptchaEnterpriseEndpointEntryKey, MultiEnvDefault([]string{
"GOOGLE_RECAPTCHA_ENTERPRISE_CUSTOM_ENDPOINT",
}))
}, ""))
}
}

Expand Down

0 comments on commit 651c1bc

Please sign in to comment.