google-apis-sts_v1 0.8.0 → 0.12.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 +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: []
|