google-cloud-spanner-admin-instance-v1 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +169 -0
- data/LICENSE.md +203 -0
- data/README.md +75 -0
- data/lib/google-cloud-spanner-admin-instance-v1.rb +21 -0
- data/lib/google/cloud/spanner/admin/instance/v1.rb +39 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin.rb +74 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/client.rb +1291 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/credentials.rb +56 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/operations.rb +574 -0
- data/lib/google/cloud/spanner/admin/instance/v1/instance_admin/paths.rb +85 -0
- data/lib/google/cloud/spanner/admin/instance/v1/version.rb +32 -0
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_pb.rb +128 -0
- data/lib/google/spanner/admin/instance/v1/spanner_instance_admin_services_pb.rb +182 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/field_behavior.rb +59 -0
- data/proto_docs/google/api/resource.rb +247 -0
- data/proto_docs/google/iam/v1/iam_policy.rb +80 -0
- data/proto_docs/google/iam/v1/options.rb +40 -0
- data/proto_docs/google/iam/v1/policy.rb +248 -0
- data/proto_docs/google/longrunning/operations.rb +150 -0
- data/proto_docs/google/protobuf/any.rb +138 -0
- data/proto_docs/google/protobuf/empty.rb +36 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +120 -0
- data/proto_docs/google/rpc/status.rb +46 -0
- data/proto_docs/google/spanner/admin/instance/v1/spanner_instance_admin.rb +391 -0
- data/proto_docs/google/type/expr.rb +52 -0
- metadata +231 -0
@@ -0,0 +1,247 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Api
|
22
|
+
# A simple descriptor of a resource type.
|
23
|
+
#
|
24
|
+
# ResourceDescriptor annotates a resource message (either by means of a
|
25
|
+
# protobuf annotation or use in the service config), and associates the
|
26
|
+
# resource's schema, the resource type, and the pattern of the resource name.
|
27
|
+
#
|
28
|
+
# Example:
|
29
|
+
#
|
30
|
+
# message Topic {
|
31
|
+
# // Indicates this message defines a resource schema.
|
32
|
+
# // Declares the resource type in the format of {service}/{kind}.
|
33
|
+
# // For Kubernetes resources, the format is {api group}/{kind}.
|
34
|
+
# option (google.api.resource) = {
|
35
|
+
# type: "pubsub.googleapis.com/Topic"
|
36
|
+
# name_descriptor: {
|
37
|
+
# pattern: "projects/{project}/topics/{topic}"
|
38
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
39
|
+
# parent_name_extractor: "projects/{project}"
|
40
|
+
# }
|
41
|
+
# };
|
42
|
+
# }
|
43
|
+
#
|
44
|
+
# The ResourceDescriptor Yaml config will look like:
|
45
|
+
#
|
46
|
+
# resources:
|
47
|
+
# - type: "pubsub.googleapis.com/Topic"
|
48
|
+
# name_descriptor:
|
49
|
+
# - pattern: "projects/\\{project}/topics/\\{topic}"
|
50
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
51
|
+
# parent_name_extractor: "projects/\\{project}"
|
52
|
+
#
|
53
|
+
# Sometimes, resources have multiple patterns, typically because they can
|
54
|
+
# live under multiple parents.
|
55
|
+
#
|
56
|
+
# Example:
|
57
|
+
#
|
58
|
+
# message LogEntry {
|
59
|
+
# option (google.api.resource) = {
|
60
|
+
# type: "logging.googleapis.com/LogEntry"
|
61
|
+
# name_descriptor: {
|
62
|
+
# pattern: "projects/{project}/logs/{log}"
|
63
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
64
|
+
# parent_name_extractor: "projects/{project}"
|
65
|
+
# }
|
66
|
+
# name_descriptor: {
|
67
|
+
# pattern: "folders/{folder}/logs/{log}"
|
68
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
69
|
+
# parent_name_extractor: "folders/{folder}"
|
70
|
+
# }
|
71
|
+
# name_descriptor: {
|
72
|
+
# pattern: "organizations/{organization}/logs/{log}"
|
73
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
74
|
+
# parent_name_extractor: "organizations/{organization}"
|
75
|
+
# }
|
76
|
+
# name_descriptor: {
|
77
|
+
# pattern: "billingAccounts/{billing_account}/logs/{log}"
|
78
|
+
# parent_type: "billing.googleapis.com/BillingAccount"
|
79
|
+
# parent_name_extractor: "billingAccounts/{billing_account}"
|
80
|
+
# }
|
81
|
+
# };
|
82
|
+
# }
|
83
|
+
#
|
84
|
+
# The ResourceDescriptor Yaml config will look like:
|
85
|
+
#
|
86
|
+
# resources:
|
87
|
+
# - type: 'logging.googleapis.com/LogEntry'
|
88
|
+
# name_descriptor:
|
89
|
+
# - pattern: "projects/{project}/logs/{log}"
|
90
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
91
|
+
# parent_name_extractor: "projects/{project}"
|
92
|
+
# - pattern: "folders/{folder}/logs/{log}"
|
93
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
94
|
+
# parent_name_extractor: "folders/{folder}"
|
95
|
+
# - pattern: "organizations/{organization}/logs/{log}"
|
96
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Organization"
|
97
|
+
# parent_name_extractor: "organizations/{organization}"
|
98
|
+
# - pattern: "billingAccounts/{billing_account}/logs/{log}"
|
99
|
+
# parent_type: "billing.googleapis.com/BillingAccount"
|
100
|
+
# parent_name_extractor: "billingAccounts/{billing_account}"
|
101
|
+
#
|
102
|
+
# For flexible resources, the resource name doesn't contain parent names, but
|
103
|
+
# the resource itself has parents for policy evaluation.
|
104
|
+
#
|
105
|
+
# Example:
|
106
|
+
#
|
107
|
+
# message Shelf {
|
108
|
+
# option (google.api.resource) = {
|
109
|
+
# type: "library.googleapis.com/Shelf"
|
110
|
+
# name_descriptor: {
|
111
|
+
# pattern: "shelves/{shelf}"
|
112
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
113
|
+
# }
|
114
|
+
# name_descriptor: {
|
115
|
+
# pattern: "shelves/{shelf}"
|
116
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
117
|
+
# }
|
118
|
+
# };
|
119
|
+
# }
|
120
|
+
#
|
121
|
+
# The ResourceDescriptor Yaml config will look like:
|
122
|
+
#
|
123
|
+
# resources:
|
124
|
+
# - type: 'library.googleapis.com/Shelf'
|
125
|
+
# name_descriptor:
|
126
|
+
# - pattern: "shelves/{shelf}"
|
127
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Project"
|
128
|
+
# - pattern: "shelves/{shelf}"
|
129
|
+
# parent_type: "cloudresourcemanager.googleapis.com/Folder"
|
130
|
+
# @!attribute [rw] type
|
131
|
+
# @return [::String]
|
132
|
+
# The resource type. It must be in the format of
|
133
|
+
# \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
|
134
|
+
# singular and must not include version numbers.
|
135
|
+
#
|
136
|
+
# Example: `storage.googleapis.com/Bucket`
|
137
|
+
#
|
138
|
+
# The value of the resource_type_kind must follow the regular expression
|
139
|
+
# /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
|
140
|
+
# should use PascalCase (UpperCamelCase). The maximum number of
|
141
|
+
# characters allowed for the `resource_type_kind` is 100.
|
142
|
+
# @!attribute [rw] pattern
|
143
|
+
# @return [::Array<::String>]
|
144
|
+
# Optional. The relative resource name pattern associated with this resource
|
145
|
+
# type. The DNS prefix of the full resource name shouldn't be specified here.
|
146
|
+
#
|
147
|
+
# The path pattern must follow the syntax, which aligns with HTTP binding
|
148
|
+
# syntax:
|
149
|
+
#
|
150
|
+
# Template = Segment { "/" Segment } ;
|
151
|
+
# Segment = LITERAL | Variable ;
|
152
|
+
# Variable = "{" LITERAL "}" ;
|
153
|
+
#
|
154
|
+
# Examples:
|
155
|
+
#
|
156
|
+
# - "projects/\\{project}/topics/\\{topic}"
|
157
|
+
# - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
|
158
|
+
#
|
159
|
+
# The components in braces correspond to the IDs for each resource in the
|
160
|
+
# hierarchy. It is expected that, if multiple patterns are provided,
|
161
|
+
# the same component name (e.g. "project") refers to IDs of the same
|
162
|
+
# type of resource.
|
163
|
+
# @!attribute [rw] name_field
|
164
|
+
# @return [::String]
|
165
|
+
# Optional. The field on the resource that designates the resource name
|
166
|
+
# field. If omitted, this is assumed to be "name".
|
167
|
+
# @!attribute [rw] history
|
168
|
+
# @return [::Google::Api::ResourceDescriptor::History]
|
169
|
+
# Optional. The historical or future-looking state of the resource pattern.
|
170
|
+
#
|
171
|
+
# Example:
|
172
|
+
#
|
173
|
+
# // The InspectTemplate message originally only supported resource
|
174
|
+
# // names with organization, and project was added later.
|
175
|
+
# message InspectTemplate {
|
176
|
+
# option (google.api.resource) = {
|
177
|
+
# type: "dlp.googleapis.com/InspectTemplate"
|
178
|
+
# pattern:
|
179
|
+
# "organizations/{organization}/inspectTemplates/{inspect_template}"
|
180
|
+
# pattern: "projects/{project}/inspectTemplates/{inspect_template}"
|
181
|
+
# history: ORIGINALLY_SINGLE_PATTERN
|
182
|
+
# };
|
183
|
+
# }
|
184
|
+
# @!attribute [rw] plural
|
185
|
+
# @return [::String]
|
186
|
+
# The plural name used in the resource name, such as 'projects' for
|
187
|
+
# the name of 'projects/\\{project}'. It is the same concept of the `plural`
|
188
|
+
# field in k8s CRD spec
|
189
|
+
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
190
|
+
# @!attribute [rw] singular
|
191
|
+
# @return [::String]
|
192
|
+
# The same concept of the `singular` field in k8s CRD spec
|
193
|
+
# https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
|
194
|
+
# Such as "project" for the `resourcemanager.googleapis.com/Project` type.
|
195
|
+
class ResourceDescriptor
|
196
|
+
include ::Google::Protobuf::MessageExts
|
197
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
198
|
+
|
199
|
+
# A description of the historical or future-looking state of the
|
200
|
+
# resource pattern.
|
201
|
+
module History
|
202
|
+
# The "unset" value.
|
203
|
+
HISTORY_UNSPECIFIED = 0
|
204
|
+
|
205
|
+
# The resource originally had one pattern and launched as such, and
|
206
|
+
# additional patterns were added later.
|
207
|
+
ORIGINALLY_SINGLE_PATTERN = 1
|
208
|
+
|
209
|
+
# The resource has one pattern, but the API owner expects to add more
|
210
|
+
# later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
|
211
|
+
# that from being necessary once there are multiple patterns.)
|
212
|
+
FUTURE_MULTI_PATTERN = 2
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
# Defines a proto annotation that describes a string field that refers to
|
217
|
+
# an API resource.
|
218
|
+
# @!attribute [rw] type
|
219
|
+
# @return [::String]
|
220
|
+
# The resource type that the annotated field references.
|
221
|
+
#
|
222
|
+
# Example:
|
223
|
+
#
|
224
|
+
# message Subscription {
|
225
|
+
# string topic = 2 [(google.api.resource_reference) = {
|
226
|
+
# type: "pubsub.googleapis.com/Topic"
|
227
|
+
# }];
|
228
|
+
# }
|
229
|
+
# @!attribute [rw] child_type
|
230
|
+
# @return [::String]
|
231
|
+
# The resource type of a child collection that the annotated field
|
232
|
+
# references. This is useful for annotating the `parent` field that
|
233
|
+
# doesn't have a fixed resource type.
|
234
|
+
#
|
235
|
+
# Example:
|
236
|
+
#
|
237
|
+
# message ListLogEntriesRequest {
|
238
|
+
# string parent = 1 [(google.api.resource_reference) = {
|
239
|
+
# child_type: "logging.googleapis.com/LogEntry"
|
240
|
+
# };
|
241
|
+
# }
|
242
|
+
class ResourceReference
|
243
|
+
include ::Google::Protobuf::MessageExts
|
244
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
245
|
+
end
|
246
|
+
end
|
247
|
+
end
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Iam
|
22
|
+
module V1
|
23
|
+
# Request message for `SetIamPolicy` method.
|
24
|
+
# @!attribute [rw] resource
|
25
|
+
# @return [::String]
|
26
|
+
# REQUIRED: The resource for which the policy is being specified.
|
27
|
+
# See the operation documentation for the appropriate value for this field.
|
28
|
+
# @!attribute [rw] policy
|
29
|
+
# @return [::Google::Iam::V1::Policy]
|
30
|
+
# REQUIRED: The complete policy to be applied to the `resource`. The size of
|
31
|
+
# the policy is limited to a few 10s of KB. An empty policy is a
|
32
|
+
# valid policy but certain Cloud Platform services (such as Projects)
|
33
|
+
# might reject them.
|
34
|
+
class SetIamPolicyRequest
|
35
|
+
include ::Google::Protobuf::MessageExts
|
36
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
37
|
+
end
|
38
|
+
|
39
|
+
# Request message for `GetIamPolicy` method.
|
40
|
+
# @!attribute [rw] resource
|
41
|
+
# @return [::String]
|
42
|
+
# REQUIRED: The resource for which the policy is being requested.
|
43
|
+
# See the operation documentation for the appropriate value for this field.
|
44
|
+
# @!attribute [rw] options
|
45
|
+
# @return [::Google::Iam::V1::GetPolicyOptions]
|
46
|
+
# OPTIONAL: A `GetPolicyOptions` object for specifying options to
|
47
|
+
# `GetIamPolicy`. This field is only used by Cloud IAM.
|
48
|
+
class GetIamPolicyRequest
|
49
|
+
include ::Google::Protobuf::MessageExts
|
50
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
51
|
+
end
|
52
|
+
|
53
|
+
# Request message for `TestIamPermissions` method.
|
54
|
+
# @!attribute [rw] resource
|
55
|
+
# @return [::String]
|
56
|
+
# REQUIRED: The resource for which the policy detail is being requested.
|
57
|
+
# See the operation documentation for the appropriate value for this field.
|
58
|
+
# @!attribute [rw] permissions
|
59
|
+
# @return [::Array<::String>]
|
60
|
+
# The set of permissions to check for the `resource`. Permissions with
|
61
|
+
# wildcards (such as '*' or 'storage.*') are not allowed. For more
|
62
|
+
# information see
|
63
|
+
# [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
|
64
|
+
class TestIamPermissionsRequest
|
65
|
+
include ::Google::Protobuf::MessageExts
|
66
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
67
|
+
end
|
68
|
+
|
69
|
+
# Response message for `TestIamPermissions` method.
|
70
|
+
# @!attribute [rw] permissions
|
71
|
+
# @return [::Array<::String>]
|
72
|
+
# A subset of `TestPermissionsRequest.permissions` that the caller is
|
73
|
+
# allowed.
|
74
|
+
class TestIamPermissionsResponse
|
75
|
+
include ::Google::Protobuf::MessageExts
|
76
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Iam
|
22
|
+
module V1
|
23
|
+
# Encapsulates settings provided to GetIamPolicy.
|
24
|
+
# @!attribute [rw] requested_policy_version
|
25
|
+
# @return [::Integer]
|
26
|
+
# Optional. The policy format version to be returned.
|
27
|
+
#
|
28
|
+
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
29
|
+
# rejected.
|
30
|
+
#
|
31
|
+
# Requests for policies with any conditional bindings must specify version 3.
|
32
|
+
# Policies without any conditional bindings may specify any valid value or
|
33
|
+
# leave the field unset.
|
34
|
+
class GetPolicyOptions
|
35
|
+
include ::Google::Protobuf::MessageExts
|
36
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,248 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2020 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Iam
|
22
|
+
module V1
|
23
|
+
# Defines an Identity and Access Management (IAM) policy. It is used to
|
24
|
+
# specify access control policies for Cloud Platform resources.
|
25
|
+
#
|
26
|
+
#
|
27
|
+
# A `Policy` is a collection of `bindings`. A `binding` binds one or more
|
28
|
+
# `members` to a single `role`. Members can be user accounts, service accounts,
|
29
|
+
# Google groups, and domains (such as G Suite). A `role` is a named list of
|
30
|
+
# permissions (defined by IAM or configured by users). A `binding` can
|
31
|
+
# optionally specify a `condition`, which is a logic expression that further
|
32
|
+
# constrains the role binding based on attributes about the request and/or
|
33
|
+
# target resource.
|
34
|
+
#
|
35
|
+
# **JSON Example**
|
36
|
+
#
|
37
|
+
# {
|
38
|
+
# "bindings": [
|
39
|
+
# {
|
40
|
+
# "role": "roles/resourcemanager.organizationAdmin",
|
41
|
+
# "members": [
|
42
|
+
# "user:mike@example.com",
|
43
|
+
# "group:admins@example.com",
|
44
|
+
# "domain:google.com",
|
45
|
+
# "serviceAccount:my-project-id@appspot.gserviceaccount.com"
|
46
|
+
# ]
|
47
|
+
# },
|
48
|
+
# {
|
49
|
+
# "role": "roles/resourcemanager.organizationViewer",
|
50
|
+
# "members": ["user:eve@example.com"],
|
51
|
+
# "condition": {
|
52
|
+
# "title": "expirable access",
|
53
|
+
# "description": "Does not grant access after Sep 2020",
|
54
|
+
# "expression": "request.time <
|
55
|
+
# timestamp('2020-10-01T00:00:00.000Z')",
|
56
|
+
# }
|
57
|
+
# }
|
58
|
+
# ]
|
59
|
+
# }
|
60
|
+
#
|
61
|
+
# **YAML Example**
|
62
|
+
#
|
63
|
+
# bindings:
|
64
|
+
# - members:
|
65
|
+
# - user:mike@example.com
|
66
|
+
# - group:admins@example.com
|
67
|
+
# - domain:google.com
|
68
|
+
# - serviceAccount:my-project-id@appspot.gserviceaccount.com
|
69
|
+
# role: roles/resourcemanager.organizationAdmin
|
70
|
+
# - members:
|
71
|
+
# - user:eve@example.com
|
72
|
+
# role: roles/resourcemanager.organizationViewer
|
73
|
+
# condition:
|
74
|
+
# title: expirable access
|
75
|
+
# description: Does not grant access after Sep 2020
|
76
|
+
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
|
77
|
+
#
|
78
|
+
# For a description of IAM and its features, see the
|
79
|
+
# [IAM developer's guide](https://cloud.google.com/iam/docs).
|
80
|
+
# @!attribute [rw] version
|
81
|
+
# @return [::Integer]
|
82
|
+
# Specifies the format of the policy.
|
83
|
+
#
|
84
|
+
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
85
|
+
# rejected.
|
86
|
+
#
|
87
|
+
# Operations affecting conditional bindings must specify version 3. This can
|
88
|
+
# be either setting a conditional policy, modifying a conditional binding,
|
89
|
+
# or removing a binding (conditional or unconditional) from the stored
|
90
|
+
# conditional policy.
|
91
|
+
# Operations on non-conditional policies may specify any valid value or
|
92
|
+
# leave the field unset.
|
93
|
+
#
|
94
|
+
# If no etag is provided in the call to `setIamPolicy`, version compliance
|
95
|
+
# checks against the stored policy is skipped.
|
96
|
+
# @!attribute [rw] bindings
|
97
|
+
# @return [::Array<::Google::Iam::V1::Binding>]
|
98
|
+
# Associates a list of `members` to a `role`. Optionally may specify a
|
99
|
+
# `condition` that determines when binding is in effect.
|
100
|
+
# `bindings` with no members will result in an error.
|
101
|
+
# @!attribute [rw] etag
|
102
|
+
# @return [::String]
|
103
|
+
# `etag` is used for optimistic concurrency control as a way to help
|
104
|
+
# prevent simultaneous updates of a policy from overwriting each other.
|
105
|
+
# It is strongly suggested that systems make use of the `etag` in the
|
106
|
+
# read-modify-write cycle to perform policy updates in order to avoid race
|
107
|
+
# conditions: An `etag` is returned in the response to `getIamPolicy`, and
|
108
|
+
# systems are expected to put that etag in the request to `setIamPolicy` to
|
109
|
+
# ensure that their change will be applied to the same version of the policy.
|
110
|
+
#
|
111
|
+
# If no `etag` is provided in the call to `setIamPolicy`, then the existing
|
112
|
+
# policy is overwritten. Due to blind-set semantics of an etag-less policy,
|
113
|
+
# 'setIamPolicy' will not fail even if the incoming policy version does not
|
114
|
+
# meet the requirements for modifying the stored policy.
|
115
|
+
class Policy
|
116
|
+
include ::Google::Protobuf::MessageExts
|
117
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
118
|
+
end
|
119
|
+
|
120
|
+
# Associates `members` with a `role`.
|
121
|
+
# @!attribute [rw] role
|
122
|
+
# @return [::String]
|
123
|
+
# Role that is assigned to `members`.
|
124
|
+
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
125
|
+
# @!attribute [rw] members
|
126
|
+
# @return [::Array<::String>]
|
127
|
+
# Specifies the identities requesting access for a Cloud Platform resource.
|
128
|
+
# `members` can have the following values:
|
129
|
+
#
|
130
|
+
# * `allUsers`: A special identifier that represents anyone who is
|
131
|
+
# on the internet; with or without a Google account.
|
132
|
+
#
|
133
|
+
# * `allAuthenticatedUsers`: A special identifier that represents anyone
|
134
|
+
# who is authenticated with a Google account or a service account.
|
135
|
+
#
|
136
|
+
# * `user:{emailid}`: An email address that represents a specific Google
|
137
|
+
# account. For example, `alice@example.com` .
|
138
|
+
#
|
139
|
+
#
|
140
|
+
# * `serviceAccount:{emailid}`: An email address that represents a service
|
141
|
+
# account. For example, `my-other-app@appspot.gserviceaccount.com`.
|
142
|
+
#
|
143
|
+
# * `group:{emailid}`: An email address that represents a Google group.
|
144
|
+
# For example, `admins@example.com`.
|
145
|
+
#
|
146
|
+
#
|
147
|
+
# * `domain:{domain}`: The G Suite domain (primary) that represents all the
|
148
|
+
# users of that domain. For example, `google.com` or `example.com`.
|
149
|
+
# @!attribute [rw] condition
|
150
|
+
# @return [::Google::Type::Expr]
|
151
|
+
# The condition that is associated with this binding.
|
152
|
+
# NOTE: An unsatisfied condition will not allow user access via current
|
153
|
+
# binding. Different bindings, including their conditions, are examined
|
154
|
+
# independently.
|
155
|
+
class Binding
|
156
|
+
include ::Google::Protobuf::MessageExts
|
157
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
158
|
+
end
|
159
|
+
|
160
|
+
# The difference delta between two policies.
|
161
|
+
# @!attribute [rw] binding_deltas
|
162
|
+
# @return [::Array<::Google::Iam::V1::BindingDelta>]
|
163
|
+
# The delta for Bindings between two policies.
|
164
|
+
# @!attribute [rw] audit_config_deltas
|
165
|
+
# @return [::Array<::Google::Iam::V1::AuditConfigDelta>]
|
166
|
+
# The delta for AuditConfigs between two policies.
|
167
|
+
class PolicyDelta
|
168
|
+
include ::Google::Protobuf::MessageExts
|
169
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
170
|
+
end
|
171
|
+
|
172
|
+
# One delta entry for Binding. Each individual change (only one member in each
|
173
|
+
# entry) to a binding will be a separate entry.
|
174
|
+
# @!attribute [rw] action
|
175
|
+
# @return [::Google::Iam::V1::BindingDelta::Action]
|
176
|
+
# The action that was performed on a Binding.
|
177
|
+
# Required
|
178
|
+
# @!attribute [rw] role
|
179
|
+
# @return [::String]
|
180
|
+
# Role that is assigned to `members`.
|
181
|
+
# For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
|
182
|
+
# Required
|
183
|
+
# @!attribute [rw] member
|
184
|
+
# @return [::String]
|
185
|
+
# A single identity requesting access for a Cloud Platform resource.
|
186
|
+
# Follows the same format of Binding.members.
|
187
|
+
# Required
|
188
|
+
# @!attribute [rw] condition
|
189
|
+
# @return [::Google::Type::Expr]
|
190
|
+
# The condition that is associated with this binding.
|
191
|
+
class BindingDelta
|
192
|
+
include ::Google::Protobuf::MessageExts
|
193
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
194
|
+
|
195
|
+
# The type of action performed on a Binding in a policy.
|
196
|
+
module Action
|
197
|
+
# Unspecified.
|
198
|
+
ACTION_UNSPECIFIED = 0
|
199
|
+
|
200
|
+
# Addition of a Binding.
|
201
|
+
ADD = 1
|
202
|
+
|
203
|
+
# Removal of a Binding.
|
204
|
+
REMOVE = 2
|
205
|
+
end
|
206
|
+
end
|
207
|
+
|
208
|
+
# One delta entry for AuditConfig. Each individual change (only one
|
209
|
+
# exempted_member in each entry) to a AuditConfig will be a separate entry.
|
210
|
+
# @!attribute [rw] action
|
211
|
+
# @return [::Google::Iam::V1::AuditConfigDelta::Action]
|
212
|
+
# The action that was performed on an audit configuration in a policy.
|
213
|
+
# Required
|
214
|
+
# @!attribute [rw] service
|
215
|
+
# @return [::String]
|
216
|
+
# Specifies a service that was configured for Cloud Audit Logging.
|
217
|
+
# For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
|
218
|
+
# `allServices` is a special value that covers all services.
|
219
|
+
# Required
|
220
|
+
# @!attribute [rw] exempted_member
|
221
|
+
# @return [::String]
|
222
|
+
# A single identity that is exempted from "data access" audit
|
223
|
+
# logging for the `service` specified above.
|
224
|
+
# Follows the same format of Binding.members.
|
225
|
+
# @!attribute [rw] log_type
|
226
|
+
# @return [::String]
|
227
|
+
# Specifies the log_type that was be enabled. ADMIN_ACTIVITY is always
|
228
|
+
# enabled, and cannot be configured.
|
229
|
+
# Required
|
230
|
+
class AuditConfigDelta
|
231
|
+
include ::Google::Protobuf::MessageExts
|
232
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
233
|
+
|
234
|
+
# The type of action performed on an audit configuration in a policy.
|
235
|
+
module Action
|
236
|
+
# Unspecified.
|
237
|
+
ACTION_UNSPECIFIED = 0
|
238
|
+
|
239
|
+
# Addition of an audit configuration.
|
240
|
+
ADD = 1
|
241
|
+
|
242
|
+
# Removal of an audit configuration.
|
243
|
+
REMOVE = 2
|
244
|
+
end
|
245
|
+
end
|
246
|
+
end
|
247
|
+
end
|
248
|
+
end
|