Skip to content

Commit

Permalink
feat: Add Pub/Sub Subscription support for specifying a service accou…
Browse files Browse the repository at this point in the history
…nt (#10967) (#2403)

[upstream:4da96e02caa24f40576076da88ed0d9f1c37f349]

Signed-off-by: Modular Magician <magic-modules@google.com>
  • Loading branch information
modular-magician authored Jun 14, 2024
1 parent cfe36e7 commit ef789d6
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 3 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ require (
github.com/hashicorp/hcl/v2 v2.19.1
github.com/hashicorp/terraform-json v0.21.0
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20240614114530-27118ec9ebe0
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20240614145752-c9e7877bee60
github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/pkg/errors v0.9.1
github.com/stretchr/testify v1.9.0
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,8 @@ github.com/hashicorp/terraform-plugin-mux v0.15.0 h1:+/+lDx0WUsIOpkAmdwBIoFU8UP9
github.com/hashicorp/terraform-plugin-mux v0.15.0/go.mod h1:9ezplb1Dyq394zQ+ldB0nvy/qbNAz3mMoHHseMTMaKo=
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0 h1:qHprzXy/As0rxedphECBEQAh3R4yp6pKksKHcqZx5G8=
github.com/hashicorp/terraform-plugin-sdk/v2 v2.33.0/go.mod h1:H+8tjs9TjV2w57QFVSMBQacf8k/E1XwLXGCARgViC6A=
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20240614114530-27118ec9ebe0 h1:d5RJXpH5MAgfOC2vq4GfEZn6nHW2i9fzVmjyiOjnB1g=
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20240614114530-27118ec9ebe0/go.mod h1:qGTuIbb/eUvNzz6mdjRCOMedFoejBXIavNnhS3TAMbU=
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20240614145752-c9e7877bee60 h1:/BXebAwdH+pUJZZvzRl7gAwhXx3KhQnC6Y0aecxXrys=
github.com/hashicorp/terraform-provider-google-beta v1.20.1-0.20240614145752-c9e7877bee60/go.mod h1:qGTuIbb/eUvNzz6mdjRCOMedFoejBXIavNnhS3TAMbU=
github.com/hashicorp/terraform-registry-address v0.2.3 h1:2TAiKJ1A3MAkZlH1YI/aTVcLZRu7JseiXNRHbOAyoTI=
github.com/hashicorp/terraform-registry-address v0.2.3/go.mod h1:lFHA76T8jfQteVfT7caREqguFrW3c4MFSPhZB7HHgUM=
github.com/hashicorp/terraform-svchost v0.1.1 h1:EZZimZ1GxdqFRinZ1tpJwVxxt49xc/S52uzrw4x0jKQ=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,13 @@ func expandPubsubSubscriptionBigqueryConfig(v interface{}, d tpgresource.Terrafo
transformed["dropUnknownFields"] = transformedDropUnknownFields
}

transformedServiceAccountEmail, err := expandPubsubSubscriptionBigqueryConfigServiceAccountEmail(original["service_account_email"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedServiceAccountEmail); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["serviceAccountEmail"] = transformedServiceAccountEmail
}

return transformed, nil
}

Expand All @@ -263,6 +270,10 @@ func expandPubsubSubscriptionBigqueryConfigDropUnknownFields(v interface{}, d tp
return v, nil
}

func expandPubsubSubscriptionBigqueryConfigServiceAccountEmail(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandPubsubSubscriptionCloudStorageConfig(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
l := v.([]interface{})
if len(l) == 0 || l[0] == nil {
Expand Down Expand Up @@ -328,6 +339,13 @@ func expandPubsubSubscriptionCloudStorageConfig(v interface{}, d tpgresource.Ter
transformed["avroConfig"] = transformedAvroConfig
}

transformedServiceAccountEmail, err := expandPubsubSubscriptionCloudStorageConfigServiceAccountEmail(original["service_account_email"], d, config)
if err != nil {
return nil, err
} else if val := reflect.ValueOf(transformedServiceAccountEmail); val.IsValid() && !tpgresource.IsEmptyValue(val) {
transformed["serviceAccountEmail"] = transformedServiceAccountEmail
}

return transformed, nil
}

Expand Down Expand Up @@ -382,6 +400,10 @@ func expandPubsubSubscriptionCloudStorageConfigAvroConfigWriteMetadata(v interfa
return v, nil
}

func expandPubsubSubscriptionCloudStorageConfigServiceAccountEmail(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
return v, nil
}

func expandPubsubSubscriptionPushConfig(v interface{}, d tpgresource.TerraformResourceData, config *transport_tpg.Config) (interface{}, error) {
l := v.([]interface{})
if len(l) == 0 || l[0] == nil {
Expand Down

0 comments on commit ef789d6

Please sign in to comment.