Skip to content

Commit 95894b0

Browse files
authored
Add requested policy version to folder IAM GET (#4401)
* Add requested policy version to folder IAM GET * Add conditions test * Skip apigee failures in VCR
1 parent 6bff64b commit 95894b0

File tree

3 files changed

+20
-2
lines changed

3 files changed

+20
-2
lines changed

products/apigee/terraform.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ overrides: !ruby/object:Overrides::ResourceOverrides
2828
org_id: :ORG_ID
2929
billing_account: :BILLING_ACCT
3030
skip_docs: true
31+
# Resource creation race
32+
skip_vcr: true
3133
- !ruby/object:Provider::Terraform::Examples
3234
name: "apigee_organization_cloud_full"
3335
skip_test: true
@@ -43,6 +45,8 @@ overrides: !ruby/object:Overrides::ResourceOverrides
4345
billing_account: :BILLING_ACCT
4446
skip_docs: true
4547
min_version: beta
48+
# Resource creation race
49+
skip_vcr: true
4650

4751
custom_code: !ruby/object:Provider::Terraform::CustomCode
4852
custom_import: templates/terraform/custom_import/apigee_organization.go.erb

third_party/terraform/tests/resource_google_folder_iam_member_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,5 +153,16 @@ resource "google_folder_iam_member" "multiple" {
153153
member = "user:paddy@hashicorp.com"
154154
role = "roles/compute.instanceAdmin"
155155
}
156+
157+
resource "google_folder_iam_member" "condition" {
158+
folder = google_folder.acceptance.name
159+
member = "user:paddy@hashicorp.com"
160+
role = "roles/compute.instanceAdmin"
161+
condition {
162+
title = "expires_after_2019_12_31"
163+
description = "Expiring at midnight of 2019-12-31"
164+
expression = "request.time < timestamp(\"2020-01-01T00:00:00Z\")"
165+
}
166+
}
156167
`, org, fname)
157168
}

third_party/terraform/utils/iam_folder.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,11 @@ func v2BetaPolicyToV1(in *resourceManagerV2Beta1.Policy) (*cloudresourcemanager.
116116
// Retrieve the existing IAM Policy for a folder
117117
func getFolderIamPolicyByFolderName(folderName, userAgent string, config *Config) (*cloudresourcemanager.Policy, error) {
118118
p, err := config.NewResourceManagerV2Beta1Client(userAgent).Folders.GetIamPolicy(folderName,
119-
&resourceManagerV2Beta1.GetIamPolicyRequest{}).Do()
120-
119+
&resourceManagerV2Beta1.GetIamPolicyRequest{
120+
Options: &resourceManagerV2Beta1.GetPolicyOptions{
121+
RequestedPolicyVersion: iamPolicyVersion,
122+
},
123+
}).Do()
121124
if err != nil {
122125
return nil, errwrap.Wrapf(fmt.Sprintf("Error retrieving IAM policy for folder %q: {{err}}", folderName), err)
123126
}

0 commit comments

Comments
 (0)