google-apis-sts_v1 0.8.0 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5efe5029ff15bc1c675500e4a4cc0e5c360e94e7f91853832e6f195a01d5150c
4
- data.tar.gz: 295f3441cfe188a80ca51e329b4dc4adeba82f8897dbdaf517b1b936223251ab
3
+ metadata.gz: 971ef463a731e1e7f25c970b4383f02a60246ae28b41b6d72b895cb7a505d032
4
+ data.tar.gz: d3b560eeae4c7c819f6c002f6fb2db7a21cfdd2bd36b8b78650ea18e07e342f7
5
5
  SHA512:
6
- metadata.gz: 2bcd13791b6dfd047e7542d9d0ab2addd69fdbb18ef85f4eaaed56355f2b91128636ba2e8d2713ee8702ac571a9988e11033c750d9ba9f8b995121dee04d0143
7
- data.tar.gz: adb677c08b17f94427277450d1cb5f9151b37cad1194d8c8a92a66426da8bfecf351003a74d66d5f4e69a248126896e2217c5c1baf7606632fb3c9f62d3ac8e3
6
+ metadata.gz: ef27a26cc2bcc19c72506e4dad4c641b84090333495a7a959c7fda721af76174e8b5237da07f9175751dfc8dec972203614f4cbe9d43279b474f92eb8b91cb5f
7
+ data.tar.gz: 5bc59713e741271d653df347bf7a4ed8c98bd9234c431999bf6c0583ab3ec883dde9b627862cab3ac5d0af97ddbc4bab64d4bd9f4577d34b6262ebf6fed45778
data/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Release history for google-apis-sts_v1
2
2
 
3
+ ### v0.12.0 (2021-09-01)
4
+
5
+ * Regenerated from discovery document revision 20210822
6
+
7
+ ### v0.11.0 (2021-07-31)
8
+
9
+ * Regenerated from discovery document revision 20210723
10
+
11
+ ### v0.10.0 (2021-07-03)
12
+
13
+ * Regenerated from discovery document revision 20210625
14
+ * Regenerated using generator version 0.4.0
15
+
16
+ ### v0.9.0 (2021-06-24)
17
+
18
+ * Unspecified changes
19
+
3
20
  ### v0.8.0 (2021-06-19)
4
21
 
5
22
  * Regenerated from discovery document revision 20210613
@@ -22,13 +22,160 @@ module Google
22
22
  module Apis
23
23
  module StsV1
24
24
 
25
+ # Associates `members` with a `role`.
26
+ class GoogleIamV1Binding
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
30
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
31
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
32
+ # "Summary size limit" description: "Determines if a summary is less than 100
33
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
34
+ # Requestor is owner" description: "Determines if requestor is the document
35
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
36
+ # Logic): title: "Public documents" description: "Determine whether the document
37
+ # should be publicly visible" expression: "document.type != 'private' &&
38
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
39
+ # string" description: "Create a notification string with a timestamp."
40
+ # expression: "'New message received at ' + string(document.create_time)" The
41
+ # exact variables and functions that may be referenced within an expression are
42
+ # determined by the service that evaluates it. See the service documentation for
43
+ # additional information.
44
+ # Corresponds to the JSON property `condition`
45
+ # @return [Google::Apis::StsV1::GoogleTypeExpr]
46
+ attr_accessor :condition
47
+
48
+ # Specifies the identities requesting access for a Cloud Platform resource. `
49
+ # members` can have the following values: * `allUsers`: A special identifier
50
+ # that represents anyone who is on the internet; with or without a Google
51
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
52
+ # anyone who is authenticated with a Google account or a service account. * `
53
+ # user:`emailid``: An email address that represents a specific Google account.
54
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
55
+ # address that represents a service account. For example, `my-other-app@appspot.
56
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
57
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
58
+ # `uniqueid``: An email address (plus unique identifier) representing a user
59
+ # that has been recently deleted. For example, `alice@example.com?uid=
60
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
61
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
62
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
63
+ # identifier) representing a service account that has been recently deleted. For
64
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
65
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
66
+ # emailid`` and the undeleted service account retains the role in the binding. *
67
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
68
+ # identifier) representing a Google group that has been recently deleted. For
69
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
70
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
71
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
72
+ # primary) that represents all the users of that domain. For example, `google.
73
+ # com` or `example.com`.
74
+ # Corresponds to the JSON property `members`
75
+ # @return [Array<String>]
76
+ attr_accessor :members
77
+
78
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
79
+ # , or `roles/owner`.
80
+ # Corresponds to the JSON property `role`
81
+ # @return [String]
82
+ attr_accessor :role
83
+
84
+ def initialize(**args)
85
+ update!(**args)
86
+ end
87
+
88
+ # Update properties of this object
89
+ def update!(**args)
90
+ @condition = args[:condition] if args.key?(:condition)
91
+ @members = args[:members] if args.key?(:members)
92
+ @role = args[:role] if args.key?(:role)
93
+ end
94
+ end
95
+
96
+ # An access boundary defines the upper bound of what a principal may access. It
97
+ # includes a list of access boundary rules that each defines the resource that
98
+ # may be allowed as well as permissions that may be used on those resources.
99
+ class GoogleIdentityStsV1AccessBoundary
100
+ include Google::Apis::Core::Hashable
101
+
102
+ # A list of access boundary rules which defines the upper bound of the
103
+ # permission a principal may carry. If multiple rules are specified, the
104
+ # effective access boundary is the union of all the access boundary rules
105
+ # attached. One access boundary can contain at most 10 rules.
106
+ # Corresponds to the JSON property `accessBoundaryRules`
107
+ # @return [Array<Google::Apis::StsV1::GoogleIdentityStsV1AccessBoundaryRule>]
108
+ attr_accessor :access_boundary_rules
109
+
110
+ def initialize(**args)
111
+ update!(**args)
112
+ end
113
+
114
+ # Update properties of this object
115
+ def update!(**args)
116
+ @access_boundary_rules = args[:access_boundary_rules] if args.key?(:access_boundary_rules)
117
+ end
118
+ end
119
+
120
+ # An access boundary rule defines an upper bound of IAM permissions on a single
121
+ # resource.
122
+ class GoogleIdentityStsV1AccessBoundaryRule
123
+ include Google::Apis::Core::Hashable
124
+
125
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
126
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
127
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
128
+ # "Summary size limit" description: "Determines if a summary is less than 100
129
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
130
+ # Requestor is owner" description: "Determines if requestor is the document
131
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
132
+ # Logic): title: "Public documents" description: "Determine whether the document
133
+ # should be publicly visible" expression: "document.type != 'private' &&
134
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
135
+ # string" description: "Create a notification string with a timestamp."
136
+ # expression: "'New message received at ' + string(document.create_time)" The
137
+ # exact variables and functions that may be referenced within an expression are
138
+ # determined by the service that evaluates it. See the service documentation for
139
+ # additional information.
140
+ # Corresponds to the JSON property `availabilityCondition`
141
+ # @return [Google::Apis::StsV1::GoogleTypeExpr]
142
+ attr_accessor :availability_condition
143
+
144
+ # A list of permissions that may be allowed for use on the specified resource.
145
+ # The only supported values in the list are IAM roles, following the format of
146
+ # google.iam.v1.Binding.role. Example value: `inRole:roles/logging.viewer` for
147
+ # predefined roles and `inRole:organizations/`ORGANIZATION_ID`/roles/logging.
148
+ # viewer` for custom roles.
149
+ # Corresponds to the JSON property `availablePermissions`
150
+ # @return [Array<String>]
151
+ attr_accessor :available_permissions
152
+
153
+ # The full resource name of a Google Cloud resource entity. The format
154
+ # definition is at https://cloud.google.com/apis/design/resource_names. Example
155
+ # value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
156
+ # Corresponds to the JSON property `availableResource`
157
+ # @return [String]
158
+ attr_accessor :available_resource
159
+
160
+ def initialize(**args)
161
+ update!(**args)
162
+ end
163
+
164
+ # Update properties of this object
165
+ def update!(**args)
166
+ @availability_condition = args[:availability_condition] if args.key?(:availability_condition)
167
+ @available_permissions = args[:available_permissions] if args.key?(:available_permissions)
168
+ @available_resource = args[:available_resource] if args.key?(:available_resource)
169
+ end
170
+ end
171
+
25
172
  # Request message for ExchangeToken.
26
173
  class GoogleIdentityStsV1ExchangeTokenRequest
27
174
  include Google::Apis::Core::Hashable
28
175
 
29
176
  # The full resource name of the identity provider; for example: `//iam.
30
- # googleapis.com/projects//workloadIdentityPools//providers/`. Required when
31
- # exchanging an external credential for a Google access token.
177
+ # googleapis.com/projects//locations/global/workloadIdentityPools//providers/`.
178
+ # Required when exchanging an external credential for a Google access token.
32
179
  # Corresponds to the JSON property `audience`
33
180
  # @return [String]
34
181
  attr_accessor :audience
@@ -63,15 +210,16 @@ module Google
63
210
  # by a workload identity pool provider, or a short-lived access token issued by
64
211
  # Google. If the token is an OIDC JWT, it must use the JWT format defined in [
65
212
  # RFC 7523](https://tools.ietf.org/html/rfc7523), and the `subject_token_type`
66
- # must be `urn:ietf:params:oauth:token-type:jwt`. The following headers are
67
- # required: - `kid`: The identifier of the signing key securing the JWT. - `alg`:
68
- # The cryptographic algorithm securing the JWT. Must be `RS256` or `ES256`. The
69
- # following payload fields are required. For more information, see [RFC 7523,
70
- # Section 3](https://tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer
71
- # of the token. The issuer must provide a discovery document at the URL `/.well-
72
- # known/openid-configuration`, where `` is the value of this field. The document
73
- # must be formatted according to section 4.2 of the [OIDC 1.0 Discovery
74
- # specification](https://openid.net/specs/openid-connect-discovery-1_0.html#
213
+ # must be either `urn:ietf:params:oauth:token-type:jwt` or `urn:ietf:params:
214
+ # oauth:token-type:id_token`. The following headers are required: - `kid`: The
215
+ # identifier of the signing key securing the JWT. - `alg`: The cryptographic
216
+ # algorithm securing the JWT. Must be `RS256` or `ES256`. The following payload
217
+ # fields are required. For more information, see [RFC 7523, Section 3](https://
218
+ # tools.ietf.org/html/rfc7523#section-3): - `iss`: The issuer of the token. The
219
+ # issuer must provide a discovery document at the URL `/.well-known/openid-
220
+ # configuration`, where `` is the value of this field. The document must be
221
+ # formatted according to section 4.2 of the [OIDC 1.0 Discovery specification](
222
+ # https://openid.net/specs/openid-connect-discovery-1_0.html#
75
223
  # ProviderConfigurationResponse). - `iat`: The issue time, in seconds, since the
76
224
  # Unix epoch. Must be in the past. - `exp`: The expiration time, in seconds,
77
225
  # since the Unix epoch. Must be less than 48 hours after `iat`. Shorter
@@ -106,8 +254,8 @@ module Google
106
254
  # The full, canonical resource name of the workload identity pool provider, with
107
255
  # or without an `https:` prefix. To help ensure data integrity, we recommend
108
256
  # including this header in the `SignedHeaders` field of the signed request. For
109
- # example: //iam.googleapis.com/projects//locations//workloadIdentityPools//
110
- # providers/ https://iam.googleapis.com/projects//locations//
257
+ # example: //iam.googleapis.com/projects//locations/global/workloadIdentityPools/
258
+ # /providers/ https://iam.googleapis.com/projects//locations/global/
111
259
  # workloadIdentityPools//providers/ If you are using temporary security
112
260
  # credentials provided by AWS, you must also include the header `x-amz-security-
113
261
  # token`, with the value set to the session token. The following example shows a
@@ -115,8 +263,8 @@ module Google
115
263
  # 20200815T015049Z"`, `"key": "Authorization", "value": "AWS4-HMAC-SHA256+
116
264
  # Credential=$credential,+SignedHeaders=host;x-amz-date;x-goog-cloud-target-
117
265
  # resource,+Signature=$signature"`, `"key": "x-goog-cloud-target-resource", "
118
- # value": "//iam.googleapis.com/projects//locations//workloadIdentityPools//
119
- # providers/"`, `"key": "host", "value": "sts.amazonaws.com"` . ], "method": "
266
+ # value": "//iam.googleapis.com/projects//locations/global/workloadIdentityPools/
267
+ # /providers/"`, `"key": "host", "value": "sts.amazonaws.com"` . ], "method": "
120
268
  # POST", "url": "https://sts.amazonaws.com?Action=GetCallerIdentity&Version=2011-
121
269
  # 06-15" ` ``` You can also use a Google-issued OAuth 2.0 access token with this
122
270
  # field to obtain an access token with new security attributes applied, such as
@@ -129,8 +277,8 @@ module Google
129
277
 
130
278
  # Required. An identifier that indicates the type of the security token in the `
131
279
  # subject_token` parameter. Supported values are `urn:ietf:params:oauth:token-
132
- # type:jwt`, `urn:ietf:params:aws:token-type:aws4_request`, and `urn:ietf:params:
133
- # oauth:token-type:access_token`.
280
+ # type:jwt`, `urn:ietf:params:oauth:token-type:id_token`, `urn:ietf:params:aws:
281
+ # token-type:aws4_request`, and `urn:ietf:params:oauth:token-type:access_token`.
134
282
  # Corresponds to the JSON property `subjectTokenType`
135
283
  # @return [String]
136
284
  attr_accessor :subject_token_type
@@ -196,21 +344,61 @@ module Google
196
344
  end
197
345
  end
198
346
 
199
- # Request message for IntrospectToken.
200
- class GoogleIdentityStsV1IntrospectTokenRequest
347
+ # An `Options` object configures features that the Security Token Service
348
+ # supports, but that are not supported by standard OAuth 2.0 token exchange
349
+ # endpoints, as defined in https://tools.ietf.org/html/rfc8693.
350
+ class GoogleIdentityStsV1Options
201
351
  include Google::Apis::Core::Hashable
202
352
 
203
- # Required. The OAuth 2.0 security token issued by the Security Token Service
204
- # API.
205
- # Corresponds to the JSON property `token`
353
+ # An access boundary defines the upper bound of what a principal may access. It
354
+ # includes a list of access boundary rules that each defines the resource that
355
+ # may be allowed as well as permissions that may be used on those resources.
356
+ # Corresponds to the JSON property `accessBoundary`
357
+ # @return [Google::Apis::StsV1::GoogleIdentityStsV1AccessBoundary]
358
+ attr_accessor :access_boundary
359
+
360
+ # The intended audience(s) of the credential. The audience value(s) should be
361
+ # the name(s) of services intended to receive the credential. Example: `["https:/
362
+ # /pubsub.googleapis.com/", "https://storage.googleapis.com/"]`. A maximum of 5
363
+ # audiences can be included. For each provided audience, the maximum length is
364
+ # 262 characters.
365
+ # Corresponds to the JSON property `audiences`
366
+ # @return [Array<String>]
367
+ attr_accessor :audiences
368
+
369
+ # A Google project used for quota and billing purposes when the credential is
370
+ # used to access Google APIs. The provided project overrides the project bound
371
+ # to the credential. The value must be a project number or a project ID. Example:
372
+ # `my-sample-project-191923`. The maximum length is 32 characters.
373
+ # Corresponds to the JSON property `userProject`
206
374
  # @return [String]
207
- attr_accessor :token
375
+ attr_accessor :user_project
208
376
 
209
- # Optional. The type of the given token. Supported values are `urn:ietf:params:
210
- # oauth:token-type:access_token` and `access_token`.
211
- # Corresponds to the JSON property `tokenTypeHint`
212
- # @return [String]
213
- attr_accessor :token_type_hint
377
+ def initialize(**args)
378
+ update!(**args)
379
+ end
380
+
381
+ # Update properties of this object
382
+ def update!(**args)
383
+ @access_boundary = args[:access_boundary] if args.key?(:access_boundary)
384
+ @audiences = args[:audiences] if args.key?(:audiences)
385
+ @user_project = args[:user_project] if args.key?(:user_project)
386
+ end
387
+ end
388
+
389
+ # An access boundary defines the upper bound of what a principal may access. It
390
+ # includes a list of access boundary rules that each defines the resource that
391
+ # may be allowed as well as permissions that may be used on those resources.
392
+ class GoogleIdentityStsV1betaAccessBoundary
393
+ include Google::Apis::Core::Hashable
394
+
395
+ # A list of access boundary rules which defines the upper bound of the
396
+ # permission a principal may carry. If multiple rules are specified, the
397
+ # effective access boundary is the union of all the access boundary rules
398
+ # attached. One access boundary can contain at most 10 rules.
399
+ # Corresponds to the JSON property `accessBoundaryRules`
400
+ # @return [Array<Google::Apis::StsV1::GoogleIdentityStsV1betaAccessBoundaryRule>]
401
+ attr_accessor :access_boundary_rules
214
402
 
215
403
  def initialize(**args)
216
404
  update!(**args)
@@ -218,65 +406,144 @@ module Google
218
406
 
219
407
  # Update properties of this object
220
408
  def update!(**args)
221
- @token = args[:token] if args.key?(:token)
222
- @token_type_hint = args[:token_type_hint] if args.key?(:token_type_hint)
409
+ @access_boundary_rules = args[:access_boundary_rules] if args.key?(:access_boundary_rules)
223
410
  end
224
411
  end
225
412
 
226
- # Response message for IntrospectToken.
227
- class GoogleIdentityStsV1IntrospectTokenResponse
413
+ # An access boundary rule defines an upper bound of IAM permissions on a single
414
+ # resource.
415
+ class GoogleIdentityStsV1betaAccessBoundaryRule
228
416
  include Google::Apis::Core::Hashable
229
417
 
230
- # A boolean value that indicates whether the provided access token is currently
231
- # active.
232
- # Corresponds to the JSON property `active`
233
- # @return [Boolean]
234
- attr_accessor :active
235
- alias_method :active?, :active
418
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
419
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
420
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
421
+ # "Summary size limit" description: "Determines if a summary is less than 100
422
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
423
+ # Requestor is owner" description: "Determines if requestor is the document
424
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
425
+ # Logic): title: "Public documents" description: "Determine whether the document
426
+ # should be publicly visible" expression: "document.type != 'private' &&
427
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
428
+ # string" description: "Create a notification string with a timestamp."
429
+ # expression: "'New message received at ' + string(document.create_time)" The
430
+ # exact variables and functions that may be referenced within an expression are
431
+ # determined by the service that evaluates it. See the service documentation for
432
+ # additional information.
433
+ # Corresponds to the JSON property `availabilityCondition`
434
+ # @return [Google::Apis::StsV1::GoogleTypeExpr]
435
+ attr_accessor :availability_condition
436
+
437
+ # A list of permissions that may be allowed for use on the specified resource.
438
+ # The only supported values in the list are IAM roles, following the format of
439
+ # google.iam.v1.Binding.role. Example value: `inRole:roles/logging.viewer` for
440
+ # predefined roles and `inRole:organizations/`ORGANIZATION_ID`/roles/logging.
441
+ # viewer` for custom roles.
442
+ # Corresponds to the JSON property `availablePermissions`
443
+ # @return [Array<String>]
444
+ attr_accessor :available_permissions
445
+
446
+ # The full resource name of a Google Cloud resource entity. The format
447
+ # definition is at https://cloud.google.com/apis/design/resource_names. Example
448
+ # value: `//cloudresourcemanager.googleapis.com/projects/my-project`.
449
+ # Corresponds to the JSON property `availableResource`
450
+ # @return [String]
451
+ attr_accessor :available_resource
452
+
453
+ def initialize(**args)
454
+ update!(**args)
455
+ end
456
+
457
+ # Update properties of this object
458
+ def update!(**args)
459
+ @availability_condition = args[:availability_condition] if args.key?(:availability_condition)
460
+ @available_permissions = args[:available_permissions] if args.key?(:available_permissions)
461
+ @available_resource = args[:available_resource] if args.key?(:available_resource)
462
+ end
463
+ end
464
+
465
+ # An `Options` object configures features that the Security Token Service
466
+ # supports, but that are not supported by standard OAuth 2.0 token exchange
467
+ # endpoints, as defined in https://tools.ietf.org/html/rfc8693.
468
+ class GoogleIdentityStsV1betaOptions
469
+ include Google::Apis::Core::Hashable
236
470
 
237
- # The client identifier for the OAuth 2.0 client that requested the provided
238
- # token.
239
- # Corresponds to the JSON property `client_id`
471
+ # An access boundary defines the upper bound of what a principal may access. It
472
+ # includes a list of access boundary rules that each defines the resource that
473
+ # may be allowed as well as permissions that may be used on those resources.
474
+ # Corresponds to the JSON property `accessBoundary`
475
+ # @return [Google::Apis::StsV1::GoogleIdentityStsV1betaAccessBoundary]
476
+ attr_accessor :access_boundary
477
+
478
+ # The intended audience(s) of the credential. The audience value(s) should be
479
+ # the name(s) of services intended to receive the credential. Example: `["https:/
480
+ # /pubsub.googleapis.com/", "https://storage.googleapis.com/"]`. A maximum of 5
481
+ # audiences can be included. For each provided audience, the maximum length is
482
+ # 262 characters.
483
+ # Corresponds to the JSON property `audiences`
484
+ # @return [Array<String>]
485
+ attr_accessor :audiences
486
+
487
+ # A Google project used for quota and billing purposes when the credential is
488
+ # used to access Google APIs. The provided project overrides the project bound
489
+ # to the credential. The value must be a project number or a project ID. Example:
490
+ # `my-sample-project-191923`. The maximum length is 32 characters.
491
+ # Corresponds to the JSON property `userProject`
240
492
  # @return [String]
241
- attr_accessor :client_id
493
+ attr_accessor :user_project
242
494
 
243
- # The expiration timestamp, measured in the number of seconds since January 1
244
- # 1970 UTC, indicating when this token will expire.
245
- # Corresponds to the JSON property `exp`
246
- # @return [Fixnum]
247
- attr_accessor :exp
495
+ def initialize(**args)
496
+ update!(**args)
497
+ end
248
498
 
249
- # The issued timestamp, measured in the number of seconds since January 1 1970
250
- # UTC, indicating when this token was originally issued.
251
- # Corresponds to the JSON property `iat`
252
- # @return [Fixnum]
253
- attr_accessor :iat
499
+ # Update properties of this object
500
+ def update!(**args)
501
+ @access_boundary = args[:access_boundary] if args.key?(:access_boundary)
502
+ @audiences = args[:audiences] if args.key?(:audiences)
503
+ @user_project = args[:user_project] if args.key?(:user_project)
504
+ end
505
+ end
254
506
 
255
- # The issuer of the provided token.
256
- # Corresponds to the JSON property `iss`
507
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
508
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
509
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
510
+ # "Summary size limit" description: "Determines if a summary is less than 100
511
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
512
+ # Requestor is owner" description: "Determines if requestor is the document
513
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
514
+ # Logic): title: "Public documents" description: "Determine whether the document
515
+ # should be publicly visible" expression: "document.type != 'private' &&
516
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
517
+ # string" description: "Create a notification string with a timestamp."
518
+ # expression: "'New message received at ' + string(document.create_time)" The
519
+ # exact variables and functions that may be referenced within an expression are
520
+ # determined by the service that evaluates it. See the service documentation for
521
+ # additional information.
522
+ class GoogleTypeExpr
523
+ include Google::Apis::Core::Hashable
524
+
525
+ # Optional. Description of the expression. This is a longer text which describes
526
+ # the expression, e.g. when hovered over it in a UI.
527
+ # Corresponds to the JSON property `description`
257
528
  # @return [String]
258
- attr_accessor :iss
529
+ attr_accessor :description
259
530
 
260
- # A list of scopes associated with the provided token.
261
- # Corresponds to the JSON property `scope`
531
+ # Textual representation of an expression in Common Expression Language syntax.
532
+ # Corresponds to the JSON property `expression`
262
533
  # @return [String]
263
- attr_accessor :scope
534
+ attr_accessor :expression
264
535
 
265
- # The unique user ID associated with the provided token. For Google Accounts,
266
- # this value is based on the Google Account's user ID. For federated identities,
267
- # this value is based on the identity pool ID and the value of the mapped `
268
- # google.subject` attribute.
269
- # Corresponds to the JSON property `sub`
536
+ # Optional. String indicating the location of the expression for error reporting,
537
+ # e.g. a file name and a position in the file.
538
+ # Corresponds to the JSON property `location`
270
539
  # @return [String]
271
- attr_accessor :sub
540
+ attr_accessor :location
272
541
 
273
- # The human-readable identifier for the token principal subject. For example, if
274
- # the provided token is associated with a workload identity pool, this field
275
- # contains a value in the following format: `principal://iam.googleapis.com/
276
- # projects//locations//workloadIdentityPools//subject/`
277
- # Corresponds to the JSON property `username`
542
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
543
+ # This can be used e.g. in UIs which allow to enter the expression.
544
+ # Corresponds to the JSON property `title`
278
545
  # @return [String]
279
- attr_accessor :username
546
+ attr_accessor :title
280
547
 
281
548
  def initialize(**args)
282
549
  update!(**args)
@@ -284,14 +551,10 @@ module Google
284
551
 
285
552
  # Update properties of this object
286
553
  def update!(**args)
287
- @active = args[:active] if args.key?(:active)
288
- @client_id = args[:client_id] if args.key?(:client_id)
289
- @exp = args[:exp] if args.key?(:exp)
290
- @iat = args[:iat] if args.key?(:iat)
291
- @iss = args[:iss] if args.key?(:iss)
292
- @scope = args[:scope] if args.key?(:scope)
293
- @sub = args[:sub] if args.key?(:sub)
294
- @username = args[:username] if args.key?(:username)
554
+ @description = args[:description] if args.key?(:description)
555
+ @expression = args[:expression] if args.key?(:expression)
556
+ @location = args[:location] if args.key?(:location)
557
+ @title = args[:title] if args.key?(:title)
295
558
  end
296
559
  end
297
560
  end
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module StsV1
18
18
  # Version of the google-apis-sts_v1 gem
19
- GEM_VERSION = "0.8.0"
19
+ GEM_VERSION = "0.12.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
- GENERATOR_VERSION = "0.3.0"
22
+ GENERATOR_VERSION = "0.4.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20210613"
25
+ REVISION = "20210822"
26
26
  end
27
27
  end
28
28
  end
@@ -22,6 +22,24 @@ module Google
22
22
  module Apis
23
23
  module StsV1
24
24
 
25
+ class GoogleIamV1Binding
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
31
+ class GoogleIdentityStsV1AccessBoundary
32
+ class Representation < Google::Apis::Core::JsonRepresentation; end
33
+
34
+ include Google::Apis::Core::JsonObjectSupport
35
+ end
36
+
37
+ class GoogleIdentityStsV1AccessBoundaryRule
38
+ class Representation < Google::Apis::Core::JsonRepresentation; end
39
+
40
+ include Google::Apis::Core::JsonObjectSupport
41
+ end
42
+
25
43
  class GoogleIdentityStsV1ExchangeTokenRequest
26
44
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
45
 
@@ -34,18 +52,64 @@ module Google
34
52
  include Google::Apis::Core::JsonObjectSupport
35
53
  end
36
54
 
37
- class GoogleIdentityStsV1IntrospectTokenRequest
55
+ class GoogleIdentityStsV1Options
56
+ class Representation < Google::Apis::Core::JsonRepresentation; end
57
+
58
+ include Google::Apis::Core::JsonObjectSupport
59
+ end
60
+
61
+ class GoogleIdentityStsV1betaAccessBoundary
38
62
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
63
 
40
64
  include Google::Apis::Core::JsonObjectSupport
41
65
  end
42
66
 
43
- class GoogleIdentityStsV1IntrospectTokenResponse
67
+ class GoogleIdentityStsV1betaAccessBoundaryRule
44
68
  class Representation < Google::Apis::Core::JsonRepresentation; end
45
69
 
46
70
  include Google::Apis::Core::JsonObjectSupport
47
71
  end
48
72
 
73
+ class GoogleIdentityStsV1betaOptions
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
79
+ class GoogleTypeExpr
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class GoogleIamV1Binding
86
+ # @private
87
+ class Representation < Google::Apis::Core::JsonRepresentation
88
+ property :condition, as: 'condition', class: Google::Apis::StsV1::GoogleTypeExpr, decorator: Google::Apis::StsV1::GoogleTypeExpr::Representation
89
+
90
+ collection :members, as: 'members'
91
+ property :role, as: 'role'
92
+ end
93
+ end
94
+
95
+ class GoogleIdentityStsV1AccessBoundary
96
+ # @private
97
+ class Representation < Google::Apis::Core::JsonRepresentation
98
+ collection :access_boundary_rules, as: 'accessBoundaryRules', class: Google::Apis::StsV1::GoogleIdentityStsV1AccessBoundaryRule, decorator: Google::Apis::StsV1::GoogleIdentityStsV1AccessBoundaryRule::Representation
99
+
100
+ end
101
+ end
102
+
103
+ class GoogleIdentityStsV1AccessBoundaryRule
104
+ # @private
105
+ class Representation < Google::Apis::Core::JsonRepresentation
106
+ property :availability_condition, as: 'availabilityCondition', class: Google::Apis::StsV1::GoogleTypeExpr, decorator: Google::Apis::StsV1::GoogleTypeExpr::Representation
107
+
108
+ collection :available_permissions, as: 'availablePermissions'
109
+ property :available_resource, as: 'availableResource'
110
+ end
111
+ end
112
+
49
113
  class GoogleIdentityStsV1ExchangeTokenRequest
50
114
  # @private
51
115
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -69,25 +133,51 @@ module Google
69
133
  end
70
134
  end
71
135
 
72
- class GoogleIdentityStsV1IntrospectTokenRequest
136
+ class GoogleIdentityStsV1Options
73
137
  # @private
74
138
  class Representation < Google::Apis::Core::JsonRepresentation
75
- property :token, as: 'token'
76
- property :token_type_hint, as: 'tokenTypeHint'
139
+ property :access_boundary, as: 'accessBoundary', class: Google::Apis::StsV1::GoogleIdentityStsV1AccessBoundary, decorator: Google::Apis::StsV1::GoogleIdentityStsV1AccessBoundary::Representation
140
+
141
+ collection :audiences, as: 'audiences'
142
+ property :user_project, as: 'userProject'
77
143
  end
78
144
  end
79
145
 
80
- class GoogleIdentityStsV1IntrospectTokenResponse
146
+ class GoogleIdentityStsV1betaAccessBoundary
81
147
  # @private
82
148
  class Representation < Google::Apis::Core::JsonRepresentation
83
- property :active, as: 'active'
84
- property :client_id, as: 'client_id'
85
- property :exp, :numeric_string => true, as: 'exp'
86
- property :iat, :numeric_string => true, as: 'iat'
87
- property :iss, as: 'iss'
88
- property :scope, as: 'scope'
89
- property :sub, as: 'sub'
90
- property :username, as: 'username'
149
+ collection :access_boundary_rules, as: 'accessBoundaryRules', class: Google::Apis::StsV1::GoogleIdentityStsV1betaAccessBoundaryRule, decorator: Google::Apis::StsV1::GoogleIdentityStsV1betaAccessBoundaryRule::Representation
150
+
151
+ end
152
+ end
153
+
154
+ class GoogleIdentityStsV1betaAccessBoundaryRule
155
+ # @private
156
+ class Representation < Google::Apis::Core::JsonRepresentation
157
+ property :availability_condition, as: 'availabilityCondition', class: Google::Apis::StsV1::GoogleTypeExpr, decorator: Google::Apis::StsV1::GoogleTypeExpr::Representation
158
+
159
+ collection :available_permissions, as: 'availablePermissions'
160
+ property :available_resource, as: 'availableResource'
161
+ end
162
+ end
163
+
164
+ class GoogleIdentityStsV1betaOptions
165
+ # @private
166
+ class Representation < Google::Apis::Core::JsonRepresentation
167
+ property :access_boundary, as: 'accessBoundary', class: Google::Apis::StsV1::GoogleIdentityStsV1betaAccessBoundary, decorator: Google::Apis::StsV1::GoogleIdentityStsV1betaAccessBoundary::Representation
168
+
169
+ collection :audiences, as: 'audiences'
170
+ property :user_project, as: 'userProject'
171
+ end
172
+ end
173
+
174
+ class GoogleTypeExpr
175
+ # @private
176
+ class Representation < Google::Apis::Core::JsonRepresentation
177
+ property :description, as: 'description'
178
+ property :expression, as: 'expression'
179
+ property :location, as: 'location'
180
+ property :title, as: 'title'
91
181
  end
92
182
  end
93
183
  end
@@ -50,38 +50,6 @@ module Google
50
50
  @batch_path = 'batch'
51
51
  end
52
52
 
53
- # Gets information about a Google OAuth 2.0 access token issued by the Google
54
- # Cloud [Security Token Service API](https://cloud.google.com/iam/docs/reference/
55
- # sts/rest).
56
- # @param [Google::Apis::StsV1::GoogleIdentityStsV1IntrospectTokenRequest] google_identity_sts_v1_introspect_token_request_object
57
- # @param [String] fields
58
- # Selector specifying which fields to include in a partial response.
59
- # @param [String] quota_user
60
- # Available to use for quota purposes for server-side applications. Can be any
61
- # arbitrary string assigned to a user, but should not exceed 40 characters.
62
- # @param [Google::Apis::RequestOptions] options
63
- # Request-specific options
64
- #
65
- # @yield [result, err] Result & error if block supplied
66
- # @yieldparam result [Google::Apis::StsV1::GoogleIdentityStsV1IntrospectTokenResponse] parsed result object
67
- # @yieldparam err [StandardError] error object if request failed
68
- #
69
- # @return [Google::Apis::StsV1::GoogleIdentityStsV1IntrospectTokenResponse]
70
- #
71
- # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
72
- # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
73
- # @raise [Google::Apis::AuthorizationError] Authorization is required
74
- def introspect(google_identity_sts_v1_introspect_token_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
75
- command = make_simple_command(:post, 'v1/introspect', options)
76
- command.request_representation = Google::Apis::StsV1::GoogleIdentityStsV1IntrospectTokenRequest::Representation
77
- command.request_object = google_identity_sts_v1_introspect_token_request_object
78
- command.response_representation = Google::Apis::StsV1::GoogleIdentityStsV1IntrospectTokenResponse::Representation
79
- command.response_class = Google::Apis::StsV1::GoogleIdentityStsV1IntrospectTokenResponse
80
- command.query['fields'] = fields unless fields.nil?
81
- command.query['quotaUser'] = quota_user unless quota_user.nil?
82
- execute_or_queue_command(command, &block)
83
- end
84
-
85
53
  # Exchanges a credential for a Google OAuth 2.0 access token. The token asserts
86
54
  # an external identity within a workload identity pool, or it applies a
87
55
  # Credential Access Boundary to a Google access token. When you call this method,
metadata CHANGED
@@ -1,29 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-sts_v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.12.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-06-21 00:00:00.000000000 Z
11
+ date: 2021-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0.1'
19
+ version: '0.4'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 2.a
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.4'
30
+ - - "<"
25
31
  - !ruby/object:Gem::Version
26
- version: '0.1'
32
+ version: 2.a
27
33
  description: This is the simple REST client for Security Token Service API V1. Simple
28
34
  REST clients are Ruby client libraries that provide access to Google services via
29
35
  their HTTP REST API endpoints. These libraries are generated and updated automatically
@@ -52,7 +58,7 @@ licenses:
52
58
  metadata:
53
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
54
60
  changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-sts_v1/CHANGELOG.md
55
- documentation_uri: https://googleapis.dev/ruby/google-apis-sts_v1/v0.8.0
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-sts_v1/v0.12.0
56
62
  source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-sts_v1
57
63
  post_install_message:
58
64
  rdoc_options: []