diff --git a/google/validation.go b/google/validation.go index 2ce56d2edee..de3908fd4b3 100644 --- a/google/validation.go +++ b/google/validation.go @@ -29,7 +29,7 @@ const ( ComputeServiceAccountNameRegex = "[0-9]{1,20}-compute@developer.gserviceaccount.com" // https://cloud.google.com/iam/docs/understanding-custom-roles#naming_the_role - IAMCustomRoleIDRegex = "^[a-zA-Z0-9_\\.\\-]{1,30}$" + IAMCustomRoleIDRegex = "^[a-zA-Z0-9_\\.\\-]{1,64}$" ) var ( diff --git a/google/validation_test.go b/google/validation_test.go index e1373fdbff1..adb9394692a 100644 --- a/google/validation_test.go +++ b/google/validation_test.go @@ -325,7 +325,7 @@ func TestValidateIAMCustomRoleIDRegex(t *testing.T) { {TestName: "with numbers", Value: "foobar123"}, {TestName: "with capipals", Value: "FooBar"}, {TestName: "short", Value: "f"}, - {TestName: "long", Value: "foobarfoobarfoobarfoobarfoobar"}, + {TestName: "long", Value: strings.Repeat("f", 64)}, {TestName: "has a hyphen", Value: "foo-bar"}, {TestName: "has a dot", Value: "foo.bar"}, {TestName: "has an underscore", Value: "foo_bar"}, @@ -336,7 +336,7 @@ func TestValidateIAMCustomRoleIDRegex(t *testing.T) { {TestName: "has an slash", Value: "foo/bar", ExpectError: true}, {TestName: "has a dollar", Value: "foo$", ExpectError: true}, {TestName: "has a space", Value: "foo bar", ExpectError: true}, - {TestName: "too long", Value: strings.Repeat("f", 31), ExpectError: true}, + {TestName: "too long", Value: strings.Repeat("f", 65), ExpectError: true}, } es := testStringValidationCases(x, validateIAMCustomRoleID)