Skip to content

Commit 1c69885

Browse files
Google APIscopybara-github
authored andcommitted
feat: add ResourcePolicyMember to google/iam/v1
PiperOrigin-RevId: 699258514
1 parent 092fc5e commit 1c69885

2 files changed

Lines changed: 81 additions & 2 deletions

File tree

google/iam/v1/BUILD.bazel

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
load("@rules_proto//proto:defs.bzl", "proto_library")
2-
31
##############################################################################
42
# Common
53
##############################################################################
@@ -26,6 +24,7 @@ load(
2624
"ruby_grpc_library",
2725
"ruby_proto_library",
2826
)
27+
load("@rules_proto//proto:defs.bzl", "proto_library")
2928

3029
# This is an API workspace, having public visibility by default makes perfect sense.
3130
package(default_visibility = ["//visibility:public"])
@@ -61,6 +60,14 @@ proto_library(
6160
],
6261
)
6362

63+
proto_library(
64+
name = "resource_policy_member_proto",
65+
srcs = ["resource_policy_member.proto"],
66+
deps = [
67+
"//google/api:field_behavior_proto",
68+
],
69+
)
70+
6471
proto_library_with_info(
6572
name = "iam_proto_with_info",
6673
deps = [
@@ -79,6 +86,13 @@ java_proto_library(
7986
],
8087
)
8188

89+
java_proto_library(
90+
name = "resource_policy_member_java_proto",
91+
deps = [
92+
":resource_policy_member_proto",
93+
],
94+
)
95+
8296
java_grpc_library(
8397
name = "iam_java_grpc",
8498
srcs = [":iam_policy_proto"],
@@ -107,9 +121,11 @@ go_proto_library(
107121
":iam_policy_proto",
108122
":options_proto",
109123
":policy_proto",
124+
":resource_policy_member_proto",
110125
],
111126
deps = [
112127
"//google/api:annotations_go_proto",
128+
"//google/api:field_behavior_go_proto",
113129
"//google/type:expr_go_proto",
114130
],
115131
)
@@ -154,6 +170,11 @@ cc_proto_library(
154170
deps = [":policy_proto"],
155171
)
156172

173+
cc_proto_library(
174+
name = "resource_policy_member_cc_proto",
175+
deps = [":resource_policy_member_proto"],
176+
)
177+
157178
cc_grpc_library(
158179
name = "iam_cc_grpc",
159180
srcs = [":iam_policy_proto"],
@@ -176,12 +197,18 @@ py_proto_library(
176197
deps = [":options_proto"],
177198
)
178199

200+
py_proto_library(
201+
name = "resource_policy_member_py_proto",
202+
deps = [":resource_policy_member_proto"],
203+
)
204+
179205
php_proto_library(
180206
name = "iam_php_proto",
181207
deps = [
182208
":iam_policy_proto",
183209
":options_proto",
184210
":policy_proto",
211+
":resource_policy_member_proto",
185212
],
186213
)
187214

@@ -197,6 +224,7 @@ ruby_proto_library(
197224
":iam_policy_proto",
198225
":options_proto",
199226
":policy_proto",
227+
":resource_policy_member_proto",
200228
"//google/iam/v1/logging:audit_data_proto",
201229
],
202230
)
@@ -240,6 +268,7 @@ csharp_proto_library(
240268
":iam_policy_proto",
241269
":options_proto",
242270
":policy_proto",
271+
":resource_policy_member_proto",
243272
"//google/iam/v1/logging:audit_data_proto",
244273
],
245274
)
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.iam.v1;
18+
19+
import "google/api/field_behavior.proto";
20+
21+
option csharp_namespace = "Google.Cloud.Iam.V1";
22+
option go_package = "cloud.google.com/go/iam/apiv1/iampb;iampb";
23+
option php_namespace = "Google\\Cloud\\Iam\\V1";
24+
option java_multiple_files = true;
25+
option java_outer_classname = "ResourcePolicyMemberProto";
26+
option java_package = "com.google.iam.v1";
27+
28+
// Output-only policy member strings of a Google Cloud resource's built-in
29+
// identity.
30+
message ResourcePolicyMember {
31+
// IAM policy binding member referring to a Google Cloud resource by
32+
// user-assigned name (https://google.aip.dev/122). If a resource is deleted
33+
// and recreated with the same name, the binding will be applicable to the new
34+
// resource.
35+
//
36+
// Example:
37+
// `principal://parametermanager.googleapis.com/projects/12345/name/locations/us-central1-a/parameters/my-parameter`
38+
string iam_policy_name_principal = 1
39+
[(google.api.field_behavior) = OUTPUT_ONLY];
40+
41+
// IAM policy binding member referring to a Google Cloud resource by
42+
// system-assigned unique identifier (https://google.aip.dev/148#uid). If a
43+
// resource is deleted and recreated with the same name, the binding will not
44+
// be applicable to the new resource
45+
//
46+
// Example:
47+
// `principal://parametermanager.googleapis.com/projects/12345/uid/locations/us-central1-a/parameters/a918fed5`
48+
string iam_policy_uid_principal = 2
49+
[(google.api.field_behavior) = OUTPUT_ONLY];
50+
}

0 commit comments

Comments
 (0)