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 +4 -4
- data/CHANGELOG.md +17 -0
- data/lib/google/apis/sts_v1/classes.rb +341 -78
- data/lib/google/apis/sts_v1/gem_version.rb +3 -3
- data/lib/google/apis/sts_v1/representations.rb +104 -14
- data/lib/google/apis/sts_v1/service.rb +0 -32
- metadata +13 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 971ef463a731e1e7f25c970b4383f02a60246ae28b41b6d72b895cb7a505d032
|
4
|
+
data.tar.gz: d3b560eeae4c7c819f6c002f6fb2db7a21cfdd2bd36b8b78650ea18e07e342f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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/`.
|
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
|
67
|
-
#
|
68
|
-
#
|
69
|
-
#
|
70
|
-
# Section 3](https://
|
71
|
-
#
|
72
|
-
#
|
73
|
-
#
|
74
|
-
# specification](
|
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
|
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
|
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:
|
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
|
-
#
|
200
|
-
|
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
|
-
#
|
204
|
-
#
|
205
|
-
#
|
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 :
|
375
|
+
attr_accessor :user_project
|
208
376
|
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
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
|
-
@
|
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
|
-
#
|
227
|
-
|
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
|
-
#
|
231
|
-
#
|
232
|
-
#
|
233
|
-
#
|
234
|
-
|
235
|
-
|
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
|
-
#
|
238
|
-
#
|
239
|
-
#
|
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 :
|
493
|
+
attr_accessor :user_project
|
242
494
|
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
# @return [Fixnum]
|
247
|
-
attr_accessor :exp
|
495
|
+
def initialize(**args)
|
496
|
+
update!(**args)
|
497
|
+
end
|
248
498
|
|
249
|
-
#
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
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
|
-
|
256
|
-
|
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 :
|
529
|
+
attr_accessor :description
|
259
530
|
|
260
|
-
#
|
261
|
-
# Corresponds to the JSON property `
|
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 :
|
534
|
+
attr_accessor :expression
|
264
535
|
|
265
|
-
#
|
266
|
-
#
|
267
|
-
#
|
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 :
|
540
|
+
attr_accessor :location
|
272
541
|
|
273
|
-
#
|
274
|
-
#
|
275
|
-
#
|
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 :
|
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
|
-
@
|
288
|
-
@
|
289
|
-
@
|
290
|
-
@
|
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.
|
19
|
+
GEM_VERSION = "0.12.0"
|
20
20
|
|
21
21
|
# Version of the code generator used to generate this client
|
22
|
-
GENERATOR_VERSION = "0.
|
22
|
+
GENERATOR_VERSION = "0.4.0"
|
23
23
|
|
24
24
|
# Revision of the discovery document this client was generated from
|
25
|
-
REVISION = "
|
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
|
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
|
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
|
136
|
+
class GoogleIdentityStsV1Options
|
73
137
|
# @private
|
74
138
|
class Representation < Google::Apis::Core::JsonRepresentation
|
75
|
-
property :
|
76
|
-
|
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
|
146
|
+
class GoogleIdentityStsV1betaAccessBoundary
|
81
147
|
# @private
|
82
148
|
class Representation < Google::Apis::Core::JsonRepresentation
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
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.
|
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
|
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.
|
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:
|
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.
|
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: []
|