Skip to content

Commit 688fc61

Browse files
Add managed_private_network (#13379) (#22509)
[upstream:a11d542578debee1bc958d8634844e71a6b77da2] Signed-off-by: Modular Magician <[email protected]>
1 parent f47978f commit 688fc61

File tree

4 files changed

+23
-1
lines changed

4 files changed

+23
-1
lines changed

.changelog/13379.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
storagetransfer: added `transfer_spec.aws_s3_data_source.managed_private_network` field to `google_storage_transfer_job` resource
3+
```

google/services/storagetransfer/resource_storage_transfer_job.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -741,6 +741,11 @@ func awsS3DataSchema() *schema.Resource {
741741
ExactlyOneOf: awsS3AuthKeys,
742742
Description: `The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.`,
743743
},
744+
"managed_private_network": {
745+
Type: schema.TypeBool,
746+
Optional: true,
747+
Description: `Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.`,
748+
},
744749
},
745750
}
746751
}
@@ -1298,12 +1303,18 @@ func expandAwsS3Data(awsS3Datas []interface{}) *storagetransfer.AwsS3Data {
12981303
}
12991304

13001305
awsS3Data := awsS3Datas[0].(map[string]interface{})
1301-
return &storagetransfer.AwsS3Data{
1306+
result := &storagetransfer.AwsS3Data{
13021307
BucketName: awsS3Data["bucket_name"].(string),
13031308
AwsAccessKey: expandAwsAccessKeys(awsS3Data["aws_access_key"].([]interface{})),
13041309
RoleArn: awsS3Data["role_arn"].(string),
13051310
Path: awsS3Data["path"].(string),
13061311
}
1312+
1313+
if v, ok := awsS3Data["managed_private_network"]; ok {
1314+
result.ManagedPrivateNetwork = v.(bool)
1315+
}
1316+
1317+
return result
13071318
}
13081319

13091320
func flattenAwsS3Data(awsS3Data *storagetransfer.AwsS3Data, d *schema.ResourceData) []map[string]interface{} {
@@ -1315,6 +1326,11 @@ func flattenAwsS3Data(awsS3Data *storagetransfer.AwsS3Data, d *schema.ResourceDa
13151326
if _, exist := d.GetOk("transfer_spec.0.aws_s3_data_source.0.aws_access_key"); exist {
13161327
data["aws_access_key"] = flattenAwsAccessKeys(d)
13171328
}
1329+
1330+
if awsS3Data.ManagedPrivateNetwork {
1331+
data["managed_private_network"] = awsS3Data.ManagedPrivateNetwork
1332+
}
1333+
13181334
return []map[string]interface{}{data}
13191335
}
13201336

google/services/storagetransfer/resource_storage_transfer_job_meta.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ fields:
4545
- field: 'transfer_spec.aws_s3_data_source.aws_access_key.access_key_id'
4646
- field: 'transfer_spec.aws_s3_data_source.aws_access_key.secret_access_key'
4747
- field: 'transfer_spec.aws_s3_data_source.bucket_name'
48+
- field: 'transfer_spec.aws_s3_data_source.managed_private_network'
4849
- field: 'transfer_spec.aws_s3_data_source.path'
4950
- field: 'transfer_spec.aws_s3_data_source.role_arn'
5051
- field: 'transfer_spec.azure_blob_storage_data_source.azure_credentials.sas_token'

website/docs/r/storage_transfer_job.html.markdown

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,8 @@ A duration in seconds with up to nine fractional digits, terminated by 's'. Exam
260260

261261
* `role_arn` - (Optional) The Amazon Resource Name (ARN) of the role to support temporary credentials via 'AssumeRoleWithWebIdentity'. For more information about ARNs, see [IAM ARNs](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns). When a role ARN is provided, Transfer Service fetches temporary credentials for the session using a 'AssumeRoleWithWebIdentity' call for the provided role using the [GoogleServiceAccount][] for this project.
262262

263+
* `managed_private_network` - (Optional) Egress bytes over a Google-managed private network. This network is shared between other users of Storage Transfer Service.
264+
263265
The `aws_access_key` block supports:
264266

265267
* `access_key_id` - (Required) AWS Key ID.

0 commit comments

Comments
 (0)