google-apis-accesscontextmanager_v1 0.9.0 → 0.10.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e55af16efe6ff7845d51a64f2a14d4ff37cd7ab6a1e004dc78188ecc75c8dd5
4
- data.tar.gz: 004477f38e26f622cabd1110612d572330864a5b0f7b877f5fc71b3ceeb47124
3
+ metadata.gz: 631ef7942d887b6299cbae7761da5baf36a17156344d8e6819e16a366c6280d8
4
+ data.tar.gz: 2978eb2d8a20850a8f18a690062c8670121f5a41b28e303639ae6bab44ae1118
5
5
  SHA512:
6
- metadata.gz: 95fa140ccdfe960cc997f2b16920ba438289973617610edfbc8664af233c9a28b006e90da2d0e3ad4ca446d885c95b26bc31c7e2850f63b13aee57a2a0781978
7
- data.tar.gz: 03010621fb1aa3d314ca7f3c656ecba29bc9dc421b483ccfd05c12369ba04b932fea06a5a872bec19a0d1da1502b1911c536e3c0c458d3f1105c133fe17cc093
6
+ metadata.gz: dafe1abbf4cb6ef1e63d71e7f97d3d5bdb0e8f2af72682ae3ba6759fdc5569759b3b000c646ed417b1652b9081fb9ffe3a4a142dfdfed1057f1c73c0782e1fe9
7
+ data.tar.gz: b2911d1efe423c8dab7c7a850d783a34efb593c47163b5e409ad24a6866f09cb9f0e0aa29093128e8b97d808c09b1c0a7954e6fc5cf9d3d6c77771ce88160b2b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release history for google-apis-accesscontextmanager_v1
2
2
 
3
+ ### v0.10.0 (2021-12-10)
4
+
5
+ * Regenerated from discovery document revision 20211203
6
+
3
7
  ### v0.9.0 (2021-10-20)
4
8
 
5
9
  * Unspecified changes
@@ -113,6 +113,21 @@ module Google
113
113
  # @return [String]
114
114
  attr_accessor :parent
115
115
 
116
+ # The scopes of a policy define which resources an ACM policy can restrict, and
117
+ # where ACM resources can be referenced. For example, a policy with scopes=["
118
+ # folders/123"] has the following behavior: - vpcsc perimeters can only restrict
119
+ # projects within folders/123 - access levels can only be referenced by
120
+ # resources within folders/123. If empty, there are no limitations on which
121
+ # resources can be restricted by an ACM policy, and there are no limitations on
122
+ # where ACM resources can be referenced. Only one policy can include a given
123
+ # scope (attempting to create a second policy which includes "folders/123" will
124
+ # result in an error). Currently, scopes cannot be modified after a policy is
125
+ # created. Currently, policies can only have a single scope. Format: list of `
126
+ # folders/`folder_number`` or `projects/`project_number``
127
+ # Corresponds to the JSON property `scopes`
128
+ # @return [Array<String>]
129
+ attr_accessor :scopes
130
+
116
131
  # Required. Human readable title. Does not affect behavior.
117
132
  # Corresponds to the JSON property `title`
118
133
  # @return [String]
@@ -127,6 +142,7 @@ module Google
127
142
  @etag = args[:etag] if args.key?(:etag)
128
143
  @name = args[:name] if args.key?(:name)
129
144
  @parent = args[:parent] if args.key?(:parent)
145
+ @scopes = args[:scopes] if args.key?(:scopes)
130
146
  @title = args[:title] if args.key?(:title)
131
147
  end
132
148
  end
@@ -161,6 +177,77 @@ module Google
161
177
  end
162
178
  end
163
179
 
180
+ # Specifies the audit configuration for a service. The configuration determines
181
+ # which permission types are logged, and what identities, if any, are exempted
182
+ # from logging. An AuditConfig must have one or more AuditLogConfigs. If there
183
+ # are AuditConfigs for both `allServices` and a specific service, the union of
184
+ # the two AuditConfigs is used for that service: the log_types specified in each
185
+ # AuditConfig are enabled, and the exempted_members in each AuditLogConfig are
186
+ # exempted. Example Policy with multiple AuditConfigs: ` "audit_configs": [ ` "
187
+ # service": "allServices", "audit_log_configs": [ ` "log_type": "DATA_READ", "
188
+ # exempted_members": [ "user:jose@example.com" ] `, ` "log_type": "DATA_WRITE" `,
189
+ # ` "log_type": "ADMIN_READ" ` ] `, ` "service": "sampleservice.googleapis.com",
190
+ # "audit_log_configs": [ ` "log_type": "DATA_READ" `, ` "log_type": "DATA_WRITE"
191
+ # , "exempted_members": [ "user:aliya@example.com" ] ` ] ` ] ` For sampleservice,
192
+ # this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also
193
+ # exempts jose@example.com from DATA_READ logging, and aliya@example.com from
194
+ # DATA_WRITE logging.
195
+ class AuditConfig
196
+ include Google::Apis::Core::Hashable
197
+
198
+ # The configuration for logging of each type of permission.
199
+ # Corresponds to the JSON property `auditLogConfigs`
200
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::AuditLogConfig>]
201
+ attr_accessor :audit_log_configs
202
+
203
+ # Specifies a service that will be enabled for audit logging. For example, `
204
+ # storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a special
205
+ # value that covers all services.
206
+ # Corresponds to the JSON property `service`
207
+ # @return [String]
208
+ attr_accessor :service
209
+
210
+ def initialize(**args)
211
+ update!(**args)
212
+ end
213
+
214
+ # Update properties of this object
215
+ def update!(**args)
216
+ @audit_log_configs = args[:audit_log_configs] if args.key?(:audit_log_configs)
217
+ @service = args[:service] if args.key?(:service)
218
+ end
219
+ end
220
+
221
+ # Provides the configuration for logging a type of permissions. Example: ` "
222
+ # audit_log_configs": [ ` "log_type": "DATA_READ", "exempted_members": [ "user:
223
+ # jose@example.com" ] `, ` "log_type": "DATA_WRITE" ` ] ` This enables '
224
+ # DATA_READ' and 'DATA_WRITE' logging, while exempting jose@example.com from
225
+ # DATA_READ logging.
226
+ class AuditLogConfig
227
+ include Google::Apis::Core::Hashable
228
+
229
+ # Specifies the identities that do not cause logging for this type of permission.
230
+ # Follows the same format of Binding.members.
231
+ # Corresponds to the JSON property `exemptedMembers`
232
+ # @return [Array<String>]
233
+ attr_accessor :exempted_members
234
+
235
+ # The log type that this config enables.
236
+ # Corresponds to the JSON property `logType`
237
+ # @return [String]
238
+ attr_accessor :log_type
239
+
240
+ def initialize(**args)
241
+ update!(**args)
242
+ end
243
+
244
+ # Update properties of this object
245
+ def update!(**args)
246
+ @exempted_members = args[:exempted_members] if args.key?(:exempted_members)
247
+ @log_type = args[:log_type] if args.key?(:log_type)
248
+ end
249
+ end
250
+
164
251
  # `BasicLevel` is an `AccessLevel` using a set of recommended features.
165
252
  class BasicLevel
166
253
  include Google::Apis::Core::Hashable
@@ -190,6 +277,77 @@ module Google
190
277
  end
191
278
  end
192
279
 
280
+ # Associates `members`, or principals, with a `role`.
281
+ class Binding
282
+ include Google::Apis::Core::Hashable
283
+
284
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
285
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
286
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
287
+ # "Summary size limit" description: "Determines if a summary is less than 100
288
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
289
+ # Requestor is owner" description: "Determines if requestor is the document
290
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
291
+ # Logic): title: "Public documents" description: "Determine whether the document
292
+ # should be publicly visible" expression: "document.type != 'private' &&
293
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
294
+ # string" description: "Create a notification string with a timestamp."
295
+ # expression: "'New message received at ' + string(document.create_time)" The
296
+ # exact variables and functions that may be referenced within an expression are
297
+ # determined by the service that evaluates it. See the service documentation for
298
+ # additional information.
299
+ # Corresponds to the JSON property `condition`
300
+ # @return [Google::Apis::AccesscontextmanagerV1::Expr]
301
+ attr_accessor :condition
302
+
303
+ # Specifies the principals requesting access for a Cloud Platform resource. `
304
+ # members` can have the following values: * `allUsers`: A special identifier
305
+ # that represents anyone who is on the internet; with or without a Google
306
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
307
+ # anyone who is authenticated with a Google account or a service account. * `
308
+ # user:`emailid``: An email address that represents a specific Google account.
309
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
310
+ # address that represents a service account. For example, `my-other-app@appspot.
311
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
312
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
313
+ # `uniqueid``: An email address (plus unique identifier) representing a user
314
+ # that has been recently deleted. For example, `alice@example.com?uid=
315
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
316
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
317
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
318
+ # identifier) representing a service account that has been recently deleted. For
319
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
320
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
321
+ # emailid`` and the undeleted service account retains the role in the binding. *
322
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
323
+ # identifier) representing a Google group that has been recently deleted. For
324
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
325
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
326
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
327
+ # primary) that represents all the users of that domain. For example, `google.
328
+ # com` or `example.com`.
329
+ # Corresponds to the JSON property `members`
330
+ # @return [Array<String>]
331
+ attr_accessor :members
332
+
333
+ # Role that is assigned to the list of `members`, or principals. For example, `
334
+ # roles/viewer`, `roles/editor`, or `roles/owner`.
335
+ # Corresponds to the JSON property `role`
336
+ # @return [String]
337
+ attr_accessor :role
338
+
339
+ def initialize(**args)
340
+ update!(**args)
341
+ end
342
+
343
+ # Update properties of this object
344
+ def update!(**args)
345
+ @condition = args[:condition] if args.key?(:condition)
346
+ @members = args[:members] if args.key?(:members)
347
+ @role = args[:role] if args.key?(:role)
348
+ end
349
+ end
350
+
193
351
  # The request message for Operations.CancelOperation.
194
352
  class CancelOperationRequest
195
353
  include Google::Apis::Core::Hashable
@@ -663,6 +821,53 @@ module Google
663
821
  end
664
822
  end
665
823
 
824
+ # Request message for `GetIamPolicy` method.
825
+ class GetIamPolicyRequest
826
+ include Google::Apis::Core::Hashable
827
+
828
+ # Encapsulates settings provided to GetIamPolicy.
829
+ # Corresponds to the JSON property `options`
830
+ # @return [Google::Apis::AccesscontextmanagerV1::GetPolicyOptions]
831
+ attr_accessor :options
832
+
833
+ def initialize(**args)
834
+ update!(**args)
835
+ end
836
+
837
+ # Update properties of this object
838
+ def update!(**args)
839
+ @options = args[:options] if args.key?(:options)
840
+ end
841
+ end
842
+
843
+ # Encapsulates settings provided to GetIamPolicy.
844
+ class GetPolicyOptions
845
+ include Google::Apis::Core::Hashable
846
+
847
+ # Optional. The maximum policy version that will be used to format the policy.
848
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
849
+ # rejected. Requests for policies with any conditional role bindings must
850
+ # specify version 3. Policies with no conditional role bindings may specify any
851
+ # valid value or leave the field unset. The policy in the response might use the
852
+ # policy version that you specified, or it might use a lower policy version. For
853
+ # example, if you specify version 3, but the policy has no conditional role
854
+ # bindings, the response uses version 1. To learn which resources support
855
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
856
+ # google.com/iam/help/conditions/resource-policies).
857
+ # Corresponds to the JSON property `requestedPolicyVersion`
858
+ # @return [Fixnum]
859
+ attr_accessor :requested_policy_version
860
+
861
+ def initialize(**args)
862
+ update!(**args)
863
+ end
864
+
865
+ # Update properties of this object
866
+ def update!(**args)
867
+ @requested_policy_version = args[:requested_policy_version] if args.key?(:requested_policy_version)
868
+ end
869
+ end
870
+
666
871
  # Defines the conditions under which an IngressPolicy matches a request.
667
872
  # Conditions are based on information about the source of the request. The
668
873
  # request must satisfy what is defined in `sources` AND identity related fields
@@ -1065,6 +1270,101 @@ module Google
1065
1270
  end
1066
1271
  end
1067
1272
 
1273
+ # An Identity and Access Management (IAM) policy, which specifies access
1274
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1275
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
1276
+ # Principals can be user accounts, service accounts, Google groups, and domains (
1277
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
1278
+ # an IAM predefined role or a user-created custom role. For some types of Google
1279
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
1280
+ # logical expression that allows access to a resource only if the expression
1281
+ # evaluates to `true`. A condition can add constraints based on attributes of
1282
+ # the request, the resource, or both. To learn which resources support
1283
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
1284
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
1285
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
1286
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
1287
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
1288
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
1289
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
1290
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
1291
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
1292
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
1293
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
1294
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
1295
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
1296
+ # access description: Does not grant access after Sep 2020 expression: request.
1297
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
1298
+ # a description of IAM and its features, see the [IAM documentation](https://
1299
+ # cloud.google.com/iam/docs/).
1300
+ class Policy
1301
+ include Google::Apis::Core::Hashable
1302
+
1303
+ # Specifies cloud audit logging configuration for this policy.
1304
+ # Corresponds to the JSON property `auditConfigs`
1305
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::AuditConfig>]
1306
+ attr_accessor :audit_configs
1307
+
1308
+ # Associates a list of `members`, or principals, with a `role`. Optionally, may
1309
+ # specify a `condition` that determines how and when the `bindings` are applied.
1310
+ # Each of the `bindings` must contain at least one principal. The `bindings` in
1311
+ # a `Policy` can refer to up to 1,500 principals; up to 250 of these principals
1312
+ # can be Google groups. Each occurrence of a principal counts towards these
1313
+ # limits. For example, if the `bindings` grant 50 different roles to `user:alice@
1314
+ # example.com`, and not to any other principal, then you can add another 1,450
1315
+ # principals to the `bindings` in the `Policy`.
1316
+ # Corresponds to the JSON property `bindings`
1317
+ # @return [Array<Google::Apis::AccesscontextmanagerV1::Binding>]
1318
+ attr_accessor :bindings
1319
+
1320
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1321
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1322
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1323
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1324
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1325
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1326
+ # applied to the same version of the policy. **Important:** If you use IAM
1327
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1328
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1329
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1330
+ # are lost.
1331
+ # Corresponds to the JSON property `etag`
1332
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1333
+ # @return [String]
1334
+ attr_accessor :etag
1335
+
1336
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1337
+ # Requests that specify an invalid value are rejected. Any operation that
1338
+ # affects conditional role bindings must specify version `3`. This requirement
1339
+ # applies to the following operations: * Getting a policy that includes a
1340
+ # conditional role binding * Adding a conditional role binding to a policy *
1341
+ # Changing a conditional role binding in a policy * Removing any role binding,
1342
+ # with or without a condition, from a policy that includes conditions **
1343
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1344
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1345
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1346
+ # conditions in the version `3` policy are lost. If a policy does not include
1347
+ # any conditions, operations on that policy may specify any valid version or
1348
+ # leave the field unset. To learn which resources support conditions in their
1349
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1350
+ # conditions/resource-policies).
1351
+ # Corresponds to the JSON property `version`
1352
+ # @return [Fixnum]
1353
+ attr_accessor :version
1354
+
1355
+ def initialize(**args)
1356
+ update!(**args)
1357
+ end
1358
+
1359
+ # Update properties of this object
1360
+ def update!(**args)
1361
+ @audit_configs = args[:audit_configs] if args.key?(:audit_configs)
1362
+ @bindings = args[:bindings] if args.key?(:bindings)
1363
+ @etag = args[:etag] if args.key?(:etag)
1364
+ @version = args[:version] if args.key?(:version)
1365
+ end
1366
+ end
1367
+
1068
1368
  # A request to replace all existing Access Levels in an Access Policy with the
1069
1369
  # Access Levels provided. This is done atomically.
1070
1370
  class ReplaceAccessLevelsRequest
@@ -1312,6 +1612,59 @@ module Google
1312
1612
  end
1313
1613
  end
1314
1614
 
1615
+ # Request message for `SetIamPolicy` method.
1616
+ class SetIamPolicyRequest
1617
+ include Google::Apis::Core::Hashable
1618
+
1619
+ # An Identity and Access Management (IAM) policy, which specifies access
1620
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1621
+ # A `binding` binds one or more `members`, or principals, to a single `role`.
1622
+ # Principals can be user accounts, service accounts, Google groups, and domains (
1623
+ # such as G Suite). A `role` is a named list of permissions; each `role` can be
1624
+ # an IAM predefined role or a user-created custom role. For some types of Google
1625
+ # Cloud resources, a `binding` can also specify a `condition`, which is a
1626
+ # logical expression that allows access to a resource only if the expression
1627
+ # evaluates to `true`. A condition can add constraints based on attributes of
1628
+ # the request, the resource, or both. To learn which resources support
1629
+ # conditions in their IAM policies, see the [IAM documentation](https://cloud.
1630
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
1631
+ # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
1632
+ # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
1633
+ # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
1634
+ # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
1635
+ # ], "condition": ` "title": "expirable access", "description": "Does not grant
1636
+ # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
1637
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
1638
+ # bindings: - members: - user:mike@example.com - group:admins@example.com -
1639
+ # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
1640
+ # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
1641
+ # com role: roles/resourcemanager.organizationViewer condition: title: expirable
1642
+ # access description: Does not grant access after Sep 2020 expression: request.
1643
+ # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
1644
+ # a description of IAM and its features, see the [IAM documentation](https://
1645
+ # cloud.google.com/iam/docs/).
1646
+ # Corresponds to the JSON property `policy`
1647
+ # @return [Google::Apis::AccesscontextmanagerV1::Policy]
1648
+ attr_accessor :policy
1649
+
1650
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
1651
+ # the fields in the mask will be modified. If no mask is provided, the following
1652
+ # default mask is used: `paths: "bindings, etag"`
1653
+ # Corresponds to the JSON property `updateMask`
1654
+ # @return [String]
1655
+ attr_accessor :update_mask
1656
+
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @policy = args[:policy] if args.key?(:policy)
1664
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
1665
+ end
1666
+ end
1667
+
1315
1668
  # The `Status` type defines a logical error model that is suitable for different
1316
1669
  # programming environments, including REST APIs and RPC APIs. It is used by [
1317
1670
  # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
@@ -1351,6 +1704,46 @@ module Google
1351
1704
  end
1352
1705
  end
1353
1706
 
1707
+ # Request message for `TestIamPermissions` method.
1708
+ class TestIamPermissionsRequest
1709
+ include Google::Apis::Core::Hashable
1710
+
1711
+ # The set of permissions to check for the `resource`. Permissions with wildcards
1712
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
1713
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1714
+ # Corresponds to the JSON property `permissions`
1715
+ # @return [Array<String>]
1716
+ attr_accessor :permissions
1717
+
1718
+ def initialize(**args)
1719
+ update!(**args)
1720
+ end
1721
+
1722
+ # Update properties of this object
1723
+ def update!(**args)
1724
+ @permissions = args[:permissions] if args.key?(:permissions)
1725
+ end
1726
+ end
1727
+
1728
+ # Response message for `TestIamPermissions` method.
1729
+ class TestIamPermissionsResponse
1730
+ include Google::Apis::Core::Hashable
1731
+
1732
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1733
+ # Corresponds to the JSON property `permissions`
1734
+ # @return [Array<String>]
1735
+ attr_accessor :permissions
1736
+
1737
+ def initialize(**args)
1738
+ update!(**args)
1739
+ end
1740
+
1741
+ # Update properties of this object
1742
+ def update!(**args)
1743
+ @permissions = args[:permissions] if args.key?(:permissions)
1744
+ end
1745
+ end
1746
+
1354
1747
  # Specifies how APIs are allowed to communicate within the Service Perimeter.
1355
1748
  class VpcAccessibleServices
1356
1749
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module AccesscontextmanagerV1
18
18
  # Version of the google-apis-accesscontextmanager_v1 gem
19
- GEM_VERSION = "0.9.0"
19
+ GEM_VERSION = "0.10.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.4.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20210814"
25
+ REVISION = "20211203"
26
26
  end
27
27
  end
28
28
  end
@@ -46,12 +46,30 @@ module Google
46
46
  include Google::Apis::Core::JsonObjectSupport
47
47
  end
48
48
 
49
+ class AuditConfig
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
55
+ class AuditLogConfig
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
49
61
  class BasicLevel
50
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
51
63
 
52
64
  include Google::Apis::Core::JsonObjectSupport
53
65
  end
54
66
 
67
+ class Binding
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
55
73
  class CancelOperationRequest
56
74
  class Representation < Google::Apis::Core::JsonRepresentation; end
57
75
 
@@ -130,6 +148,18 @@ module Google
130
148
  include Google::Apis::Core::JsonObjectSupport
131
149
  end
132
150
 
151
+ class GetIamPolicyRequest
152
+ class Representation < Google::Apis::Core::JsonRepresentation; end
153
+
154
+ include Google::Apis::Core::JsonObjectSupport
155
+ end
156
+
157
+ class GetPolicyOptions
158
+ class Representation < Google::Apis::Core::JsonRepresentation; end
159
+
160
+ include Google::Apis::Core::JsonObjectSupport
161
+ end
162
+
133
163
  class IngressFrom
134
164
  class Representation < Google::Apis::Core::JsonRepresentation; end
135
165
 
@@ -202,6 +232,12 @@ module Google
202
232
  include Google::Apis::Core::JsonObjectSupport
203
233
  end
204
234
 
235
+ class Policy
236
+ class Representation < Google::Apis::Core::JsonRepresentation; end
237
+
238
+ include Google::Apis::Core::JsonObjectSupport
239
+ end
240
+
205
241
  class ReplaceAccessLevelsRequest
206
242
  class Representation < Google::Apis::Core::JsonRepresentation; end
207
243
 
@@ -238,12 +274,30 @@ module Google
238
274
  include Google::Apis::Core::JsonObjectSupport
239
275
  end
240
276
 
277
+ class SetIamPolicyRequest
278
+ class Representation < Google::Apis::Core::JsonRepresentation; end
279
+
280
+ include Google::Apis::Core::JsonObjectSupport
281
+ end
282
+
241
283
  class Status
242
284
  class Representation < Google::Apis::Core::JsonRepresentation; end
243
285
 
244
286
  include Google::Apis::Core::JsonObjectSupport
245
287
  end
246
288
 
289
+ class TestIamPermissionsRequest
290
+ class Representation < Google::Apis::Core::JsonRepresentation; end
291
+
292
+ include Google::Apis::Core::JsonObjectSupport
293
+ end
294
+
295
+ class TestIamPermissionsResponse
296
+ class Representation < Google::Apis::Core::JsonRepresentation; end
297
+
298
+ include Google::Apis::Core::JsonObjectSupport
299
+ end
300
+
247
301
  class VpcAccessibleServices
248
302
  class Representation < Google::Apis::Core::JsonRepresentation; end
249
303
 
@@ -275,6 +329,7 @@ module Google
275
329
  property :etag, as: 'etag'
276
330
  property :name, as: 'name'
277
331
  property :parent, as: 'parent'
332
+ collection :scopes, as: 'scopes'
278
333
  property :title, as: 'title'
279
334
  end
280
335
  end
@@ -288,6 +343,23 @@ module Google
288
343
  end
289
344
  end
290
345
 
346
+ class AuditConfig
347
+ # @private
348
+ class Representation < Google::Apis::Core::JsonRepresentation
349
+ collection :audit_log_configs, as: 'auditLogConfigs', class: Google::Apis::AccesscontextmanagerV1::AuditLogConfig, decorator: Google::Apis::AccesscontextmanagerV1::AuditLogConfig::Representation
350
+
351
+ property :service, as: 'service'
352
+ end
353
+ end
354
+
355
+ class AuditLogConfig
356
+ # @private
357
+ class Representation < Google::Apis::Core::JsonRepresentation
358
+ collection :exempted_members, as: 'exemptedMembers'
359
+ property :log_type, as: 'logType'
360
+ end
361
+ end
362
+
291
363
  class BasicLevel
292
364
  # @private
293
365
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -297,6 +369,16 @@ module Google
297
369
  end
298
370
  end
299
371
 
372
+ class Binding
373
+ # @private
374
+ class Representation < Google::Apis::Core::JsonRepresentation
375
+ property :condition, as: 'condition', class: Google::Apis::AccesscontextmanagerV1::Expr, decorator: Google::Apis::AccesscontextmanagerV1::Expr::Representation
376
+
377
+ collection :members, as: 'members'
378
+ property :role, as: 'role'
379
+ end
380
+ end
381
+
300
382
  class CancelOperationRequest
301
383
  # @private
302
384
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -410,6 +492,21 @@ module Google
410
492
  end
411
493
  end
412
494
 
495
+ class GetIamPolicyRequest
496
+ # @private
497
+ class Representation < Google::Apis::Core::JsonRepresentation
498
+ property :options, as: 'options', class: Google::Apis::AccesscontextmanagerV1::GetPolicyOptions, decorator: Google::Apis::AccesscontextmanagerV1::GetPolicyOptions::Representation
499
+
500
+ end
501
+ end
502
+
503
+ class GetPolicyOptions
504
+ # @private
505
+ class Representation < Google::Apis::Core::JsonRepresentation
506
+ property :requested_policy_version, as: 'requestedPolicyVersion'
507
+ end
508
+ end
509
+
413
510
  class IngressFrom
414
511
  # @private
415
512
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -521,6 +618,18 @@ module Google
521
618
  end
522
619
  end
523
620
 
621
+ class Policy
622
+ # @private
623
+ class Representation < Google::Apis::Core::JsonRepresentation
624
+ collection :audit_configs, as: 'auditConfigs', class: Google::Apis::AccesscontextmanagerV1::AuditConfig, decorator: Google::Apis::AccesscontextmanagerV1::AuditConfig::Representation
625
+
626
+ collection :bindings, as: 'bindings', class: Google::Apis::AccesscontextmanagerV1::Binding, decorator: Google::Apis::AccesscontextmanagerV1::Binding::Representation
627
+
628
+ property :etag, :base64 => true, as: 'etag'
629
+ property :version, as: 'version'
630
+ end
631
+ end
632
+
524
633
  class ReplaceAccessLevelsRequest
525
634
  # @private
526
635
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -585,6 +694,15 @@ module Google
585
694
  end
586
695
  end
587
696
 
697
+ class SetIamPolicyRequest
698
+ # @private
699
+ class Representation < Google::Apis::Core::JsonRepresentation
700
+ property :policy, as: 'policy', class: Google::Apis::AccesscontextmanagerV1::Policy, decorator: Google::Apis::AccesscontextmanagerV1::Policy::Representation
701
+
702
+ property :update_mask, as: 'updateMask'
703
+ end
704
+ end
705
+
588
706
  class Status
589
707
  # @private
590
708
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -594,6 +712,20 @@ module Google
594
712
  end
595
713
  end
596
714
 
715
+ class TestIamPermissionsRequest
716
+ # @private
717
+ class Representation < Google::Apis::Core::JsonRepresentation
718
+ collection :permissions, as: 'permissions'
719
+ end
720
+ end
721
+
722
+ class TestIamPermissionsResponse
723
+ # @private
724
+ class Representation < Google::Apis::Core::JsonRepresentation
725
+ collection :permissions, as: 'permissions'
726
+ end
727
+ end
728
+
597
729
  class VpcAccessibleServices
598
730
  # @private
599
731
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -49,10 +49,10 @@ module Google
49
49
  @batch_path = 'batch'
50
50
  end
51
51
 
52
- # Create an `AccessPolicy`. Fails if this organization already has a `
53
- # AccessPolicy`. The longrunning Operation will have a successful status once
54
- # the `AccessPolicy` has propagated to long-lasting storage. Syntactic and basic
55
- # semantic errors will be returned in `metadata` as a BadRequest proto.
52
+ # Creates an access policy. This method fails if the organization already has an
53
+ # access policy. The long-running operation has a successful status after the
54
+ # access policy propagates to long-lasting storage. Syntactic and basic semantic
55
+ # errors are returned in `metadata` as a BadRequest proto.
56
56
  # @param [Google::Apis::AccesscontextmanagerV1::AccessPolicy] access_policy_object
57
57
  # @param [String] fields
58
58
  # Selector specifying which fields to include in a partial response.
@@ -82,9 +82,9 @@ module Google
82
82
  execute_or_queue_command(command, &block)
83
83
  end
84
84
 
85
- # Delete an AccessPolicy by resource name. The longrunning Operation will have a
86
- # successful status once the AccessPolicy has been removed from long-lasting
87
- # storage.
85
+ # Deletes an access policy based on the resource name. The long-running
86
+ # operation has a successful status after the access policy is removed from long-
87
+ # lasting storage.
88
88
  # @param [String] name
89
89
  # Required. Resource name for the access policy to delete. Format `
90
90
  # accessPolicies/`policy_id``
@@ -115,7 +115,7 @@ module Google
115
115
  execute_or_queue_command(command, &block)
116
116
  end
117
117
 
118
- # Get an AccessPolicy by name.
118
+ # Returns an access policy based on the name.
119
119
  # @param [String] name
120
120
  # Required. Resource name for the access policy to get. Format `accessPolicies/`
121
121
  # policy_id``
@@ -146,7 +146,41 @@ module Google
146
146
  execute_or_queue_command(command, &block)
147
147
  end
148
148
 
149
- # List all AccessPolicies under a container.
149
+ # Gets the IAM policy for the specified Access Context Manager access policy.
150
+ # @param [String] resource
151
+ # REQUIRED: The resource for which the policy is being requested. See the
152
+ # operation documentation for the appropriate value for this field.
153
+ # @param [Google::Apis::AccesscontextmanagerV1::GetIamPolicyRequest] get_iam_policy_request_object
154
+ # @param [String] fields
155
+ # Selector specifying which fields to include in a partial response.
156
+ # @param [String] quota_user
157
+ # Available to use for quota purposes for server-side applications. Can be any
158
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
159
+ # @param [Google::Apis::RequestOptions] options
160
+ # Request-specific options
161
+ #
162
+ # @yield [result, err] Result & error if block supplied
163
+ # @yieldparam result [Google::Apis::AccesscontextmanagerV1::Policy] parsed result object
164
+ # @yieldparam err [StandardError] error object if request failed
165
+ #
166
+ # @return [Google::Apis::AccesscontextmanagerV1::Policy]
167
+ #
168
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
169
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
170
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
171
+ def get_access_policy_iam_policy(resource, get_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
172
+ command = make_simple_command(:post, 'v1/{+resource}:getIamPolicy', options)
173
+ command.request_representation = Google::Apis::AccesscontextmanagerV1::GetIamPolicyRequest::Representation
174
+ command.request_object = get_iam_policy_request_object
175
+ command.response_representation = Google::Apis::AccesscontextmanagerV1::Policy::Representation
176
+ command.response_class = Google::Apis::AccesscontextmanagerV1::Policy
177
+ command.params['resource'] = resource unless resource.nil?
178
+ command.query['fields'] = fields unless fields.nil?
179
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
180
+ execute_or_queue_command(command, &block)
181
+ end
182
+
183
+ # Lists all access policies in an organization.
150
184
  # @param [Fixnum] page_size
151
185
  # Number of AccessPolicy instances to include in the list. Default 100.
152
186
  # @param [String] page_token
@@ -184,10 +218,9 @@ module Google
184
218
  execute_or_queue_command(command, &block)
185
219
  end
186
220
 
187
- # Update an AccessPolicy. The longrunning Operation from this RPC will have a
188
- # successful status once the changes to the AccessPolicy have propagated to long-
189
- # lasting storage. Syntactic and basic semantic errors will be returned in `
190
- # metadata` as a BadRequest proto.
221
+ # Updates an access policy. The long-running operation from this RPC has a
222
+ # successful status after the changes to the access policy propagate to long-
223
+ # lasting storage.
191
224
  # @param [String] name
192
225
  # Output only. Resource name of the `AccessPolicy`. Format: `accessPolicies/`
193
226
  # access_policy``
@@ -224,10 +257,83 @@ module Google
224
257
  execute_or_queue_command(command, &block)
225
258
  end
226
259
 
227
- # Create an Access Level. The longrunning operation from this RPC will have a
228
- # successful status once the Access Level has propagated to long-lasting storage.
229
- # Access Levels containing errors will result in an error response for the
230
- # first error encountered.
260
+ # Sets the IAM policy for the specified Access Context Manager access policy.
261
+ # This method replaces the existing IAM policy on the access policy. The IAM
262
+ # policy controls the set of users who can perform specific operations on the
263
+ # Access Context Manager access policy.
264
+ # @param [String] resource
265
+ # REQUIRED: The resource for which the policy is being specified. See the
266
+ # operation documentation for the appropriate value for this field.
267
+ # @param [Google::Apis::AccesscontextmanagerV1::SetIamPolicyRequest] set_iam_policy_request_object
268
+ # @param [String] fields
269
+ # Selector specifying which fields to include in a partial response.
270
+ # @param [String] quota_user
271
+ # Available to use for quota purposes for server-side applications. Can be any
272
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
273
+ # @param [Google::Apis::RequestOptions] options
274
+ # Request-specific options
275
+ #
276
+ # @yield [result, err] Result & error if block supplied
277
+ # @yieldparam result [Google::Apis::AccesscontextmanagerV1::Policy] parsed result object
278
+ # @yieldparam err [StandardError] error object if request failed
279
+ #
280
+ # @return [Google::Apis::AccesscontextmanagerV1::Policy]
281
+ #
282
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
283
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
284
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
285
+ def set_access_policy_iam_policy(resource, set_iam_policy_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
286
+ command = make_simple_command(:post, 'v1/{+resource}:setIamPolicy', options)
287
+ command.request_representation = Google::Apis::AccesscontextmanagerV1::SetIamPolicyRequest::Representation
288
+ command.request_object = set_iam_policy_request_object
289
+ command.response_representation = Google::Apis::AccesscontextmanagerV1::Policy::Representation
290
+ command.response_class = Google::Apis::AccesscontextmanagerV1::Policy
291
+ command.params['resource'] = resource unless resource.nil?
292
+ command.query['fields'] = fields unless fields.nil?
293
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
294
+ execute_or_queue_command(command, &block)
295
+ end
296
+
297
+ # Returns the IAM permissions that the caller has on the specified Access
298
+ # Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or
299
+ # ServicePerimeter. This method does not support other resources.
300
+ # @param [String] resource
301
+ # REQUIRED: The resource for which the policy detail is being requested. See the
302
+ # operation documentation for the appropriate value for this field.
303
+ # @param [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsRequest] test_iam_permissions_request_object
304
+ # @param [String] fields
305
+ # Selector specifying which fields to include in a partial response.
306
+ # @param [String] quota_user
307
+ # Available to use for quota purposes for server-side applications. Can be any
308
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
309
+ # @param [Google::Apis::RequestOptions] options
310
+ # Request-specific options
311
+ #
312
+ # @yield [result, err] Result & error if block supplied
313
+ # @yieldparam result [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse] parsed result object
314
+ # @yieldparam err [StandardError] error object if request failed
315
+ #
316
+ # @return [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse]
317
+ #
318
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
319
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
320
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
321
+ def test_access_policy_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
322
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
323
+ command.request_representation = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsRequest::Representation
324
+ command.request_object = test_iam_permissions_request_object
325
+ command.response_representation = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse::Representation
326
+ command.response_class = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse
327
+ command.params['resource'] = resource unless resource.nil?
328
+ command.query['fields'] = fields unless fields.nil?
329
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
330
+ execute_or_queue_command(command, &block)
331
+ end
332
+
333
+ # Creates an access level. The long-running operation from this RPC has a
334
+ # successful status after the access level propagates to long-lasting storage.
335
+ # If access levels contain errors, an error response is returned for the first
336
+ # error encountered.
231
337
  # @param [String] parent
232
338
  # Required. Resource name for the access policy which owns this Access Level.
233
339
  # Format: `accessPolicies/`policy_id``
@@ -261,9 +367,9 @@ module Google
261
367
  execute_or_queue_command(command, &block)
262
368
  end
263
369
 
264
- # Delete an Access Level by resource name. The longrunning operation from this
265
- # RPC will have a successful status once the Access Level has been removed from
266
- # long-lasting storage.
370
+ # Deletes an access level based on the resource name. The long-running operation
371
+ # from this RPC has a successful status after the access level has been removed
372
+ # from long-lasting storage.
267
373
  # @param [String] name
268
374
  # Required. Resource name for the Access Level. Format: `accessPolicies/`
269
375
  # policy_id`/accessLevels/`access_level_id``
@@ -294,7 +400,7 @@ module Google
294
400
  execute_or_queue_command(command, &block)
295
401
  end
296
402
 
297
- # Get an Access Level by resource name.
403
+ # Gets an access level based on the resource name.
298
404
  # @param [String] name
299
405
  # Required. Resource name for the Access Level. Format: `accessPolicies/`
300
406
  # policy_id`/accessLevels/`access_level_id``
@@ -332,7 +438,7 @@ module Google
332
438
  execute_or_queue_command(command, &block)
333
439
  end
334
440
 
335
- # List all Access Levels for an access policy.
441
+ # Lists all access levels for an access policy.
336
442
  # @param [String] parent
337
443
  # Required. Resource name for the access policy to list Access Levels from.
338
444
  # Format: `accessPolicies/`policy_id``
@@ -375,10 +481,10 @@ module Google
375
481
  execute_or_queue_command(command, &block)
376
482
  end
377
483
 
378
- # Update an Access Level. The longrunning operation from this RPC will have a
379
- # successful status once the changes to the Access Level have propagated to long-
380
- # lasting storage. Access Levels containing errors will result in an error
381
- # response for the first error encountered.
484
+ # Updates an access level. The long-running operation from this RPC has a
485
+ # successful status after the changes to the access level propagate to long-
486
+ # lasting storage. If access levels contain errors, an error response is
487
+ # returned for the first error encountered.
382
488
  # @param [String] name
383
489
  # Required. Resource name for the Access Level. The `short_name` component must
384
490
  # begin with a letter and only include alphanumeric and '_'. Format: `
@@ -417,14 +523,14 @@ module Google
417
523
  execute_or_queue_command(command, &block)
418
524
  end
419
525
 
420
- # Replace all existing Access Levels in an Access Policy with the Access Levels
421
- # provided. This is done atomically. The longrunning operation from this RPC
422
- # will have a successful status once all replacements have propagated to long-
423
- # lasting storage. Replacements containing errors will result in an error
424
- # response for the first error encountered. Replacement will be cancelled on
425
- # error, existing Access Levels will not be affected. Operation.response field
426
- # will contain ReplaceAccessLevelsResponse. Removing Access Levels contained in
427
- # existing Service Perimeters will result in error.
526
+ # Replaces all existing access levels in an access policy with the access levels
527
+ # provided. This is done atomically. The long-running operation from this RPC
528
+ # has a successful status after all replacements propagate to long-lasting
529
+ # storage. If the replacement contains errors, an error response is returned for
530
+ # the first error encountered. Upon error, the replacement is cancelled, and
531
+ # existing access levels are not affected. The Operation.response field contains
532
+ # ReplaceAccessLevelsResponse. Removing access levels contained in existing
533
+ # service perimeters result in an error.
428
534
  # @param [String] parent
429
535
  # Required. Resource name for the access policy which owns these Access Levels.
430
536
  # Format: `accessPolicies/`policy_id``
@@ -458,16 +564,52 @@ module Google
458
564
  execute_or_queue_command(command, &block)
459
565
  end
460
566
 
461
- # Commit the dry-run spec for all the Service Perimeters in an Access Policy. A
462
- # commit operation on a Service Perimeter involves copying its `spec` field to
463
- # that Service Perimeter's `status` field. Only Service Perimeters with `
464
- # use_explicit_dry_run_spec` field set to true are affected by a commit
465
- # operation. The longrunning operation from this RPC will have a successful
466
- # status once the dry-run specs for all the Service Perimeters have been
467
- # committed. If a commit fails, it will cause the longrunning operation to
468
- # return an error response and the entire commit operation will be cancelled.
469
- # When successful, Operation.response field will contain
470
- # CommitServicePerimetersResponse. The `dry_run` and the `spec` fields will be
567
+ # Returns the IAM permissions that the caller has on the specified Access
568
+ # Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or
569
+ # ServicePerimeter. This method does not support other resources.
570
+ # @param [String] resource
571
+ # REQUIRED: The resource for which the policy detail is being requested. See the
572
+ # operation documentation for the appropriate value for this field.
573
+ # @param [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsRequest] test_iam_permissions_request_object
574
+ # @param [String] fields
575
+ # Selector specifying which fields to include in a partial response.
576
+ # @param [String] quota_user
577
+ # Available to use for quota purposes for server-side applications. Can be any
578
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
579
+ # @param [Google::Apis::RequestOptions] options
580
+ # Request-specific options
581
+ #
582
+ # @yield [result, err] Result & error if block supplied
583
+ # @yieldparam result [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse] parsed result object
584
+ # @yieldparam err [StandardError] error object if request failed
585
+ #
586
+ # @return [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse]
587
+ #
588
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
589
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
590
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
591
+ def test_access_level_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
592
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
593
+ command.request_representation = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsRequest::Representation
594
+ command.request_object = test_iam_permissions_request_object
595
+ command.response_representation = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse::Representation
596
+ command.response_class = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse
597
+ command.params['resource'] = resource unless resource.nil?
598
+ command.query['fields'] = fields unless fields.nil?
599
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
600
+ execute_or_queue_command(command, &block)
601
+ end
602
+
603
+ # Commits the dry-run specification for all the service perimeters in an access
604
+ # policy. A commit operation on a service perimeter involves copying its `spec`
605
+ # field to the `status` field of the service perimeter. Only service perimeters
606
+ # with `use_explicit_dry_run_spec` field set to true are affected by a commit
607
+ # operation. The long-running operation from this RPC has a successful status
608
+ # after the dry-run specifications for all the service perimeters have been
609
+ # committed. If a commit fails, it causes the long-running operation to return
610
+ # an error response and the entire commit operation is cancelled. When
611
+ # successful, the Operation.response field contains
612
+ # CommitServicePerimetersResponse. The `dry_run` and the `spec` fields are
471
613
  # cleared after a successful commit operation.
472
614
  # @param [String] parent
473
615
  # Required. Resource name for the parent Access Policy which owns all Service
@@ -503,9 +645,9 @@ module Google
503
645
  execute_or_queue_command(command, &block)
504
646
  end
505
647
 
506
- # Create a Service Perimeter. The longrunning operation from this RPC will have
507
- # a successful status once the Service Perimeter has propagated to long-lasting
508
- # storage. Service Perimeters containing errors will result in an error response
648
+ # Creates a service perimeter. The long-running operation from this RPC has a
649
+ # successful status after the service perimeter propagates to long-lasting
650
+ # storage. If a service perimeter contains errors, an error response is returned
509
651
  # for the first error encountered.
510
652
  # @param [String] parent
511
653
  # Required. Resource name for the access policy which owns this Service
@@ -540,8 +682,8 @@ module Google
540
682
  execute_or_queue_command(command, &block)
541
683
  end
542
684
 
543
- # Delete a Service Perimeter by resource name. The longrunning operation from
544
- # this RPC will have a successful status once the Service Perimeter has been
685
+ # Deletes a service perimeter based on the resource name. The long-running
686
+ # operation from this RPC has a successful status after the service perimeter is
545
687
  # removed from long-lasting storage.
546
688
  # @param [String] name
547
689
  # Required. Resource name for the Service Perimeter. Format: `accessPolicies/`
@@ -573,7 +715,7 @@ module Google
573
715
  execute_or_queue_command(command, &block)
574
716
  end
575
717
 
576
- # Get a Service Perimeter by resource name.
718
+ # Gets a service perimeter based on the resource name.
577
719
  # @param [String] name
578
720
  # Required. Resource name for the Service Perimeter. Format: `accessPolicies/`
579
721
  # policy_id`/servicePerimeters/`service_perimeters_id``
@@ -604,7 +746,7 @@ module Google
604
746
  execute_or_queue_command(command, &block)
605
747
  end
606
748
 
607
- # List all Service Perimeters for an access policy.
749
+ # Lists all service perimeters for an access policy.
608
750
  # @param [String] parent
609
751
  # Required. Resource name for the access policy to list Service Perimeters from.
610
752
  # Format: `accessPolicies/`policy_id``
@@ -642,10 +784,10 @@ module Google
642
784
  execute_or_queue_command(command, &block)
643
785
  end
644
786
 
645
- # Update a Service Perimeter. The longrunning operation from this RPC will have
646
- # a successful status once the changes to the Service Perimeter have propagated
647
- # to long-lasting storage. Service Perimeter containing errors will result in an
648
- # error response for the first error encountered.
787
+ # Updates a service perimeter. The long-running operation from this RPC has a
788
+ # successful status after the service perimeter propagates to long-lasting
789
+ # storage. If a service perimeter contains errors, an error response is returned
790
+ # for the first error encountered.
649
791
  # @param [String] name
650
792
  # Required. Resource name for the ServicePerimeter. The `short_name` component
651
793
  # must begin with a letter and only include alphanumeric and '_'. Format: `
@@ -683,13 +825,13 @@ module Google
683
825
  execute_or_queue_command(command, &block)
684
826
  end
685
827
 
686
- # Replace all existing Service Perimeters in an Access Policy with the Service
687
- # Perimeters provided. This is done atomically. The longrunning operation from
688
- # this RPC will have a successful status once all replacements have propagated
689
- # to long-lasting storage. Replacements containing errors will result in an
690
- # error response for the first error encountered. Replacement will be cancelled
691
- # on error, existing Service Perimeters will not be affected. Operation.response
692
- # field will contain ReplaceServicePerimetersResponse.
828
+ # Replace all existing service perimeters in an access policy with the service
829
+ # perimeters provided. This is done atomically. The long-running operation from
830
+ # this RPC has a successful status after all replacements propagate to long-
831
+ # lasting storage. Replacements containing errors result in an error response
832
+ # for the first error encountered. Upon an error, replacement are cancelled and
833
+ # existing service perimeters are not affected. The Operation.response field
834
+ # contains ReplaceServicePerimetersResponse.
693
835
  # @param [String] parent
694
836
  # Required. Resource name for the access policy which owns these Service
695
837
  # Perimeters. Format: `accessPolicies/`policy_id``
@@ -723,6 +865,42 @@ module Google
723
865
  execute_or_queue_command(command, &block)
724
866
  end
725
867
 
868
+ # Returns the IAM permissions that the caller has on the specified Access
869
+ # Context Manager resource. The resource can be an AccessPolicy, AccessLevel, or
870
+ # ServicePerimeter. This method does not support other resources.
871
+ # @param [String] resource
872
+ # REQUIRED: The resource for which the policy detail is being requested. See the
873
+ # operation documentation for the appropriate value for this field.
874
+ # @param [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsRequest] test_iam_permissions_request_object
875
+ # @param [String] fields
876
+ # Selector specifying which fields to include in a partial response.
877
+ # @param [String] quota_user
878
+ # Available to use for quota purposes for server-side applications. Can be any
879
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
880
+ # @param [Google::Apis::RequestOptions] options
881
+ # Request-specific options
882
+ #
883
+ # @yield [result, err] Result & error if block supplied
884
+ # @yieldparam result [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse] parsed result object
885
+ # @yieldparam err [StandardError] error object if request failed
886
+ #
887
+ # @return [Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse]
888
+ #
889
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
890
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
891
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
892
+ def test_service_perimeter_iam_permissions(resource, test_iam_permissions_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
893
+ command = make_simple_command(:post, 'v1/{+resource}:testIamPermissions', options)
894
+ command.request_representation = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsRequest::Representation
895
+ command.request_object = test_iam_permissions_request_object
896
+ command.response_representation = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse::Representation
897
+ command.response_class = Google::Apis::AccesscontextmanagerV1::TestIamPermissionsResponse
898
+ command.params['resource'] = resource unless resource.nil?
899
+ command.query['fields'] = fields unless fields.nil?
900
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
901
+ execute_or_queue_command(command, &block)
902
+ end
903
+
726
904
  # Starts asynchronous cancellation on a long-running operation. The server makes
727
905
  # a best effort to cancel the operation, but success is not guaranteed. If the
728
906
  # server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
@@ -874,7 +1052,7 @@ module Google
874
1052
  end
875
1053
 
876
1054
  # Creates a GcpUserAccessBinding. If the client specifies a name, the server
877
- # will ignore it. Fails if a resource already exists with the same group_key.
1055
+ # ignores it. Fails if a resource already exists with the same group_key.
878
1056
  # Completion of this long-running operation does not necessarily signify that
879
1057
  # the new binding is deployed onto all affected users, which may take more time.
880
1058
  # @param [String] parent
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-accesscontextmanager_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-27 00:00:00.000000000 Z
11
+ date: 2021-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -58,7 +58,7 @@ licenses:
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-accesscontextmanager_v1/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-accesscontextmanager_v1/v0.9.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-accesscontextmanager_v1/v0.10.0
62
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-accesscontextmanager_v1
63
63
  post_install_message:
64
64
  rdoc_options: []