google-apis-iam_v1 0.36.0 → 0.72.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 +154 -0
- data/OVERVIEW.md +2 -2
- data/lib/google/apis/iam_v1/classes.rb +2190 -392
- data/lib/google/apis/iam_v1/gem_version.rb +3 -3
- data/lib/google/apis/iam_v1/representations.rb +802 -17
- data/lib/google/apis/iam_v1/service.rb +2759 -501
- data/lib/google/apis/iam_v1.rb +5 -3
- metadata +7 -10
@@ -22,6 +22,56 @@ module Google
|
|
22
22
|
module Apis
|
23
23
|
module IamV1
|
24
24
|
|
25
|
+
# Access related restrictions on the workforce pool.
|
26
|
+
class AccessRestrictions
|
27
|
+
include Google::Apis::Core::Hashable
|
28
|
+
|
29
|
+
# Optional. Immutable. Services allowed for web sign-in with the workforce pool.
|
30
|
+
# If not set by default there are no restrictions.
|
31
|
+
# Corresponds to the JSON property `allowedServices`
|
32
|
+
# @return [Array<Google::Apis::IamV1::ServiceConfig>]
|
33
|
+
attr_accessor :allowed_services
|
34
|
+
|
35
|
+
# Optional. Disable programmatic sign-in by disabling token issue via the
|
36
|
+
# Security Token API endpoint. See [Security Token Service API] (https://cloud.
|
37
|
+
# google.com/iam/docs/reference/sts/rest).
|
38
|
+
# Corresponds to the JSON property `disableProgrammaticSignin`
|
39
|
+
# @return [Boolean]
|
40
|
+
attr_accessor :disable_programmatic_signin
|
41
|
+
alias_method :disable_programmatic_signin?, :disable_programmatic_signin
|
42
|
+
|
43
|
+
def initialize(**args)
|
44
|
+
update!(**args)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Update properties of this object
|
48
|
+
def update!(**args)
|
49
|
+
@allowed_services = args[:allowed_services] if args.key?(:allowed_services)
|
50
|
+
@disable_programmatic_signin = args[:disable_programmatic_signin] if args.key?(:disable_programmatic_signin)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Request message for AddAttestationRule.
|
55
|
+
class AddAttestationRuleRequest
|
56
|
+
include Google::Apis::Core::Hashable
|
57
|
+
|
58
|
+
# Defines which workloads can receive an identity within a pool. When an
|
59
|
+
# AttestationRule is defined under a managed identity, matching workloads may
|
60
|
+
# receive that identity.
|
61
|
+
# Corresponds to the JSON property `attestationRule`
|
62
|
+
# @return [Google::Apis::IamV1::AttestationRule]
|
63
|
+
attr_accessor :attestation_rule
|
64
|
+
|
65
|
+
def initialize(**args)
|
66
|
+
update!(**args)
|
67
|
+
end
|
68
|
+
|
69
|
+
# Update properties of this object
|
70
|
+
def update!(**args)
|
71
|
+
@attestation_rule = args[:attestation_rule] if args.key?(:attestation_rule)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
25
75
|
# Audit log information specific to Cloud IAM admin APIs. This message is
|
26
76
|
# serialized as an `Any` type in the `ServiceData` message of an `AuditLog`
|
27
77
|
# message.
|
@@ -44,6 +94,28 @@ module Google
|
|
44
94
|
end
|
45
95
|
end
|
46
96
|
|
97
|
+
# Defines which workloads can receive an identity within a pool. When an
|
98
|
+
# AttestationRule is defined under a managed identity, matching workloads may
|
99
|
+
# receive that identity.
|
100
|
+
class AttestationRule
|
101
|
+
include Google::Apis::Core::Hashable
|
102
|
+
|
103
|
+
# Optional. A single workload operating on Google Cloud. For example: `//compute.
|
104
|
+
# googleapis.com/projects/123/uid/zones/us-central1-a/instances/12345`.
|
105
|
+
# Corresponds to the JSON property `googleCloudResource`
|
106
|
+
# @return [String]
|
107
|
+
attr_accessor :google_cloud_resource
|
108
|
+
|
109
|
+
def initialize(**args)
|
110
|
+
update!(**args)
|
111
|
+
end
|
112
|
+
|
113
|
+
# Update properties of this object
|
114
|
+
def update!(**args)
|
115
|
+
@google_cloud_resource = args[:google_cloud_resource] if args.key?(:google_cloud_resource)
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
47
119
|
# Specifies the audit configuration for a service. The configuration determines
|
48
120
|
# which permission types are logged, and what identities, if any, are exempted
|
49
121
|
# from logging. An AuditConfig must have one or more AuditLogConfigs. If there
|
@@ -139,8 +211,8 @@ module Google
|
|
139
211
|
class AuditableService
|
140
212
|
include Google::Apis::Core::Hashable
|
141
213
|
|
142
|
-
# Public name of the service. For example, the service name for
|
143
|
-
#
|
214
|
+
# Public name of the service. For example, the service name for IAM is 'iam.
|
215
|
+
# googleapis.com'.
|
144
216
|
# Corresponds to the JSON property `name`
|
145
217
|
# @return [String]
|
146
218
|
attr_accessor :name
|
@@ -212,7 +284,27 @@ module Google
|
|
212
284
|
# kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
|
213
285
|
# project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
|
214
286
|
# email address that represents a Google group. For example, `admins@example.com`
|
215
|
-
# . * `
|
287
|
+
# . * `domain:`domain``: The G Suite domain (primary) that represents all the
|
288
|
+
# users of that domain. For example, `google.com` or `example.com`. * `principal:
|
289
|
+
# //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
|
290
|
+
# subject_attribute_value``: A single identity in a workforce identity pool. * `
|
291
|
+
# principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
|
292
|
+
# group/`group_id``: All workforce identities in a group. * `principalSet://iam.
|
293
|
+
# googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
|
294
|
+
# attribute_name`/`attribute_value``: All workforce identities with a specific
|
295
|
+
# attribute value. * `principalSet://iam.googleapis.com/locations/global/
|
296
|
+
# workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
|
297
|
+
# principal://iam.googleapis.com/projects/`project_number`/locations/global/
|
298
|
+
# workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
|
299
|
+
# identity in a workload identity pool. * `principalSet://iam.googleapis.com/
|
300
|
+
# projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
|
301
|
+
# group/`group_id``: A workload identity pool group. * `principalSet://iam.
|
302
|
+
# googleapis.com/projects/`project_number`/locations/global/
|
303
|
+
# workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
|
304
|
+
# All identities in a workload identity pool with a certain attribute. * `
|
305
|
+
# principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
|
306
|
+
# workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
|
307
|
+
# * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
|
216
308
|
# identifier) representing a user that has been recently deleted. For example, `
|
217
309
|
# alice@example.com?uid=123456789012345678901`. If the user is recovered, this
|
218
310
|
# value reverts to `user:`emailid`` and the recovered user retains the role in
|
@@ -226,14 +318,19 @@ module Google
|
|
226
318
|
# been recently deleted. For example, `admins@example.com?uid=
|
227
319
|
# 123456789012345678901`. If the group is recovered, this value reverts to `
|
228
320
|
# group:`emailid`` and the recovered group retains the role in the binding. * `
|
229
|
-
#
|
230
|
-
#
|
321
|
+
# deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
|
322
|
+
# pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
|
323
|
+
# workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
|
324
|
+
# locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
|
231
325
|
# Corresponds to the JSON property `members`
|
232
326
|
# @return [Array<String>]
|
233
327
|
attr_accessor :members
|
234
328
|
|
235
329
|
# Role that is assigned to the list of `members`, or principals. For example, `
|
236
|
-
# roles/viewer`, `roles/editor`, or `roles/owner`.
|
330
|
+
# roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM
|
331
|
+
# roles and permissions, see the [IAM documentation](https://cloud.google.com/
|
332
|
+
# iam/docs/roles-overview). For a list of the available pre-defined roles, see [
|
333
|
+
# here](https://cloud.google.com/iam/docs/understanding-roles).
|
237
334
|
# Corresponds to the JSON property `role`
|
238
335
|
# @return [String]
|
239
336
|
attr_accessor :role
|
@@ -376,7 +473,7 @@ module Google
|
|
376
473
|
# https://cloud.google.com/iam/help/service-accounts/overview). When you create
|
377
474
|
# a service account, you specify the project ID that owns the service account,
|
378
475
|
# as well as a name that must be unique within the project. IAM uses these
|
379
|
-
# values to create an email address that identifies the service //
|
476
|
+
# values to create an email address that identifies the service account. //
|
380
477
|
# Corresponds to the JSON property `serviceAccount`
|
381
478
|
# @return [Google::Apis::IamV1::ServiceAccount]
|
382
479
|
attr_accessor :service_account
|
@@ -396,12 +493,28 @@ module Google
|
|
396
493
|
class DisableServiceAccountKeyRequest
|
397
494
|
include Google::Apis::Core::Hashable
|
398
495
|
|
496
|
+
# Optional. Usable by internal google services only. An extended_status_message
|
497
|
+
# can be used to include additional information about the key, such as its
|
498
|
+
# private key data being exposed on a public repository like GitHub.
|
499
|
+
# Corresponds to the JSON property `extendedStatusMessage`
|
500
|
+
# @return [String]
|
501
|
+
attr_accessor :extended_status_message
|
502
|
+
|
503
|
+
# Optional. Describes the reason this key is being disabled. If unspecified, the
|
504
|
+
# default value of SERVICE_ACCOUNT_KEY_DISABLE_REASON_USER_INITIATED will be
|
505
|
+
# used.
|
506
|
+
# Corresponds to the JSON property `serviceAccountKeyDisableReason`
|
507
|
+
# @return [String]
|
508
|
+
attr_accessor :service_account_key_disable_reason
|
509
|
+
|
399
510
|
def initialize(**args)
|
400
511
|
update!(**args)
|
401
512
|
end
|
402
513
|
|
403
514
|
# Update properties of this object
|
404
515
|
def update!(**args)
|
516
|
+
@extended_status_message = args[:extended_status_message] if args.key?(:extended_status_message)
|
517
|
+
@service_account_key_disable_reason = args[:service_account_key_disable_reason] if args.key?(:service_account_key_disable_reason)
|
405
518
|
end
|
406
519
|
end
|
407
520
|
|
@@ -514,38 +627,21 @@ module Google
|
|
514
627
|
end
|
515
628
|
end
|
516
629
|
|
517
|
-
#
|
518
|
-
|
630
|
+
# Extended status can store additional metadata. For example, for keys disabled
|
631
|
+
# due to their private key data being expoesed we may include a message with
|
632
|
+
# more information about the exposure.
|
633
|
+
class ExtendedStatus
|
519
634
|
include Google::Apis::Core::Hashable
|
520
635
|
|
521
|
-
#
|
522
|
-
#
|
523
|
-
#
|
524
|
-
|
525
|
-
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
526
|
-
# Requestor is owner" description: "Determines if requestor is the document
|
527
|
-
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
528
|
-
# Logic): title: "Public documents" description: "Determine whether the document
|
529
|
-
# should be publicly visible" expression: "document.type != 'private' &&
|
530
|
-
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
531
|
-
# string" description: "Create a notification string with a timestamp."
|
532
|
-
# expression: "'New message received at ' + string(document.create_time)" The
|
533
|
-
# exact variables and functions that may be referenced within an expression are
|
534
|
-
# determined by the service that evaluates it. See the service documentation for
|
535
|
-
# additional information.
|
536
|
-
# Corresponds to the JSON property `condition`
|
537
|
-
# @return [Google::Apis::IamV1::Expr]
|
538
|
-
attr_accessor :condition
|
636
|
+
# The key for this extended status.
|
637
|
+
# Corresponds to the JSON property `key`
|
638
|
+
# @return [String]
|
639
|
+
attr_accessor :key
|
539
640
|
|
540
|
-
# The
|
541
|
-
#
|
542
|
-
# project with ID `my-project` will be named `//cloudresourcemanager.googleapis.
|
543
|
-
# com/projects/my-project`. The resource name is not used to read the policy
|
544
|
-
# instance from the Cloud IAM database. The candidate policy for lint has to be
|
545
|
-
# provided in the same request object.
|
546
|
-
# Corresponds to the JSON property `fullResourceName`
|
641
|
+
# The value for the extended status.
|
642
|
+
# Corresponds to the JSON property `value`
|
547
643
|
# @return [String]
|
548
|
-
attr_accessor :
|
644
|
+
attr_accessor :value
|
549
645
|
|
550
646
|
def initialize(**args)
|
551
647
|
update!(**args)
|
@@ -553,20 +649,19 @@ module Google
|
|
553
649
|
|
554
650
|
# Update properties of this object
|
555
651
|
def update!(**args)
|
556
|
-
@
|
557
|
-
@
|
652
|
+
@key = args[:key] if args.key?(:key)
|
653
|
+
@value = args[:value] if args.key?(:value)
|
558
654
|
end
|
559
655
|
end
|
560
656
|
|
561
|
-
#
|
562
|
-
|
563
|
-
class LintPolicyResponse
|
657
|
+
# Request message for `GetIamPolicy` method.
|
658
|
+
class GetIamPolicyRequest
|
564
659
|
include Google::Apis::Core::Hashable
|
565
660
|
|
566
|
-
#
|
567
|
-
# Corresponds to the JSON property `
|
568
|
-
# @return [
|
569
|
-
attr_accessor :
|
661
|
+
# Encapsulates settings provided to GetIamPolicy.
|
662
|
+
# Corresponds to the JSON property `options`
|
663
|
+
# @return [Google::Apis::IamV1::GetPolicyOptions]
|
664
|
+
attr_accessor :options
|
570
665
|
|
571
666
|
def initialize(**args)
|
572
667
|
update!(**args)
|
@@ -574,50 +669,27 @@ module Google
|
|
574
669
|
|
575
670
|
# Update properties of this object
|
576
671
|
def update!(**args)
|
577
|
-
@
|
672
|
+
@options = args[:options] if args.key?(:options)
|
578
673
|
end
|
579
674
|
end
|
580
675
|
|
581
|
-
#
|
582
|
-
class
|
676
|
+
# Encapsulates settings provided to GetIamPolicy.
|
677
|
+
class GetPolicyOptions
|
583
678
|
include Google::Apis::Core::Hashable
|
584
679
|
|
585
|
-
#
|
586
|
-
#
|
587
|
-
#
|
588
|
-
|
589
|
-
|
590
|
-
#
|
591
|
-
#
|
592
|
-
#
|
593
|
-
#
|
594
|
-
#
|
595
|
-
# Corresponds to the JSON property `
|
596
|
-
# @return [String]
|
597
|
-
attr_accessor :field_name
|
598
|
-
|
599
|
-
# The validation unit level.
|
600
|
-
# Corresponds to the JSON property `level`
|
601
|
-
# @return [String]
|
602
|
-
attr_accessor :level
|
603
|
-
|
604
|
-
# 0-based character position of problematic construct within the object
|
605
|
-
# identified by `field_name`. Currently, this is populated only for condition
|
606
|
-
# expression.
|
607
|
-
# Corresponds to the JSON property `locationOffset`
|
680
|
+
# Optional. The maximum policy version that will be used to format the policy.
|
681
|
+
# Valid values are 0, 1, and 3. Requests specifying an invalid value will be
|
682
|
+
# rejected. Requests for policies with any conditional role bindings must
|
683
|
+
# specify version 3. Policies with no conditional role bindings may specify any
|
684
|
+
# valid value or leave the field unset. The policy in the response might use the
|
685
|
+
# policy version that you specified, or it might use a lower policy version. For
|
686
|
+
# example, if you specify version 3, but the policy has no conditional role
|
687
|
+
# bindings, the response uses version 1. To learn which resources support
|
688
|
+
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
689
|
+
# google.com/iam/help/conditions/resource-policies).
|
690
|
+
# Corresponds to the JSON property `requestedPolicyVersion`
|
608
691
|
# @return [Fixnum]
|
609
|
-
attr_accessor :
|
610
|
-
|
611
|
-
# The validation unit severity.
|
612
|
-
# Corresponds to the JSON property `severity`
|
613
|
-
# @return [String]
|
614
|
-
attr_accessor :severity
|
615
|
-
|
616
|
-
# The validation unit name, for instance "lintValidationUnits/
|
617
|
-
# ConditionComplexityCheck".
|
618
|
-
# Corresponds to the JSON property `validationUnitName`
|
619
|
-
# @return [String]
|
620
|
-
attr_accessor :validation_unit_name
|
692
|
+
attr_accessor :requested_policy_version
|
621
693
|
|
622
694
|
def initialize(**args)
|
623
695
|
update!(**args)
|
@@ -625,29 +697,45 @@ module Google
|
|
625
697
|
|
626
698
|
# Update properties of this object
|
627
699
|
def update!(**args)
|
628
|
-
@
|
629
|
-
@field_name = args[:field_name] if args.key?(:field_name)
|
630
|
-
@level = args[:level] if args.key?(:level)
|
631
|
-
@location_offset = args[:location_offset] if args.key?(:location_offset)
|
632
|
-
@severity = args[:severity] if args.key?(:severity)
|
633
|
-
@validation_unit_name = args[:validation_unit_name] if args.key?(:validation_unit_name)
|
700
|
+
@requested_policy_version = args[:requested_policy_version] if args.key?(:requested_policy_version)
|
634
701
|
end
|
635
702
|
end
|
636
703
|
|
637
|
-
#
|
638
|
-
|
704
|
+
# Represents the OAuth 2.0 client credential configuration for retrieving
|
705
|
+
# additional user attributes that are not present in the initial authentication
|
706
|
+
# credentials from the identity provider, e.g. groups. See https://datatracker.
|
707
|
+
# ietf.org/doc/html/rfc6749#section-4.4 for more details on client credentials
|
708
|
+
# grant flow.
|
709
|
+
class GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client
|
639
710
|
include Google::Apis::Core::Hashable
|
640
711
|
|
641
|
-
#
|
642
|
-
#
|
643
|
-
# Corresponds to the JSON property `nextPageToken`
|
712
|
+
# Required. Represents the IdP and type of claims that should be fetched.
|
713
|
+
# Corresponds to the JSON property `attributesType`
|
644
714
|
# @return [String]
|
645
|
-
attr_accessor :
|
715
|
+
attr_accessor :attributes_type
|
646
716
|
|
647
|
-
# The
|
648
|
-
#
|
649
|
-
#
|
650
|
-
|
717
|
+
# Required. The OAuth 2.0 client ID for retrieving extra attributes from the
|
718
|
+
# identity provider. Required to get the Access Token using client credentials
|
719
|
+
# grant flow.
|
720
|
+
# Corresponds to the JSON property `clientId`
|
721
|
+
# @return [String]
|
722
|
+
attr_accessor :client_id
|
723
|
+
|
724
|
+
# Representation of a client secret configured for the OIDC provider.
|
725
|
+
# Corresponds to the JSON property `clientSecret`
|
726
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret]
|
727
|
+
attr_accessor :client_secret
|
728
|
+
|
729
|
+
# Required. The OIDC identity provider's issuer URI. Must be a valid URI using
|
730
|
+
# the `https` scheme. Required to get the OIDC discovery document.
|
731
|
+
# Corresponds to the JSON property `issuerUri`
|
732
|
+
# @return [String]
|
733
|
+
attr_accessor :issuer_uri
|
734
|
+
|
735
|
+
# Represents the parameters to control which claims are fetched from an IdP.
|
736
|
+
# Corresponds to the JSON property `queryParameters`
|
737
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2ClientQueryParameters]
|
738
|
+
attr_accessor :query_parameters
|
651
739
|
|
652
740
|
def initialize(**args)
|
653
741
|
update!(**args)
|
@@ -655,19 +743,35 @@ module Google
|
|
655
743
|
|
656
744
|
# Update properties of this object
|
657
745
|
def update!(**args)
|
658
|
-
@
|
659
|
-
@
|
746
|
+
@attributes_type = args[:attributes_type] if args.key?(:attributes_type)
|
747
|
+
@client_id = args[:client_id] if args.key?(:client_id)
|
748
|
+
@client_secret = args[:client_secret] if args.key?(:client_secret)
|
749
|
+
@issuer_uri = args[:issuer_uri] if args.key?(:issuer_uri)
|
750
|
+
@query_parameters = args[:query_parameters] if args.key?(:query_parameters)
|
660
751
|
end
|
661
752
|
end
|
662
753
|
|
663
|
-
#
|
664
|
-
class
|
754
|
+
# Represents the parameters to control which claims are fetched from an IdP.
|
755
|
+
class GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2ClientQueryParameters
|
665
756
|
include Google::Apis::Core::Hashable
|
666
757
|
|
667
|
-
# The
|
668
|
-
#
|
669
|
-
#
|
670
|
-
|
758
|
+
# Optional. The filter used to request specific records from the IdP. By default,
|
759
|
+
# all of the groups that are associated with a user are fetched. For Microsoft
|
760
|
+
# Entra ID, you can add `$search` query parameters using [Keyword Query Language]
|
761
|
+
# (https://learn.microsoft.com/en-us/sharepoint/dev/general-development/keyword-
|
762
|
+
# query-language-kql-syntax-reference). To learn more about `$search` querying
|
763
|
+
# in Microsoft Entra ID, see [Use the `$search` query parameter] (https://learn.
|
764
|
+
# microsoft.com/en-us/graph/search-query-parameter). Additionally, Workforce
|
765
|
+
# Identity Federation automatically adds the following [`$filter` query
|
766
|
+
# parameters] (https://learn.microsoft.com/en-us/graph/filter-query-parameter),
|
767
|
+
# based on the value of `attributes_type`. Values passed to `filter` are
|
768
|
+
# converted to `$search` query parameters. Additional `$filter` query parameters
|
769
|
+
# cannot be added using this field. * `AZURE_AD_GROUPS_MAIL`: `mailEnabled` and `
|
770
|
+
# securityEnabled` filters are applied. * `AZURE_AD_GROUPS_ID`: `securityEnabled`
|
771
|
+
# filter is applied.
|
772
|
+
# Corresponds to the JSON property `filter`
|
773
|
+
# @return [String]
|
774
|
+
attr_accessor :filter
|
671
775
|
|
672
776
|
def initialize(**args)
|
673
777
|
update!(**args)
|
@@ -675,24 +779,45 @@ module Google
|
|
675
779
|
|
676
780
|
# Update properties of this object
|
677
781
|
def update!(**args)
|
678
|
-
@
|
782
|
+
@filter = args[:filter] if args.key?(:filter)
|
679
783
|
end
|
680
784
|
end
|
681
785
|
|
682
|
-
#
|
683
|
-
class
|
786
|
+
# Represents an OpenId Connect 1.0 identity provider.
|
787
|
+
class GoogleIamAdminV1WorkforcePoolProviderOidc
|
684
788
|
include Google::Apis::Core::Hashable
|
685
789
|
|
686
|
-
# The
|
687
|
-
#
|
688
|
-
#
|
689
|
-
|
790
|
+
# Required. The client ID. Must match the audience claim of the JWT issued by
|
791
|
+
# the identity provider.
|
792
|
+
# Corresponds to the JSON property `clientId`
|
793
|
+
# @return [String]
|
794
|
+
attr_accessor :client_id
|
690
795
|
|
691
|
-
#
|
692
|
-
#
|
693
|
-
#
|
796
|
+
# Representation of a client secret configured for the OIDC provider.
|
797
|
+
# Corresponds to the JSON property `clientSecret`
|
798
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret]
|
799
|
+
attr_accessor :client_secret
|
800
|
+
|
801
|
+
# Required. The OIDC issuer URI. Must be a valid URI using the `https` scheme.
|
802
|
+
# Corresponds to the JSON property `issuerUri`
|
694
803
|
# @return [String]
|
695
|
-
attr_accessor :
|
804
|
+
attr_accessor :issuer_uri
|
805
|
+
|
806
|
+
# Optional. OIDC JWKs in JSON String format. For details on the definition of a
|
807
|
+
# JWK, see https://tools.ietf.org/html/rfc7517. If not set, the `jwks_uri` from
|
808
|
+
# the discovery document(fetched from the .well-known path of the `issuer_uri`)
|
809
|
+
# will be used. Currently, RSA and EC asymmetric keys are supported. The JWK
|
810
|
+
# must use following format and include only the following fields: ` "keys": [ `
|
811
|
+
# "kty": "RSA/EC", "alg": "", "use": "sig", "kid": "", "n": "", "e": "", "x": "",
|
812
|
+
# "y": "", "crv": "" ` ] `
|
813
|
+
# Corresponds to the JSON property `jwksJson`
|
814
|
+
# @return [String]
|
815
|
+
attr_accessor :jwks_json
|
816
|
+
|
817
|
+
# Configuration for web single sign-on for the OIDC provider.
|
818
|
+
# Corresponds to the JSON property `webSsoConfig`
|
819
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderOidcWebSsoConfig]
|
820
|
+
attr_accessor :web_sso_config
|
696
821
|
|
697
822
|
def initialize(**args)
|
698
823
|
update!(**args)
|
@@ -700,25 +825,22 @@ module Google
|
|
700
825
|
|
701
826
|
# Update properties of this object
|
702
827
|
def update!(**args)
|
703
|
-
@
|
704
|
-
@
|
828
|
+
@client_id = args[:client_id] if args.key?(:client_id)
|
829
|
+
@client_secret = args[:client_secret] if args.key?(:client_secret)
|
830
|
+
@issuer_uri = args[:issuer_uri] if args.key?(:issuer_uri)
|
831
|
+
@jwks_json = args[:jwks_json] if args.key?(:jwks_json)
|
832
|
+
@web_sso_config = args[:web_sso_config] if args.key?(:web_sso_config)
|
705
833
|
end
|
706
834
|
end
|
707
835
|
|
708
|
-
#
|
709
|
-
class
|
836
|
+
# Representation of a client secret configured for the OIDC provider.
|
837
|
+
class GoogleIamAdminV1WorkforcePoolProviderOidcClientSecret
|
710
838
|
include Google::Apis::Core::Hashable
|
711
839
|
|
712
|
-
#
|
713
|
-
#
|
714
|
-
#
|
715
|
-
|
716
|
-
attr_accessor :next_page_token
|
717
|
-
|
718
|
-
# A list of providers.
|
719
|
-
# Corresponds to the JSON property `workloadIdentityPoolProviders`
|
720
|
-
# @return [Array<Google::Apis::IamV1::WorkloadIdentityPoolProvider>]
|
721
|
-
attr_accessor :workload_identity_pool_providers
|
840
|
+
# Representation of the value of the client secret.
|
841
|
+
# Corresponds to the JSON property `value`
|
842
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderOidcClientSecretValue]
|
843
|
+
attr_accessor :value
|
722
844
|
|
723
845
|
def initialize(**args)
|
724
846
|
update!(**args)
|
@@ -726,25 +848,25 @@ module Google
|
|
726
848
|
|
727
849
|
# Update properties of this object
|
728
850
|
def update!(**args)
|
729
|
-
@
|
730
|
-
@workload_identity_pool_providers = args[:workload_identity_pool_providers] if args.key?(:workload_identity_pool_providers)
|
851
|
+
@value = args[:value] if args.key?(:value)
|
731
852
|
end
|
732
853
|
end
|
733
854
|
|
734
|
-
#
|
735
|
-
class
|
855
|
+
# Representation of the value of the client secret.
|
856
|
+
class GoogleIamAdminV1WorkforcePoolProviderOidcClientSecretValue
|
736
857
|
include Google::Apis::Core::Hashable
|
737
858
|
|
738
|
-
#
|
739
|
-
# field is
|
740
|
-
#
|
859
|
+
# Optional. Input only. The plain text of the client secret value. For security
|
860
|
+
# reasons, this field is only used for input and will never be populated in any
|
861
|
+
# response.
|
862
|
+
# Corresponds to the JSON property `plainText`
|
741
863
|
# @return [String]
|
742
|
-
attr_accessor :
|
864
|
+
attr_accessor :plain_text
|
743
865
|
|
744
|
-
# A
|
745
|
-
# Corresponds to the JSON property `
|
746
|
-
# @return [
|
747
|
-
attr_accessor :
|
866
|
+
# Output only. A thumbprint to represent the current client secret value.
|
867
|
+
# Corresponds to the JSON property `thumbprint`
|
868
|
+
# @return [String]
|
869
|
+
attr_accessor :thumbprint
|
748
870
|
|
749
871
|
def initialize(**args)
|
750
872
|
update!(**args)
|
@@ -752,32 +874,36 @@ module Google
|
|
752
874
|
|
753
875
|
# Update properties of this object
|
754
876
|
def update!(**args)
|
755
|
-
@
|
756
|
-
@
|
877
|
+
@plain_text = args[:plain_text] if args.key?(:plain_text)
|
878
|
+
@thumbprint = args[:thumbprint] if args.key?(:thumbprint)
|
757
879
|
end
|
758
880
|
end
|
759
881
|
|
760
|
-
#
|
761
|
-
class
|
882
|
+
# Configuration for web single sign-on for the OIDC provider.
|
883
|
+
class GoogleIamAdminV1WorkforcePoolProviderOidcWebSsoConfig
|
762
884
|
include Google::Apis::Core::Hashable
|
763
885
|
|
764
|
-
#
|
765
|
-
#
|
766
|
-
#
|
767
|
-
#
|
768
|
-
#
|
769
|
-
#
|
770
|
-
# ` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/
|
771
|
-
# https://iam.googleapis.com/projects//locations//workloadIdentityPools//
|
772
|
-
# providers/ ```
|
773
|
-
# Corresponds to the JSON property `allowedAudiences`
|
886
|
+
# Optional. Additional scopes to request for in the OIDC authentication request
|
887
|
+
# on top of scopes requested by default. By default, the `openid`, `profile` and
|
888
|
+
# `email` scopes that are supported by the identity provider are requested. Each
|
889
|
+
# additional scope may be at most 256 characters. A maximum of 10 additional
|
890
|
+
# scopes may be configured.
|
891
|
+
# Corresponds to the JSON property `additionalScopes`
|
774
892
|
# @return [Array<String>]
|
775
|
-
attr_accessor :
|
893
|
+
attr_accessor :additional_scopes
|
776
894
|
|
777
|
-
# Required. The OIDC
|
778
|
-
#
|
895
|
+
# Required. The behavior for how OIDC Claims are included in the `assertion`
|
896
|
+
# object used for attribute mapping and attribute condition.
|
897
|
+
# Corresponds to the JSON property `assertionClaimsBehavior`
|
779
898
|
# @return [String]
|
780
|
-
attr_accessor :
|
899
|
+
attr_accessor :assertion_claims_behavior
|
900
|
+
|
901
|
+
# Required. The Response Type to request for in the OIDC Authorization Request
|
902
|
+
# for web sign-in. The `CODE` Response Type is recommended to avoid the Implicit
|
903
|
+
# Flow, for security reasons.
|
904
|
+
# Corresponds to the JSON property `responseType`
|
905
|
+
# @return [String]
|
906
|
+
attr_accessor :response_type
|
781
907
|
|
782
908
|
def initialize(**args)
|
783
909
|
update!(**args)
|
@@ -785,58 +911,31 @@ module Google
|
|
785
911
|
|
786
912
|
# Update properties of this object
|
787
913
|
def update!(**args)
|
788
|
-
@
|
789
|
-
@
|
914
|
+
@additional_scopes = args[:additional_scopes] if args.key?(:additional_scopes)
|
915
|
+
@assertion_claims_behavior = args[:assertion_claims_behavior] if args.key?(:assertion_claims_behavior)
|
916
|
+
@response_type = args[:response_type] if args.key?(:response_type)
|
790
917
|
end
|
791
918
|
end
|
792
919
|
|
793
|
-
#
|
794
|
-
|
795
|
-
class Operation
|
920
|
+
# Represents a SAML identity provider.
|
921
|
+
class GoogleIamAdminV1WorkforcePoolProviderSaml
|
796
922
|
include Google::Apis::Core::Hashable
|
797
923
|
|
798
|
-
#
|
799
|
-
#
|
800
|
-
#
|
801
|
-
#
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
#
|
806
|
-
#
|
807
|
-
#
|
808
|
-
#
|
809
|
-
#
|
810
|
-
#
|
811
|
-
# Corresponds to the JSON property `error`
|
812
|
-
# @return [Google::Apis::IamV1::Status]
|
813
|
-
attr_accessor :error
|
814
|
-
|
815
|
-
# Service-specific metadata associated with the operation. It typically contains
|
816
|
-
# progress information and common metadata such as create time. Some services
|
817
|
-
# might not provide such metadata. Any method that returns a long-running
|
818
|
-
# operation should document the metadata type, if any.
|
819
|
-
# Corresponds to the JSON property `metadata`
|
820
|
-
# @return [Hash<String,Object>]
|
821
|
-
attr_accessor :metadata
|
822
|
-
|
823
|
-
# The server-assigned name, which is only unique within the same service that
|
824
|
-
# originally returns it. If you use the default HTTP mapping, the `name` should
|
825
|
-
# be a resource name ending with `operations/`unique_id``.
|
826
|
-
# Corresponds to the JSON property `name`
|
924
|
+
# Required. SAML Identity provider configuration metadata xml doc. The xml
|
925
|
+
# document should comply with [SAML 2.0 specification](https://docs.oasis-open.
|
926
|
+
# org/security/saml/v2.0/saml-metadata-2.0-os.pdf). The max size of the
|
927
|
+
# acceptable xml document will be bounded to 128k characters. The metadata xml
|
928
|
+
# document should satisfy the following constraints: 1) Must contain an Identity
|
929
|
+
# Provider Entity ID. 2) Must contain at least one non-expired signing key
|
930
|
+
# certificate. 3) For each signing key: a) Valid from should be no more than 7
|
931
|
+
# days from now. b) Valid to should be no more than 25 years in the future. 4)
|
932
|
+
# Up to 3 IdP signing keys are allowed in the metadata xml. When updating the
|
933
|
+
# provider's metadata xml, at least one non-expired signing key must overlap
|
934
|
+
# with the existing metadata. This requirement is skipped if there are no non-
|
935
|
+
# expired signing keys present in the existing metadata.
|
936
|
+
# Corresponds to the JSON property `idpMetadataXml`
|
827
937
|
# @return [String]
|
828
|
-
attr_accessor :
|
829
|
-
|
830
|
-
# The normal response of the operation in case of success. If the original
|
831
|
-
# method returns no data on success, such as `Delete`, the response is `google.
|
832
|
-
# protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
|
833
|
-
# the response should be the resource. For other methods, the response should
|
834
|
-
# have the type `XxxResponse`, where `Xxx` is the original method name. For
|
835
|
-
# example, if the original method name is `TakeSnapshot()`, the inferred
|
836
|
-
# response type is `TakeSnapshotResponse`.
|
837
|
-
# Corresponds to the JSON property `response`
|
838
|
-
# @return [Hash<String,Object>]
|
839
|
-
attr_accessor :response
|
938
|
+
attr_accessor :idp_metadata_xml
|
840
939
|
|
841
940
|
def initialize(**args)
|
842
941
|
update!(**args)
|
@@ -844,15 +943,962 @@ module Google
|
|
844
943
|
|
845
944
|
# Update properties of this object
|
846
945
|
def update!(**args)
|
847
|
-
@
|
848
|
-
@error = args[:error] if args.key?(:error)
|
849
|
-
@metadata = args[:metadata] if args.key?(:metadata)
|
850
|
-
@name = args[:name] if args.key?(:name)
|
851
|
-
@response = args[:response] if args.key?(:response)
|
946
|
+
@idp_metadata_xml = args[:idp_metadata_xml] if args.key?(:idp_metadata_xml)
|
852
947
|
end
|
853
948
|
end
|
854
949
|
|
855
|
-
#
|
950
|
+
# Represents configuration for generating mutual TLS (mTLS) certificates for the
|
951
|
+
# identities within this pool.
|
952
|
+
class InlineCertificateIssuanceConfig
|
953
|
+
include Google::Apis::Core::Hashable
|
954
|
+
|
955
|
+
# Optional. A required mapping of a Google Cloud region to the CA pool resource
|
956
|
+
# located in that region. The CA pool is used for certificate issuance, adhering
|
957
|
+
# to the following constraints: * Key format: A supported cloud region name
|
958
|
+
# equivalent to the location identifier in the corresponding map entry's value. *
|
959
|
+
# Value format: A valid CA pool resource path format like: "projects/`project`/
|
960
|
+
# locations/`location`/caPools/`ca_pool`" * Region Matching: Workloads are ONLY
|
961
|
+
# issued certificates from CA pools within the same region. Also the CA pool
|
962
|
+
# region (in value) must match the workload's region (key).
|
963
|
+
# Corresponds to the JSON property `caPools`
|
964
|
+
# @return [Hash<String,String>]
|
965
|
+
attr_accessor :ca_pools
|
966
|
+
|
967
|
+
# Optional. Key algorithm to use when generating the key pair. This key pair
|
968
|
+
# will be used to create the certificate. If not specified, this will default to
|
969
|
+
# ECDSA_P256.
|
970
|
+
# Corresponds to the JSON property `keyAlgorithm`
|
971
|
+
# @return [String]
|
972
|
+
attr_accessor :key_algorithm
|
973
|
+
|
974
|
+
# Optional. Lifetime of the workload certificates issued by the CA pool. Must be
|
975
|
+
# between 24 hours and 30 days. If not specified, this will be defaulted to 24
|
976
|
+
# hours.
|
977
|
+
# Corresponds to the JSON property `lifetime`
|
978
|
+
# @return [String]
|
979
|
+
attr_accessor :lifetime
|
980
|
+
|
981
|
+
# Optional. Rotation window percentage, the percentage of remaining lifetime
|
982
|
+
# after which certificate rotation is initiated. Must be between 50 and 80. If
|
983
|
+
# no value is specified, rotation window percentage is defaulted to 50.
|
984
|
+
# Corresponds to the JSON property `rotationWindowPercentage`
|
985
|
+
# @return [Fixnum]
|
986
|
+
attr_accessor :rotation_window_percentage
|
987
|
+
|
988
|
+
def initialize(**args)
|
989
|
+
update!(**args)
|
990
|
+
end
|
991
|
+
|
992
|
+
# Update properties of this object
|
993
|
+
def update!(**args)
|
994
|
+
@ca_pools = args[:ca_pools] if args.key?(:ca_pools)
|
995
|
+
@key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
|
996
|
+
@lifetime = args[:lifetime] if args.key?(:lifetime)
|
997
|
+
@rotation_window_percentage = args[:rotation_window_percentage] if args.key?(:rotation_window_percentage)
|
998
|
+
end
|
999
|
+
end
|
1000
|
+
|
1001
|
+
# Defines configuration for extending trust to additional trust domains. By
|
1002
|
+
# establishing trust with another domain, the current domain will recognize and
|
1003
|
+
# accept certificates issued by entities within the trusted domains. Note that a
|
1004
|
+
# trust domain automatically trusts itself, eliminating the need for explicit
|
1005
|
+
# configuration.
|
1006
|
+
class InlineTrustConfig
|
1007
|
+
include Google::Apis::Core::Hashable
|
1008
|
+
|
1009
|
+
# Optional. Maps specific trust domains (e.g., "example.com") to their
|
1010
|
+
# corresponding TrustStore, which contain the trusted root certificates for that
|
1011
|
+
# domain. There can be a maximum of 10 trust domain entries in this map. Note
|
1012
|
+
# that a trust domain automatically trusts itself and don't need to be specified
|
1013
|
+
# here. If however, this WorkloadIdentityPool's trust domain contains any trust
|
1014
|
+
# anchors in the additional_trust_bundles map, those trust anchors will be *
|
1015
|
+
# appended to* the trust bundle automatically derived from your
|
1016
|
+
# InlineCertificateIssuanceConfig's ca_pools.
|
1017
|
+
# Corresponds to the JSON property `additionalTrustBundles`
|
1018
|
+
# @return [Hash<String,Google::Apis::IamV1::TrustStore>]
|
1019
|
+
attr_accessor :additional_trust_bundles
|
1020
|
+
|
1021
|
+
def initialize(**args)
|
1022
|
+
update!(**args)
|
1023
|
+
end
|
1024
|
+
|
1025
|
+
# Update properties of this object
|
1026
|
+
def update!(**args)
|
1027
|
+
@additional_trust_bundles = args[:additional_trust_bundles] if args.key?(:additional_trust_bundles)
|
1028
|
+
end
|
1029
|
+
end
|
1030
|
+
|
1031
|
+
# Intermediate CA certificates used for building the trust chain to trust anchor
|
1032
|
+
class IntermediateCa
|
1033
|
+
include Google::Apis::Core::Hashable
|
1034
|
+
|
1035
|
+
# PEM certificate of the PKI used for validation. Must only contain one ca
|
1036
|
+
# certificate.
|
1037
|
+
# Corresponds to the JSON property `pemCertificate`
|
1038
|
+
# @return [String]
|
1039
|
+
attr_accessor :pem_certificate
|
1040
|
+
|
1041
|
+
def initialize(**args)
|
1042
|
+
update!(**args)
|
1043
|
+
end
|
1044
|
+
|
1045
|
+
# Update properties of this object
|
1046
|
+
def update!(**args)
|
1047
|
+
@pem_certificate = args[:pem_certificate] if args.key?(:pem_certificate)
|
1048
|
+
end
|
1049
|
+
end
|
1050
|
+
|
1051
|
+
# Represents a public key data along with its format.
|
1052
|
+
class KeyData
|
1053
|
+
include Google::Apis::Core::Hashable
|
1054
|
+
|
1055
|
+
# Output only. The format of the key.
|
1056
|
+
# Corresponds to the JSON property `format`
|
1057
|
+
# @return [String]
|
1058
|
+
attr_accessor :format
|
1059
|
+
|
1060
|
+
# Output only. The key data. The format of the key is represented by the format
|
1061
|
+
# field.
|
1062
|
+
# Corresponds to the JSON property `key`
|
1063
|
+
# @return [String]
|
1064
|
+
attr_accessor :key
|
1065
|
+
|
1066
|
+
# Required. The specifications for the key.
|
1067
|
+
# Corresponds to the JSON property `keySpec`
|
1068
|
+
# @return [String]
|
1069
|
+
attr_accessor :key_spec
|
1070
|
+
|
1071
|
+
# Output only. Latest timestamp when this key is valid. Attempts to use this key
|
1072
|
+
# after this time will fail. Only present if the key data represents a X.509
|
1073
|
+
# certificate.
|
1074
|
+
# Corresponds to the JSON property `notAfterTime`
|
1075
|
+
# @return [String]
|
1076
|
+
attr_accessor :not_after_time
|
1077
|
+
|
1078
|
+
# Output only. Earliest timestamp when this key is valid. Attempts to use this
|
1079
|
+
# key before this time will fail. Only present if the key data represents a X.
|
1080
|
+
# 509 certificate.
|
1081
|
+
# Corresponds to the JSON property `notBeforeTime`
|
1082
|
+
# @return [String]
|
1083
|
+
attr_accessor :not_before_time
|
1084
|
+
|
1085
|
+
def initialize(**args)
|
1086
|
+
update!(**args)
|
1087
|
+
end
|
1088
|
+
|
1089
|
+
# Update properties of this object
|
1090
|
+
def update!(**args)
|
1091
|
+
@format = args[:format] if args.key?(:format)
|
1092
|
+
@key = args[:key] if args.key?(:key)
|
1093
|
+
@key_spec = args[:key_spec] if args.key?(:key_spec)
|
1094
|
+
@not_after_time = args[:not_after_time] if args.key?(:not_after_time)
|
1095
|
+
@not_before_time = args[:not_before_time] if args.key?(:not_before_time)
|
1096
|
+
end
|
1097
|
+
end
|
1098
|
+
|
1099
|
+
# The request to lint an IAM policy object.
|
1100
|
+
class LintPolicyRequest
|
1101
|
+
include Google::Apis::Core::Hashable
|
1102
|
+
|
1103
|
+
# Represents a textual expression in the Common Expression Language (CEL) syntax.
|
1104
|
+
# CEL is a C-like expression language. The syntax and semantics of CEL are
|
1105
|
+
# documented at https://github.com/google/cel-spec. Example (Comparison): title:
|
1106
|
+
# "Summary size limit" description: "Determines if a summary is less than 100
|
1107
|
+
# chars" expression: "document.summary.size() < 100" Example (Equality): title: "
|
1108
|
+
# Requestor is owner" description: "Determines if requestor is the document
|
1109
|
+
# owner" expression: "document.owner == request.auth.claims.email" Example (
|
1110
|
+
# Logic): title: "Public documents" description: "Determine whether the document
|
1111
|
+
# should be publicly visible" expression: "document.type != 'private' &&
|
1112
|
+
# document.type != 'internal'" Example (Data Manipulation): title: "Notification
|
1113
|
+
# string" description: "Create a notification string with a timestamp."
|
1114
|
+
# expression: "'New message received at ' + string(document.create_time)" The
|
1115
|
+
# exact variables and functions that may be referenced within an expression are
|
1116
|
+
# determined by the service that evaluates it. See the service documentation for
|
1117
|
+
# additional information.
|
1118
|
+
# Corresponds to the JSON property `condition`
|
1119
|
+
# @return [Google::Apis::IamV1::Expr]
|
1120
|
+
attr_accessor :condition
|
1121
|
+
|
1122
|
+
# The full resource name of the policy this lint request is about. The name
|
1123
|
+
# follows the Google Cloud format for full resource names. For example, a Google
|
1124
|
+
# Cloud project with ID `my-project` will be named `//cloudresourcemanager.
|
1125
|
+
# googleapis.com/projects/my-project`. The resource name is not used to read a
|
1126
|
+
# policy from IAM. Only the data in the request object is linted.
|
1127
|
+
# Corresponds to the JSON property `fullResourceName`
|
1128
|
+
# @return [String]
|
1129
|
+
attr_accessor :full_resource_name
|
1130
|
+
|
1131
|
+
def initialize(**args)
|
1132
|
+
update!(**args)
|
1133
|
+
end
|
1134
|
+
|
1135
|
+
# Update properties of this object
|
1136
|
+
def update!(**args)
|
1137
|
+
@condition = args[:condition] if args.key?(:condition)
|
1138
|
+
@full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
|
1139
|
+
end
|
1140
|
+
end
|
1141
|
+
|
1142
|
+
# The response of a lint operation. An empty response indicates the operation
|
1143
|
+
# was able to fully execute and no lint issue was found.
|
1144
|
+
class LintPolicyResponse
|
1145
|
+
include Google::Apis::Core::Hashable
|
1146
|
+
|
1147
|
+
# List of lint results sorted by `severity` in descending order.
|
1148
|
+
# Corresponds to the JSON property `lintResults`
|
1149
|
+
# @return [Array<Google::Apis::IamV1::LintResult>]
|
1150
|
+
attr_accessor :lint_results
|
1151
|
+
|
1152
|
+
def initialize(**args)
|
1153
|
+
update!(**args)
|
1154
|
+
end
|
1155
|
+
|
1156
|
+
# Update properties of this object
|
1157
|
+
def update!(**args)
|
1158
|
+
@lint_results = args[:lint_results] if args.key?(:lint_results)
|
1159
|
+
end
|
1160
|
+
end
|
1161
|
+
|
1162
|
+
# Structured response of a single validation unit.
|
1163
|
+
class LintResult
|
1164
|
+
include Google::Apis::Core::Hashable
|
1165
|
+
|
1166
|
+
# Human readable debug message associated with the issue.
|
1167
|
+
# Corresponds to the JSON property `debugMessage`
|
1168
|
+
# @return [String]
|
1169
|
+
attr_accessor :debug_message
|
1170
|
+
|
1171
|
+
# The name of the field for which this lint result is about. For nested messages
|
1172
|
+
# `field_name` consists of names of the embedded fields separated by period
|
1173
|
+
# character. The top-level qualifier is the input object to lint in the request.
|
1174
|
+
# For example, the `field_name` value `condition.expression` identifies a lint
|
1175
|
+
# result for the `expression` field of the provided condition.
|
1176
|
+
# Corresponds to the JSON property `fieldName`
|
1177
|
+
# @return [String]
|
1178
|
+
attr_accessor :field_name
|
1179
|
+
|
1180
|
+
# The validation unit level.
|
1181
|
+
# Corresponds to the JSON property `level`
|
1182
|
+
# @return [String]
|
1183
|
+
attr_accessor :level
|
1184
|
+
|
1185
|
+
# 0-based character position of problematic construct within the object
|
1186
|
+
# identified by `field_name`. Currently, this is populated only for condition
|
1187
|
+
# expression.
|
1188
|
+
# Corresponds to the JSON property `locationOffset`
|
1189
|
+
# @return [Fixnum]
|
1190
|
+
attr_accessor :location_offset
|
1191
|
+
|
1192
|
+
# The validation unit severity.
|
1193
|
+
# Corresponds to the JSON property `severity`
|
1194
|
+
# @return [String]
|
1195
|
+
attr_accessor :severity
|
1196
|
+
|
1197
|
+
# The validation unit name, for instance "lintValidationUnits/
|
1198
|
+
# ConditionComplexityCheck".
|
1199
|
+
# Corresponds to the JSON property `validationUnitName`
|
1200
|
+
# @return [String]
|
1201
|
+
attr_accessor :validation_unit_name
|
1202
|
+
|
1203
|
+
def initialize(**args)
|
1204
|
+
update!(**args)
|
1205
|
+
end
|
1206
|
+
|
1207
|
+
# Update properties of this object
|
1208
|
+
def update!(**args)
|
1209
|
+
@debug_message = args[:debug_message] if args.key?(:debug_message)
|
1210
|
+
@field_name = args[:field_name] if args.key?(:field_name)
|
1211
|
+
@level = args[:level] if args.key?(:level)
|
1212
|
+
@location_offset = args[:location_offset] if args.key?(:location_offset)
|
1213
|
+
@severity = args[:severity] if args.key?(:severity)
|
1214
|
+
@validation_unit_name = args[:validation_unit_name] if args.key?(:validation_unit_name)
|
1215
|
+
end
|
1216
|
+
end
|
1217
|
+
|
1218
|
+
# Response message for ListAttestationRules.
|
1219
|
+
class ListAttestationRulesResponse
|
1220
|
+
include Google::Apis::Core::Hashable
|
1221
|
+
|
1222
|
+
# A list of AttestationRules.
|
1223
|
+
# Corresponds to the JSON property `attestationRules`
|
1224
|
+
# @return [Array<Google::Apis::IamV1::AttestationRule>]
|
1225
|
+
attr_accessor :attestation_rules
|
1226
|
+
|
1227
|
+
# Optional. A token, which can be sent as `page_token` to retrieve the next page.
|
1228
|
+
# If this field is omitted, there are no subsequent pages.
|
1229
|
+
# Corresponds to the JSON property `nextPageToken`
|
1230
|
+
# @return [String]
|
1231
|
+
attr_accessor :next_page_token
|
1232
|
+
|
1233
|
+
def initialize(**args)
|
1234
|
+
update!(**args)
|
1235
|
+
end
|
1236
|
+
|
1237
|
+
# Update properties of this object
|
1238
|
+
def update!(**args)
|
1239
|
+
@attestation_rules = args[:attestation_rules] if args.key?(:attestation_rules)
|
1240
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1241
|
+
end
|
1242
|
+
end
|
1243
|
+
|
1244
|
+
# Response message for ListOauthClientCredentials.
|
1245
|
+
class ListOauthClientCredentialsResponse
|
1246
|
+
include Google::Apis::Core::Hashable
|
1247
|
+
|
1248
|
+
# A list of OauthClientCredentials.
|
1249
|
+
# Corresponds to the JSON property `oauthClientCredentials`
|
1250
|
+
# @return [Array<Google::Apis::IamV1::OauthClientCredential>]
|
1251
|
+
attr_accessor :oauth_client_credentials
|
1252
|
+
|
1253
|
+
def initialize(**args)
|
1254
|
+
update!(**args)
|
1255
|
+
end
|
1256
|
+
|
1257
|
+
# Update properties of this object
|
1258
|
+
def update!(**args)
|
1259
|
+
@oauth_client_credentials = args[:oauth_client_credentials] if args.key?(:oauth_client_credentials)
|
1260
|
+
end
|
1261
|
+
end
|
1262
|
+
|
1263
|
+
# Response message for ListOauthClients.
|
1264
|
+
class ListOauthClientsResponse
|
1265
|
+
include Google::Apis::Core::Hashable
|
1266
|
+
|
1267
|
+
# Optional. A token, which can be sent as `page_token` to retrieve the next page.
|
1268
|
+
# If this field is omitted, there are no subsequent pages.
|
1269
|
+
# Corresponds to the JSON property `nextPageToken`
|
1270
|
+
# @return [String]
|
1271
|
+
attr_accessor :next_page_token
|
1272
|
+
|
1273
|
+
# A list of OauthClients.
|
1274
|
+
# Corresponds to the JSON property `oauthClients`
|
1275
|
+
# @return [Array<Google::Apis::IamV1::OauthClient>]
|
1276
|
+
attr_accessor :oauth_clients
|
1277
|
+
|
1278
|
+
def initialize(**args)
|
1279
|
+
update!(**args)
|
1280
|
+
end
|
1281
|
+
|
1282
|
+
# Update properties of this object
|
1283
|
+
def update!(**args)
|
1284
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1285
|
+
@oauth_clients = args[:oauth_clients] if args.key?(:oauth_clients)
|
1286
|
+
end
|
1287
|
+
end
|
1288
|
+
|
1289
|
+
# The response containing the roles defined under a resource.
|
1290
|
+
class ListRolesResponse
|
1291
|
+
include Google::Apis::Core::Hashable
|
1292
|
+
|
1293
|
+
# To retrieve the next page of results, set `ListRolesRequest.page_token` to
|
1294
|
+
# this value.
|
1295
|
+
# Corresponds to the JSON property `nextPageToken`
|
1296
|
+
# @return [String]
|
1297
|
+
attr_accessor :next_page_token
|
1298
|
+
|
1299
|
+
# The Roles defined on this resource.
|
1300
|
+
# Corresponds to the JSON property `roles`
|
1301
|
+
# @return [Array<Google::Apis::IamV1::Role>]
|
1302
|
+
attr_accessor :roles
|
1303
|
+
|
1304
|
+
def initialize(**args)
|
1305
|
+
update!(**args)
|
1306
|
+
end
|
1307
|
+
|
1308
|
+
# Update properties of this object
|
1309
|
+
def update!(**args)
|
1310
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1311
|
+
@roles = args[:roles] if args.key?(:roles)
|
1312
|
+
end
|
1313
|
+
end
|
1314
|
+
|
1315
|
+
# The service account keys list response.
|
1316
|
+
class ListServiceAccountKeysResponse
|
1317
|
+
include Google::Apis::Core::Hashable
|
1318
|
+
|
1319
|
+
# The public keys for the service account.
|
1320
|
+
# Corresponds to the JSON property `keys`
|
1321
|
+
# @return [Array<Google::Apis::IamV1::ServiceAccountKey>]
|
1322
|
+
attr_accessor :keys
|
1323
|
+
|
1324
|
+
def initialize(**args)
|
1325
|
+
update!(**args)
|
1326
|
+
end
|
1327
|
+
|
1328
|
+
# Update properties of this object
|
1329
|
+
def update!(**args)
|
1330
|
+
@keys = args[:keys] if args.key?(:keys)
|
1331
|
+
end
|
1332
|
+
end
|
1333
|
+
|
1334
|
+
# The service account list response.
|
1335
|
+
class ListServiceAccountsResponse
|
1336
|
+
include Google::Apis::Core::Hashable
|
1337
|
+
|
1338
|
+
# The list of matching service accounts.
|
1339
|
+
# Corresponds to the JSON property `accounts`
|
1340
|
+
# @return [Array<Google::Apis::IamV1::ServiceAccount>]
|
1341
|
+
attr_accessor :accounts
|
1342
|
+
|
1343
|
+
# To retrieve the next page of results, set ListServiceAccountsRequest.
|
1344
|
+
# page_token to this value.
|
1345
|
+
# Corresponds to the JSON property `nextPageToken`
|
1346
|
+
# @return [String]
|
1347
|
+
attr_accessor :next_page_token
|
1348
|
+
|
1349
|
+
def initialize(**args)
|
1350
|
+
update!(**args)
|
1351
|
+
end
|
1352
|
+
|
1353
|
+
# Update properties of this object
|
1354
|
+
def update!(**args)
|
1355
|
+
@accounts = args[:accounts] if args.key?(:accounts)
|
1356
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1357
|
+
end
|
1358
|
+
end
|
1359
|
+
|
1360
|
+
# Response message for ListWorkforcePoolProviderKeys.
|
1361
|
+
class ListWorkforcePoolProviderKeysResponse
|
1362
|
+
include Google::Apis::Core::Hashable
|
1363
|
+
|
1364
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1365
|
+
# field is omitted, there are no subsequent pages.
|
1366
|
+
# Corresponds to the JSON property `nextPageToken`
|
1367
|
+
# @return [String]
|
1368
|
+
attr_accessor :next_page_token
|
1369
|
+
|
1370
|
+
# A list of WorkforcePoolProviderKeys.
|
1371
|
+
# Corresponds to the JSON property `workforcePoolProviderKeys`
|
1372
|
+
# @return [Array<Google::Apis::IamV1::WorkforcePoolProviderKey>]
|
1373
|
+
attr_accessor :workforce_pool_provider_keys
|
1374
|
+
|
1375
|
+
def initialize(**args)
|
1376
|
+
update!(**args)
|
1377
|
+
end
|
1378
|
+
|
1379
|
+
# Update properties of this object
|
1380
|
+
def update!(**args)
|
1381
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1382
|
+
@workforce_pool_provider_keys = args[:workforce_pool_provider_keys] if args.key?(:workforce_pool_provider_keys)
|
1383
|
+
end
|
1384
|
+
end
|
1385
|
+
|
1386
|
+
# Response message for ListWorkforcePoolProviders.
|
1387
|
+
class ListWorkforcePoolProvidersResponse
|
1388
|
+
include Google::Apis::Core::Hashable
|
1389
|
+
|
1390
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1391
|
+
# field is omitted, there are no subsequent pages.
|
1392
|
+
# Corresponds to the JSON property `nextPageToken`
|
1393
|
+
# @return [String]
|
1394
|
+
attr_accessor :next_page_token
|
1395
|
+
|
1396
|
+
# A list of providers.
|
1397
|
+
# Corresponds to the JSON property `workforcePoolProviders`
|
1398
|
+
# @return [Array<Google::Apis::IamV1::WorkforcePoolProvider>]
|
1399
|
+
attr_accessor :workforce_pool_providers
|
1400
|
+
|
1401
|
+
def initialize(**args)
|
1402
|
+
update!(**args)
|
1403
|
+
end
|
1404
|
+
|
1405
|
+
# Update properties of this object
|
1406
|
+
def update!(**args)
|
1407
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1408
|
+
@workforce_pool_providers = args[:workforce_pool_providers] if args.key?(:workforce_pool_providers)
|
1409
|
+
end
|
1410
|
+
end
|
1411
|
+
|
1412
|
+
# Response message for ListWorkforcePools.
|
1413
|
+
class ListWorkforcePoolsResponse
|
1414
|
+
include Google::Apis::Core::Hashable
|
1415
|
+
|
1416
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1417
|
+
# field is omitted, there are no subsequent pages.
|
1418
|
+
# Corresponds to the JSON property `nextPageToken`
|
1419
|
+
# @return [String]
|
1420
|
+
attr_accessor :next_page_token
|
1421
|
+
|
1422
|
+
# A list of pools.
|
1423
|
+
# Corresponds to the JSON property `workforcePools`
|
1424
|
+
# @return [Array<Google::Apis::IamV1::WorkforcePool>]
|
1425
|
+
attr_accessor :workforce_pools
|
1426
|
+
|
1427
|
+
def initialize(**args)
|
1428
|
+
update!(**args)
|
1429
|
+
end
|
1430
|
+
|
1431
|
+
# Update properties of this object
|
1432
|
+
def update!(**args)
|
1433
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1434
|
+
@workforce_pools = args[:workforce_pools] if args.key?(:workforce_pools)
|
1435
|
+
end
|
1436
|
+
end
|
1437
|
+
|
1438
|
+
# Response message for ListWorkloadIdentityPoolManagedIdentities.
|
1439
|
+
class ListWorkloadIdentityPoolManagedIdentitiesResponse
|
1440
|
+
include Google::Apis::Core::Hashable
|
1441
|
+
|
1442
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1443
|
+
# field is omitted, there are no subsequent pages.
|
1444
|
+
# Corresponds to the JSON property `nextPageToken`
|
1445
|
+
# @return [String]
|
1446
|
+
attr_accessor :next_page_token
|
1447
|
+
|
1448
|
+
# A list of managed identities.
|
1449
|
+
# Corresponds to the JSON property `workloadIdentityPoolManagedIdentities`
|
1450
|
+
# @return [Array<Google::Apis::IamV1::WorkloadIdentityPoolManagedIdentity>]
|
1451
|
+
attr_accessor :workload_identity_pool_managed_identities
|
1452
|
+
|
1453
|
+
def initialize(**args)
|
1454
|
+
update!(**args)
|
1455
|
+
end
|
1456
|
+
|
1457
|
+
# Update properties of this object
|
1458
|
+
def update!(**args)
|
1459
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1460
|
+
@workload_identity_pool_managed_identities = args[:workload_identity_pool_managed_identities] if args.key?(:workload_identity_pool_managed_identities)
|
1461
|
+
end
|
1462
|
+
end
|
1463
|
+
|
1464
|
+
# Response message for ListWorkloadIdentityPoolNamespaces.
|
1465
|
+
class ListWorkloadIdentityPoolNamespacesResponse
|
1466
|
+
include Google::Apis::Core::Hashable
|
1467
|
+
|
1468
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1469
|
+
# field is omitted, there are no subsequent pages.
|
1470
|
+
# Corresponds to the JSON property `nextPageToken`
|
1471
|
+
# @return [String]
|
1472
|
+
attr_accessor :next_page_token
|
1473
|
+
|
1474
|
+
# A list of namespaces.
|
1475
|
+
# Corresponds to the JSON property `workloadIdentityPoolNamespaces`
|
1476
|
+
# @return [Array<Google::Apis::IamV1::WorkloadIdentityPoolNamespace>]
|
1477
|
+
attr_accessor :workload_identity_pool_namespaces
|
1478
|
+
|
1479
|
+
def initialize(**args)
|
1480
|
+
update!(**args)
|
1481
|
+
end
|
1482
|
+
|
1483
|
+
# Update properties of this object
|
1484
|
+
def update!(**args)
|
1485
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1486
|
+
@workload_identity_pool_namespaces = args[:workload_identity_pool_namespaces] if args.key?(:workload_identity_pool_namespaces)
|
1487
|
+
end
|
1488
|
+
end
|
1489
|
+
|
1490
|
+
# Response message for ListWorkloadIdentityPoolProviderKeys.
|
1491
|
+
class ListWorkloadIdentityPoolProviderKeysResponse
|
1492
|
+
include Google::Apis::Core::Hashable
|
1493
|
+
|
1494
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1495
|
+
# field is omitted, there are no subsequent pages.
|
1496
|
+
# Corresponds to the JSON property `nextPageToken`
|
1497
|
+
# @return [String]
|
1498
|
+
attr_accessor :next_page_token
|
1499
|
+
|
1500
|
+
# A list of WorkloadIdentityPoolProviderKey
|
1501
|
+
# Corresponds to the JSON property `workloadIdentityPoolProviderKeys`
|
1502
|
+
# @return [Array<Google::Apis::IamV1::WorkloadIdentityPoolProviderKey>]
|
1503
|
+
attr_accessor :workload_identity_pool_provider_keys
|
1504
|
+
|
1505
|
+
def initialize(**args)
|
1506
|
+
update!(**args)
|
1507
|
+
end
|
1508
|
+
|
1509
|
+
# Update properties of this object
|
1510
|
+
def update!(**args)
|
1511
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1512
|
+
@workload_identity_pool_provider_keys = args[:workload_identity_pool_provider_keys] if args.key?(:workload_identity_pool_provider_keys)
|
1513
|
+
end
|
1514
|
+
end
|
1515
|
+
|
1516
|
+
# Response message for ListWorkloadIdentityPoolProviders.
|
1517
|
+
class ListWorkloadIdentityPoolProvidersResponse
|
1518
|
+
include Google::Apis::Core::Hashable
|
1519
|
+
|
1520
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1521
|
+
# field is omitted, there are no subsequent pages.
|
1522
|
+
# Corresponds to the JSON property `nextPageToken`
|
1523
|
+
# @return [String]
|
1524
|
+
attr_accessor :next_page_token
|
1525
|
+
|
1526
|
+
# A list of providers.
|
1527
|
+
# Corresponds to the JSON property `workloadIdentityPoolProviders`
|
1528
|
+
# @return [Array<Google::Apis::IamV1::WorkloadIdentityPoolProvider>]
|
1529
|
+
attr_accessor :workload_identity_pool_providers
|
1530
|
+
|
1531
|
+
def initialize(**args)
|
1532
|
+
update!(**args)
|
1533
|
+
end
|
1534
|
+
|
1535
|
+
# Update properties of this object
|
1536
|
+
def update!(**args)
|
1537
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1538
|
+
@workload_identity_pool_providers = args[:workload_identity_pool_providers] if args.key?(:workload_identity_pool_providers)
|
1539
|
+
end
|
1540
|
+
end
|
1541
|
+
|
1542
|
+
# Response message for ListWorkloadIdentityPools.
|
1543
|
+
class ListWorkloadIdentityPoolsResponse
|
1544
|
+
include Google::Apis::Core::Hashable
|
1545
|
+
|
1546
|
+
# A token, which can be sent as `page_token` to retrieve the next page. If this
|
1547
|
+
# field is omitted, there are no subsequent pages.
|
1548
|
+
# Corresponds to the JSON property `nextPageToken`
|
1549
|
+
# @return [String]
|
1550
|
+
attr_accessor :next_page_token
|
1551
|
+
|
1552
|
+
# A list of pools.
|
1553
|
+
# Corresponds to the JSON property `workloadIdentityPools`
|
1554
|
+
# @return [Array<Google::Apis::IamV1::WorkloadIdentityPool>]
|
1555
|
+
attr_accessor :workload_identity_pools
|
1556
|
+
|
1557
|
+
def initialize(**args)
|
1558
|
+
update!(**args)
|
1559
|
+
end
|
1560
|
+
|
1561
|
+
# Update properties of this object
|
1562
|
+
def update!(**args)
|
1563
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
1564
|
+
@workload_identity_pools = args[:workload_identity_pools] if args.key?(:workload_identity_pools)
|
1565
|
+
end
|
1566
|
+
end
|
1567
|
+
|
1568
|
+
# Represents an OauthClient. Used to access Google Cloud resources on behalf of
|
1569
|
+
# a Workforce Identity Federation user by using OAuth 2.0 Protocol to obtain an
|
1570
|
+
# access token from Google Cloud.
|
1571
|
+
class OauthClient
|
1572
|
+
include Google::Apis::Core::Hashable
|
1573
|
+
|
1574
|
+
# Required. The list of OAuth grant types is allowed for the OauthClient.
|
1575
|
+
# Corresponds to the JSON property `allowedGrantTypes`
|
1576
|
+
# @return [Array<String>]
|
1577
|
+
attr_accessor :allowed_grant_types
|
1578
|
+
|
1579
|
+
# Required. The list of redirect uris that is allowed to redirect back when
|
1580
|
+
# authorization process is completed.
|
1581
|
+
# Corresponds to the JSON property `allowedRedirectUris`
|
1582
|
+
# @return [Array<String>]
|
1583
|
+
attr_accessor :allowed_redirect_uris
|
1584
|
+
|
1585
|
+
# Required. The list of scopes that the OauthClient is allowed to request during
|
1586
|
+
# OAuth flows. The following scopes are supported: * `https://www.googleapis.com/
|
1587
|
+
# auth/cloud-platform`: See, edit, configure, and delete your Google Cloud data
|
1588
|
+
# and see the email address for your Google Account. * `openid`: The OAuth
|
1589
|
+
# client can associate you with your personal information on Google Cloud. * `
|
1590
|
+
# email`: The OAuth client can read a federated identity's email address. * `
|
1591
|
+
# groups`: The OAuth client can read a federated identity's groups.
|
1592
|
+
# Corresponds to the JSON property `allowedScopes`
|
1593
|
+
# @return [Array<String>]
|
1594
|
+
attr_accessor :allowed_scopes
|
1595
|
+
|
1596
|
+
# Output only. The system-generated OauthClient id.
|
1597
|
+
# Corresponds to the JSON property `clientId`
|
1598
|
+
# @return [String]
|
1599
|
+
attr_accessor :client_id
|
1600
|
+
|
1601
|
+
# Immutable. The type of OauthClient. Either public or private. For private
|
1602
|
+
# clients, the client secret can be managed using the dedicated
|
1603
|
+
# OauthClientCredential resource.
|
1604
|
+
# Corresponds to the JSON property `clientType`
|
1605
|
+
# @return [String]
|
1606
|
+
attr_accessor :client_type
|
1607
|
+
|
1608
|
+
# Optional. A user-specified description of the OauthClient. Cannot exceed 256
|
1609
|
+
# characters.
|
1610
|
+
# Corresponds to the JSON property `description`
|
1611
|
+
# @return [String]
|
1612
|
+
attr_accessor :description
|
1613
|
+
|
1614
|
+
# Optional. Whether the OauthClient is disabled. You cannot use a disabled OAuth
|
1615
|
+
# client.
|
1616
|
+
# Corresponds to the JSON property `disabled`
|
1617
|
+
# @return [Boolean]
|
1618
|
+
attr_accessor :disabled
|
1619
|
+
alias_method :disabled?, :disabled
|
1620
|
+
|
1621
|
+
# Optional. A user-specified display name of the OauthClient. Cannot exceed 32
|
1622
|
+
# characters.
|
1623
|
+
# Corresponds to the JSON property `displayName`
|
1624
|
+
# @return [String]
|
1625
|
+
attr_accessor :display_name
|
1626
|
+
|
1627
|
+
# Output only. Time after which the OauthClient will be permanently purged and
|
1628
|
+
# cannot be recovered.
|
1629
|
+
# Corresponds to the JSON property `expireTime`
|
1630
|
+
# @return [String]
|
1631
|
+
attr_accessor :expire_time
|
1632
|
+
|
1633
|
+
# Immutable. Identifier. The resource name of the OauthClient. Format:`projects/`
|
1634
|
+
# project`/locations/`location`/oauthClients/`oauth_client``.
|
1635
|
+
# Corresponds to the JSON property `name`
|
1636
|
+
# @return [String]
|
1637
|
+
attr_accessor :name
|
1638
|
+
|
1639
|
+
# Output only. The state of the OauthClient.
|
1640
|
+
# Corresponds to the JSON property `state`
|
1641
|
+
# @return [String]
|
1642
|
+
attr_accessor :state
|
1643
|
+
|
1644
|
+
def initialize(**args)
|
1645
|
+
update!(**args)
|
1646
|
+
end
|
1647
|
+
|
1648
|
+
# Update properties of this object
|
1649
|
+
def update!(**args)
|
1650
|
+
@allowed_grant_types = args[:allowed_grant_types] if args.key?(:allowed_grant_types)
|
1651
|
+
@allowed_redirect_uris = args[:allowed_redirect_uris] if args.key?(:allowed_redirect_uris)
|
1652
|
+
@allowed_scopes = args[:allowed_scopes] if args.key?(:allowed_scopes)
|
1653
|
+
@client_id = args[:client_id] if args.key?(:client_id)
|
1654
|
+
@client_type = args[:client_type] if args.key?(:client_type)
|
1655
|
+
@description = args[:description] if args.key?(:description)
|
1656
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
1657
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
1658
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1659
|
+
@name = args[:name] if args.key?(:name)
|
1660
|
+
@state = args[:state] if args.key?(:state)
|
1661
|
+
end
|
1662
|
+
end
|
1663
|
+
|
1664
|
+
# Represents an OauthClientCredential. Used to authenticate an OauthClient while
|
1665
|
+
# accessing Google Cloud resources on behalf of a user by using OAuth 2.0
|
1666
|
+
# Protocol.
|
1667
|
+
class OauthClientCredential
|
1668
|
+
include Google::Apis::Core::Hashable
|
1669
|
+
|
1670
|
+
# Output only. The system-generated OAuth client secret. The client secret must
|
1671
|
+
# be stored securely. If the client secret is leaked, you must delete and re-
|
1672
|
+
# create the client credential. To learn more, see [OAuth client and credential
|
1673
|
+
# security risks and mitigations](https://cloud.google.com/iam/docs/workforce-
|
1674
|
+
# oauth-app#security)
|
1675
|
+
# Corresponds to the JSON property `clientSecret`
|
1676
|
+
# @return [String]
|
1677
|
+
attr_accessor :client_secret
|
1678
|
+
|
1679
|
+
# Optional. Whether the OauthClientCredential is disabled. You cannot use a
|
1680
|
+
# disabled OauthClientCredential.
|
1681
|
+
# Corresponds to the JSON property `disabled`
|
1682
|
+
# @return [Boolean]
|
1683
|
+
attr_accessor :disabled
|
1684
|
+
alias_method :disabled?, :disabled
|
1685
|
+
|
1686
|
+
# Optional. A user-specified display name of the OauthClientCredential. Cannot
|
1687
|
+
# exceed 32 characters.
|
1688
|
+
# Corresponds to the JSON property `displayName`
|
1689
|
+
# @return [String]
|
1690
|
+
attr_accessor :display_name
|
1691
|
+
|
1692
|
+
# Immutable. Identifier. The resource name of the OauthClientCredential. Format:
|
1693
|
+
# `projects/`project`/locations/`location`/oauthClients/`oauth_client`/
|
1694
|
+
# credentials/`credential``
|
1695
|
+
# Corresponds to the JSON property `name`
|
1696
|
+
# @return [String]
|
1697
|
+
attr_accessor :name
|
1698
|
+
|
1699
|
+
def initialize(**args)
|
1700
|
+
update!(**args)
|
1701
|
+
end
|
1702
|
+
|
1703
|
+
# Update properties of this object
|
1704
|
+
def update!(**args)
|
1705
|
+
@client_secret = args[:client_secret] if args.key?(:client_secret)
|
1706
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
1707
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
1708
|
+
@name = args[:name] if args.key?(:name)
|
1709
|
+
end
|
1710
|
+
end
|
1711
|
+
|
1712
|
+
# Represents an OpenId Connect 1.0 identity provider.
|
1713
|
+
class Oidc
|
1714
|
+
include Google::Apis::Core::Hashable
|
1715
|
+
|
1716
|
+
# Optional. Acceptable values for the `aud` field (audience) in the OIDC token.
|
1717
|
+
# Token exchange requests are rejected if the token audience does not match one
|
1718
|
+
# of the configured values. Each audience may be at most 256 characters. A
|
1719
|
+
# maximum of 10 audiences may be configured. If this list is empty, the OIDC
|
1720
|
+
# token audience must be equal to the full canonical resource name of the
|
1721
|
+
# WorkloadIdentityPoolProvider, with or without the HTTPS prefix. For example: ``
|
1722
|
+
# ` //iam.googleapis.com/projects//locations//workloadIdentityPools//providers/
|
1723
|
+
# https://iam.googleapis.com/projects//locations//workloadIdentityPools//
|
1724
|
+
# providers/ ```
|
1725
|
+
# Corresponds to the JSON property `allowedAudiences`
|
1726
|
+
# @return [Array<String>]
|
1727
|
+
attr_accessor :allowed_audiences
|
1728
|
+
|
1729
|
+
# Required. The OIDC issuer URL. Must be an HTTPS endpoint. Per OpenID Connect
|
1730
|
+
# Discovery 1.0 spec, the OIDC issuer URL is used to locate the provider's
|
1731
|
+
# public keys (via `jwks_uri`) for verifying tokens like the OIDC ID token.
|
1732
|
+
# These public key types must be 'EC' or 'RSA'.
|
1733
|
+
# Corresponds to the JSON property `issuerUri`
|
1734
|
+
# @return [String]
|
1735
|
+
attr_accessor :issuer_uri
|
1736
|
+
|
1737
|
+
# Optional. OIDC JWKs in JSON String format. For details on the definition of a
|
1738
|
+
# JWK, see https://tools.ietf.org/html/rfc7517. If not set, the `jwks_uri` from
|
1739
|
+
# the discovery document(fetched from the .well-known path of the `issuer_uri`)
|
1740
|
+
# will be used. Currently, RSA and EC asymmetric keys are supported. The JWK
|
1741
|
+
# must use following format and include only the following fields: ` "keys": [ `
|
1742
|
+
# "kty": "RSA/EC", "alg": "", "use": "sig", "kid": "", "n": "", "e": "", "x": "",
|
1743
|
+
# "y": "", "crv": "" ` ] `
|
1744
|
+
# Corresponds to the JSON property `jwksJson`
|
1745
|
+
# @return [String]
|
1746
|
+
attr_accessor :jwks_json
|
1747
|
+
|
1748
|
+
def initialize(**args)
|
1749
|
+
update!(**args)
|
1750
|
+
end
|
1751
|
+
|
1752
|
+
# Update properties of this object
|
1753
|
+
def update!(**args)
|
1754
|
+
@allowed_audiences = args[:allowed_audiences] if args.key?(:allowed_audiences)
|
1755
|
+
@issuer_uri = args[:issuer_uri] if args.key?(:issuer_uri)
|
1756
|
+
@jwks_json = args[:jwks_json] if args.key?(:jwks_json)
|
1757
|
+
end
|
1758
|
+
end
|
1759
|
+
|
1760
|
+
# This resource represents a long-running operation that is the result of a
|
1761
|
+
# network API call.
|
1762
|
+
class Operation
|
1763
|
+
include Google::Apis::Core::Hashable
|
1764
|
+
|
1765
|
+
# If the value is `false`, it means the operation is still in progress. If `true`
|
1766
|
+
# , the operation is completed, and either `error` or `response` is available.
|
1767
|
+
# Corresponds to the JSON property `done`
|
1768
|
+
# @return [Boolean]
|
1769
|
+
attr_accessor :done
|
1770
|
+
alias_method :done?, :done
|
1771
|
+
|
1772
|
+
# The `Status` type defines a logical error model that is suitable for different
|
1773
|
+
# programming environments, including REST APIs and RPC APIs. It is used by [
|
1774
|
+
# gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
|
1775
|
+
# data: error code, error message, and error details. You can find out more
|
1776
|
+
# about this error model and how to work with it in the [API Design Guide](https:
|
1777
|
+
# //cloud.google.com/apis/design/errors).
|
1778
|
+
# Corresponds to the JSON property `error`
|
1779
|
+
# @return [Google::Apis::IamV1::Status]
|
1780
|
+
attr_accessor :error
|
1781
|
+
|
1782
|
+
# Service-specific metadata associated with the operation. It typically contains
|
1783
|
+
# progress information and common metadata such as create time. Some services
|
1784
|
+
# might not provide such metadata. Any method that returns a long-running
|
1785
|
+
# operation should document the metadata type, if any.
|
1786
|
+
# Corresponds to the JSON property `metadata`
|
1787
|
+
# @return [Hash<String,Object>]
|
1788
|
+
attr_accessor :metadata
|
1789
|
+
|
1790
|
+
# The server-assigned name, which is only unique within the same service that
|
1791
|
+
# originally returns it. If you use the default HTTP mapping, the `name` should
|
1792
|
+
# be a resource name ending with `operations/`unique_id``.
|
1793
|
+
# Corresponds to the JSON property `name`
|
1794
|
+
# @return [String]
|
1795
|
+
attr_accessor :name
|
1796
|
+
|
1797
|
+
# The normal, successful response of the operation. If the original method
|
1798
|
+
# returns no data on success, such as `Delete`, the response is `google.protobuf.
|
1799
|
+
# Empty`. If the original method is standard `Get`/`Create`/`Update`, the
|
1800
|
+
# response should be the resource. For other methods, the response should have
|
1801
|
+
# the type `XxxResponse`, where `Xxx` is the original method name. For example,
|
1802
|
+
# if the original method name is `TakeSnapshot()`, the inferred response type is
|
1803
|
+
# `TakeSnapshotResponse`.
|
1804
|
+
# Corresponds to the JSON property `response`
|
1805
|
+
# @return [Hash<String,Object>]
|
1806
|
+
attr_accessor :response
|
1807
|
+
|
1808
|
+
def initialize(**args)
|
1809
|
+
update!(**args)
|
1810
|
+
end
|
1811
|
+
|
1812
|
+
# Update properties of this object
|
1813
|
+
def update!(**args)
|
1814
|
+
@done = args[:done] if args.key?(:done)
|
1815
|
+
@error = args[:error] if args.key?(:error)
|
1816
|
+
@metadata = args[:metadata] if args.key?(:metadata)
|
1817
|
+
@name = args[:name] if args.key?(:name)
|
1818
|
+
@response = args[:response] if args.key?(:response)
|
1819
|
+
end
|
1820
|
+
end
|
1821
|
+
|
1822
|
+
# Represents the metadata of the long-running operation.
|
1823
|
+
class OperationMetadata
|
1824
|
+
include Google::Apis::Core::Hashable
|
1825
|
+
|
1826
|
+
# Output only. API version used to start the operation.
|
1827
|
+
# Corresponds to the JSON property `apiVersion`
|
1828
|
+
# @return [String]
|
1829
|
+
attr_accessor :api_version
|
1830
|
+
|
1831
|
+
# Output only. Identifies whether the user has requested cancellation of the
|
1832
|
+
# operation. Operations that have been cancelled successfully have google.
|
1833
|
+
# longrunning.Operation.error value with a google.rpc.Status.code of `1`,
|
1834
|
+
# corresponding to `Code.CANCELLED`.
|
1835
|
+
# Corresponds to the JSON property `cancelRequested`
|
1836
|
+
# @return [Boolean]
|
1837
|
+
attr_accessor :cancel_requested
|
1838
|
+
alias_method :cancel_requested?, :cancel_requested
|
1839
|
+
|
1840
|
+
# Output only. The time the operation was created.
|
1841
|
+
# Corresponds to the JSON property `createTime`
|
1842
|
+
# @return [String]
|
1843
|
+
attr_accessor :create_time
|
1844
|
+
|
1845
|
+
# Output only. The time the operation finished running.
|
1846
|
+
# Corresponds to the JSON property `endTime`
|
1847
|
+
# @return [String]
|
1848
|
+
attr_accessor :end_time
|
1849
|
+
|
1850
|
+
# Output only. Human-readable status of the operation, if any.
|
1851
|
+
# Corresponds to the JSON property `statusDetail`
|
1852
|
+
# @return [String]
|
1853
|
+
attr_accessor :status_detail
|
1854
|
+
|
1855
|
+
# Output only. Server-defined resource path for the target of the operation.
|
1856
|
+
# Corresponds to the JSON property `target`
|
1857
|
+
# @return [String]
|
1858
|
+
attr_accessor :target
|
1859
|
+
|
1860
|
+
# Output only. Name of the verb executed by the operation.
|
1861
|
+
# Corresponds to the JSON property `verb`
|
1862
|
+
# @return [String]
|
1863
|
+
attr_accessor :verb
|
1864
|
+
|
1865
|
+
def initialize(**args)
|
1866
|
+
update!(**args)
|
1867
|
+
end
|
1868
|
+
|
1869
|
+
# Update properties of this object
|
1870
|
+
def update!(**args)
|
1871
|
+
@api_version = args[:api_version] if args.key?(:api_version)
|
1872
|
+
@cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
|
1873
|
+
@create_time = args[:create_time] if args.key?(:create_time)
|
1874
|
+
@end_time = args[:end_time] if args.key?(:end_time)
|
1875
|
+
@status_detail = args[:status_detail] if args.key?(:status_detail)
|
1876
|
+
@target = args[:target] if args.key?(:target)
|
1877
|
+
@verb = args[:verb] if args.key?(:verb)
|
1878
|
+
end
|
1879
|
+
end
|
1880
|
+
|
1881
|
+
# The Google Cloud service that owns this namespace.
|
1882
|
+
class OwnerService
|
1883
|
+
include Google::Apis::Core::Hashable
|
1884
|
+
|
1885
|
+
# Required. The service agent principal subject, e.g. "serviceAccount:service-
|
1886
|
+
# 1234@gcp-sa-gkehub.iam.gserviceaccount.com".
|
1887
|
+
# Corresponds to the JSON property `principalSubject`
|
1888
|
+
# @return [String]
|
1889
|
+
attr_accessor :principal_subject
|
1890
|
+
|
1891
|
+
def initialize(**args)
|
1892
|
+
update!(**args)
|
1893
|
+
end
|
1894
|
+
|
1895
|
+
# Update properties of this object
|
1896
|
+
def update!(**args)
|
1897
|
+
@principal_subject = args[:principal_subject] if args.key?(:principal_subject)
|
1898
|
+
end
|
1899
|
+
end
|
1900
|
+
|
1901
|
+
# The service account patch request. You can patch only the `display_name` and `
|
856
1902
|
# description` fields. You must use the `update_mask` field to specify which of
|
857
1903
|
# these fields you want to patch. Only the fields specified in the request are
|
858
1904
|
# guaranteed to be returned in the response. Other fields may be empty in the
|
@@ -866,7 +1912,7 @@ module Google
|
|
866
1912
|
# https://cloud.google.com/iam/help/service-accounts/overview). When you create
|
867
1913
|
# a service account, you specify the project ID that owns the service account,
|
868
1914
|
# as well as a name that must be unique within the project. IAM uses these
|
869
|
-
# values to create an email address that identifies the service //
|
1915
|
+
# values to create an email address that identifies the service account. //
|
870
1916
|
# Corresponds to the JSON property `serviceAccount`
|
871
1917
|
# @return [Google::Apis::IamV1::ServiceAccount]
|
872
1918
|
attr_accessor :service_account
|
@@ -902,8 +1948,7 @@ module Google
|
|
902
1948
|
# @return [String]
|
903
1949
|
attr_accessor :custom_roles_support_level
|
904
1950
|
|
905
|
-
# A brief description of what this Permission is used for.
|
906
|
-
# ONLY be used in predefined roles.
|
1951
|
+
# A brief description of what this Permission is used for.
|
907
1952
|
# Corresponds to the JSON property `description`
|
908
1953
|
# @return [String]
|
909
1954
|
attr_accessor :description
|
@@ -989,22 +2034,22 @@ module Google
|
|
989
2034
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
990
2035
|
# the request, the resource, or both. To learn which resources support
|
991
2036
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
992
|
-
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
2037
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
|
993
2038
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
994
2039
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
995
2040
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
996
2041
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
997
2042
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
998
2043
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
999
|
-
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML
|
1000
|
-
# bindings: - members: - user:mike@example.com - group:admins@
|
1001
|
-
# domain:google.com - serviceAccount:my-project-id@appspot.
|
1002
|
-
# role: roles/resourcemanager.organizationAdmin - members: -
|
1003
|
-
# com role: roles/resourcemanager.organizationViewer condition:
|
1004
|
-
# access description: Does not grant access after Sep 2020
|
1005
|
-
# time < timestamp('2020-10-01T00:00:00.000Z') etag:
|
1006
|
-
# a description of IAM and its features, see the
|
1007
|
-
# cloud.google.com/iam/docs/).
|
2044
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
|
2045
|
+
# example:** ``` bindings: - members: - user:mike@example.com - group:admins@
|
2046
|
+
# example.com - domain:google.com - serviceAccount:my-project-id@appspot.
|
2047
|
+
# gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
|
2048
|
+
# user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
|
2049
|
+
# title: expirable access description: Does not grant access after Sep 2020
|
2050
|
+
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
|
2051
|
+
# BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
|
2052
|
+
# [IAM documentation](https://cloud.google.com/iam/docs/).
|
1008
2053
|
class Policy
|
1009
2054
|
include Google::Apis::Core::Hashable
|
1010
2055
|
|
@@ -1137,16 +2182,16 @@ module Google
|
|
1137
2182
|
class QueryGrantableRolesRequest
|
1138
2183
|
include Google::Apis::Core::Hashable
|
1139
2184
|
|
1140
|
-
# Required. The full resource name to query from the list of grantable
|
1141
|
-
# The name follows the Google Cloud Platform resource format. For example,
|
1142
|
-
# Cloud Platform project with id `my-project` will be named `//
|
2185
|
+
# Required. Required. The full resource name to query from the list of grantable
|
2186
|
+
# roles. The name follows the Google Cloud Platform resource format. For example,
|
2187
|
+
# a Cloud Platform project with id `my-project` will be named `//
|
1143
2188
|
# cloudresourcemanager.googleapis.com/projects/my-project`.
|
1144
2189
|
# Corresponds to the JSON property `fullResourceName`
|
1145
2190
|
# @return [String]
|
1146
2191
|
attr_accessor :full_resource_name
|
1147
2192
|
|
1148
2193
|
# Optional limit on the number of roles to include in the response. The default
|
1149
|
-
# is 300, and the maximum is
|
2194
|
+
# is 300, and the maximum is 2,000.
|
1150
2195
|
# Corresponds to the JSON property `pageSize`
|
1151
2196
|
# @return [Fixnum]
|
1152
2197
|
attr_accessor :page_size
|
@@ -1218,11 +2263,64 @@ module Google
|
|
1218
2263
|
# @return [Fixnum]
|
1219
2264
|
attr_accessor :page_size
|
1220
2265
|
|
1221
|
-
# Optional pagination token returned in an earlier
|
1222
|
-
# QueryTestablePermissionsRequest.
|
1223
|
-
# Corresponds to the JSON property `pageToken`
|
2266
|
+
# Optional pagination token returned in an earlier
|
2267
|
+
# QueryTestablePermissionsRequest.
|
2268
|
+
# Corresponds to the JSON property `pageToken`
|
2269
|
+
# @return [String]
|
2270
|
+
attr_accessor :page_token
|
2271
|
+
|
2272
|
+
def initialize(**args)
|
2273
|
+
update!(**args)
|
2274
|
+
end
|
2275
|
+
|
2276
|
+
# Update properties of this object
|
2277
|
+
def update!(**args)
|
2278
|
+
@full_resource_name = args[:full_resource_name] if args.key?(:full_resource_name)
|
2279
|
+
@page_size = args[:page_size] if args.key?(:page_size)
|
2280
|
+
@page_token = args[:page_token] if args.key?(:page_token)
|
2281
|
+
end
|
2282
|
+
end
|
2283
|
+
|
2284
|
+
# The response containing permissions which can be tested on a resource.
|
2285
|
+
class QueryTestablePermissionsResponse
|
2286
|
+
include Google::Apis::Core::Hashable
|
2287
|
+
|
2288
|
+
# To retrieve the next page of results, set `QueryTestableRolesRequest.
|
2289
|
+
# page_token` to this value.
|
2290
|
+
# Corresponds to the JSON property `nextPageToken`
|
2291
|
+
# @return [String]
|
2292
|
+
attr_accessor :next_page_token
|
2293
|
+
|
2294
|
+
# The Permissions testable on the requested resource.
|
2295
|
+
# Corresponds to the JSON property `permissions`
|
2296
|
+
# @return [Array<Google::Apis::IamV1::Permission>]
|
2297
|
+
attr_accessor :permissions
|
2298
|
+
|
2299
|
+
def initialize(**args)
|
2300
|
+
update!(**args)
|
2301
|
+
end
|
2302
|
+
|
2303
|
+
# Update properties of this object
|
2304
|
+
def update!(**args)
|
2305
|
+
@next_page_token = args[:next_page_token] if args.key?(:next_page_token)
|
2306
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
2307
|
+
end
|
2308
|
+
end
|
2309
|
+
|
2310
|
+
# Operation metadata returned by the CLH during resource state reconciliation.
|
2311
|
+
class ReconciliationOperationMetadata
|
2312
|
+
include Google::Apis::Core::Hashable
|
2313
|
+
|
2314
|
+
# DEPRECATED. Use exclusive_action instead.
|
2315
|
+
# Corresponds to the JSON property `deleteResource`
|
2316
|
+
# @return [Boolean]
|
2317
|
+
attr_accessor :delete_resource
|
2318
|
+
alias_method :delete_resource?, :delete_resource
|
2319
|
+
|
2320
|
+
# Excluisive action returned by the CLH.
|
2321
|
+
# Corresponds to the JSON property `exclusiveAction`
|
1224
2322
|
# @return [String]
|
1225
|
-
attr_accessor :
|
2323
|
+
attr_accessor :exclusive_action
|
1226
2324
|
|
1227
2325
|
def initialize(**args)
|
1228
2326
|
update!(**args)
|
@@ -1230,26 +2328,21 @@ module Google
|
|
1230
2328
|
|
1231
2329
|
# Update properties of this object
|
1232
2330
|
def update!(**args)
|
1233
|
-
@
|
1234
|
-
@
|
1235
|
-
@page_token = args[:page_token] if args.key?(:page_token)
|
2331
|
+
@delete_resource = args[:delete_resource] if args.key?(:delete_resource)
|
2332
|
+
@exclusive_action = args[:exclusive_action] if args.key?(:exclusive_action)
|
1236
2333
|
end
|
1237
2334
|
end
|
1238
2335
|
|
1239
|
-
#
|
1240
|
-
class
|
2336
|
+
# Request message for RemoveAttestationRule.
|
2337
|
+
class RemoveAttestationRuleRequest
|
1241
2338
|
include Google::Apis::Core::Hashable
|
1242
2339
|
|
1243
|
-
#
|
1244
|
-
#
|
1245
|
-
#
|
1246
|
-
#
|
1247
|
-
|
1248
|
-
|
1249
|
-
# The Permissions testable on the requested resource.
|
1250
|
-
# Corresponds to the JSON property `permissions`
|
1251
|
-
# @return [Array<Google::Apis::IamV1::Permission>]
|
1252
|
-
attr_accessor :permissions
|
2340
|
+
# Defines which workloads can receive an identity within a pool. When an
|
2341
|
+
# AttestationRule is defined under a managed identity, matching workloads may
|
2342
|
+
# receive that identity.
|
2343
|
+
# Corresponds to the JSON property `attestationRule`
|
2344
|
+
# @return [Google::Apis::IamV1::AttestationRule]
|
2345
|
+
attr_accessor :attestation_rule
|
1253
2346
|
|
1254
2347
|
def initialize(**args)
|
1255
2348
|
update!(**args)
|
@@ -1257,8 +2350,7 @@ module Google
|
|
1257
2350
|
|
1258
2351
|
# Update properties of this object
|
1259
2352
|
def update!(**args)
|
1260
|
-
@
|
1261
|
-
@permissions = args[:permissions] if args.key?(:permissions)
|
2353
|
+
@attestation_rule = args[:attestation_rule] if args.key?(:attestation_rule)
|
1262
2354
|
end
|
1263
2355
|
end
|
1264
2356
|
|
@@ -1289,11 +2381,12 @@ module Google
|
|
1289
2381
|
# @return [Array<String>]
|
1290
2382
|
attr_accessor :included_permissions
|
1291
2383
|
|
1292
|
-
# The name of the role. When Role is used in CreateRole
|
1293
|
-
# be set. When Role is used in output and other input such as UpdateRole
|
1294
|
-
# role name is the complete path,
|
1295
|
-
# roles
|
1296
|
-
# roles
|
2384
|
+
# The name of the role. When `Role` is used in `CreateRole`, the role name must
|
2385
|
+
# not be set. When `Role` is used in output and other input such as `UpdateRole`,
|
2386
|
+
# the role name is the complete path. For example, `roles/logging.viewer` for
|
2387
|
+
# predefined roles, `organizations/`ORGANIZATION_ID`/roles/myRole` for
|
2388
|
+
# organization-level custom roles, and `projects/`PROJECT_ID`/roles/myRole` for
|
2389
|
+
# project-level custom roles.
|
1297
2390
|
# Corresponds to the JSON property `name`
|
1298
2391
|
# @return [String]
|
1299
2392
|
attr_accessor :name
|
@@ -1331,18 +2424,18 @@ module Google
|
|
1331
2424
|
class Saml
|
1332
2425
|
include Google::Apis::Core::Hashable
|
1333
2426
|
|
1334
|
-
# Required. SAML
|
1335
|
-
# document
|
1336
|
-
# org/
|
1337
|
-
#
|
1338
|
-
#
|
1339
|
-
#
|
1340
|
-
#
|
1341
|
-
#
|
1342
|
-
#
|
1343
|
-
#
|
1344
|
-
#
|
1345
|
-
#
|
2427
|
+
# Required. SAML identity provider (IdP) configuration metadata XML doc. The XML
|
2428
|
+
# document must comply with the [SAML 2.0 specification](https://docs.oasis-open.
|
2429
|
+
# org/security/saml/v2.0/saml-metadata-2.0-os.pdf). The maximum size of an
|
2430
|
+
# acceptable XML document is 128K characters. The SAML metadata XML document
|
2431
|
+
# must satisfy the following constraints: * Must contain an IdP Entity ID. *
|
2432
|
+
# Must contain at least one non-expired signing certificate. * For each signing
|
2433
|
+
# certificate, the expiration must be: * From no more than 7 days in the future.
|
2434
|
+
# * To no more than 25 years in the future. * Up to three IdP signing keys are
|
2435
|
+
# allowed. When updating the provider's metadata XML, at least one non-expired
|
2436
|
+
# signing key must overlap with the existing metadata. This requirement is
|
2437
|
+
# skipped if there are no non-expired signing keys present in the existing
|
2438
|
+
# metadata.
|
1346
2439
|
# Corresponds to the JSON property `idpMetadataXml`
|
1347
2440
|
# @return [String]
|
1348
2441
|
attr_accessor :idp_metadata_xml
|
@@ -1363,7 +2456,7 @@ module Google
|
|
1363
2456
|
# https://cloud.google.com/iam/help/service-accounts/overview). When you create
|
1364
2457
|
# a service account, you specify the project ID that owns the service account,
|
1365
2458
|
# as well as a name that must be unique within the project. IAM uses these
|
1366
|
-
# values to create an email address that identifies the service //
|
2459
|
+
# values to create an email address that identifies the service account. //
|
1367
2460
|
class ServiceAccount
|
1368
2461
|
include Google::Apis::Core::Hashable
|
1369
2462
|
|
@@ -1402,10 +2495,10 @@ module Google
|
|
1402
2495
|
# character instead of the project ID: * `projects/-/serviceAccounts/`
|
1403
2496
|
# EMAIL_ADDRESS`` * `projects/-/serviceAccounts/`UNIQUE_ID`` When possible,
|
1404
2497
|
# avoid using the `-` wildcard character, because it can cause response messages
|
1405
|
-
# to contain misleading error codes. For example, if you try to
|
1406
|
-
# account `projects/-/serviceAccounts/fake@example.com`, which does not
|
1407
|
-
# the response contains an HTTP `403 Forbidden` error instead of a `404
|
1408
|
-
# Found` error.
|
2498
|
+
# to contain misleading error codes. For example, if you try to access the
|
2499
|
+
# service account `projects/-/serviceAccounts/fake@example.com`, which does not
|
2500
|
+
# exist, the response contains an HTTP `403 Forbidden` error instead of a `404
|
2501
|
+
# Not Found` error.
|
1409
2502
|
# Corresponds to the JSON property `name`
|
1410
2503
|
# @return [String]
|
1411
2504
|
attr_accessor :name
|
@@ -1465,12 +2558,26 @@ module Google
|
|
1465
2558
|
class ServiceAccountKey
|
1466
2559
|
include Google::Apis::Core::Hashable
|
1467
2560
|
|
2561
|
+
# Output only. optional. If the key is disabled, it may have a DisableReason
|
2562
|
+
# describing why it was disabled.
|
2563
|
+
# Corresponds to the JSON property `disableReason`
|
2564
|
+
# @return [String]
|
2565
|
+
attr_accessor :disable_reason
|
2566
|
+
|
1468
2567
|
# The key status.
|
1469
2568
|
# Corresponds to the JSON property `disabled`
|
1470
2569
|
# @return [Boolean]
|
1471
2570
|
attr_accessor :disabled
|
1472
2571
|
alias_method :disabled?, :disabled
|
1473
2572
|
|
2573
|
+
# Output only. Extended Status provides permanent information about a service
|
2574
|
+
# account key. For example, if this key was detected as exposed or compromised,
|
2575
|
+
# that information will remain for the lifetime of the key in the
|
2576
|
+
# extended_status.
|
2577
|
+
# Corresponds to the JSON property `extendedStatus`
|
2578
|
+
# @return [Array<Google::Apis::IamV1::ExtendedStatus>]
|
2579
|
+
attr_accessor :extended_status
|
2580
|
+
|
1474
2581
|
# Specifies the algorithm (and possibly key size) for the key.
|
1475
2582
|
# Corresponds to the JSON property `keyAlgorithm`
|
1476
2583
|
# @return [String]
|
@@ -1534,7 +2641,9 @@ module Google
|
|
1534
2641
|
|
1535
2642
|
# Update properties of this object
|
1536
2643
|
def update!(**args)
|
2644
|
+
@disable_reason = args[:disable_reason] if args.key?(:disable_reason)
|
1537
2645
|
@disabled = args[:disabled] if args.key?(:disabled)
|
2646
|
+
@extended_status = args[:extended_status] if args.key?(:extended_status)
|
1538
2647
|
@key_algorithm = args[:key_algorithm] if args.key?(:key_algorithm)
|
1539
2648
|
@key_origin = args[:key_origin] if args.key?(:key_origin)
|
1540
2649
|
@key_type = args[:key_type] if args.key?(:key_type)
|
@@ -1547,6 +2656,45 @@ module Google
|
|
1547
2656
|
end
|
1548
2657
|
end
|
1549
2658
|
|
2659
|
+
# Configuration for a service.
|
2660
|
+
class ServiceConfig
|
2661
|
+
include Google::Apis::Core::Hashable
|
2662
|
+
|
2663
|
+
# Optional. Domain name of the service. Example: console.cloud.google
|
2664
|
+
# Corresponds to the JSON property `domain`
|
2665
|
+
# @return [String]
|
2666
|
+
attr_accessor :domain
|
2667
|
+
|
2668
|
+
def initialize(**args)
|
2669
|
+
update!(**args)
|
2670
|
+
end
|
2671
|
+
|
2672
|
+
# Update properties of this object
|
2673
|
+
def update!(**args)
|
2674
|
+
@domain = args[:domain] if args.key?(:domain)
|
2675
|
+
end
|
2676
|
+
end
|
2677
|
+
|
2678
|
+
# Request message for SetAttestationRules.
|
2679
|
+
class SetAttestationRulesRequest
|
2680
|
+
include Google::Apis::Core::Hashable
|
2681
|
+
|
2682
|
+
# Required. The attestation rules to be set. At most 50 attestation rules can be
|
2683
|
+
# set.
|
2684
|
+
# Corresponds to the JSON property `attestationRules`
|
2685
|
+
# @return [Array<Google::Apis::IamV1::AttestationRule>]
|
2686
|
+
attr_accessor :attestation_rules
|
2687
|
+
|
2688
|
+
def initialize(**args)
|
2689
|
+
update!(**args)
|
2690
|
+
end
|
2691
|
+
|
2692
|
+
# Update properties of this object
|
2693
|
+
def update!(**args)
|
2694
|
+
@attestation_rules = args[:attestation_rules] if args.key?(:attestation_rules)
|
2695
|
+
end
|
2696
|
+
end
|
2697
|
+
|
1550
2698
|
# Request message for `SetIamPolicy` method.
|
1551
2699
|
class SetIamPolicyRequest
|
1552
2700
|
include Google::Apis::Core::Hashable
|
@@ -1562,22 +2710,22 @@ module Google
|
|
1562
2710
|
# evaluates to `true`. A condition can add constraints based on attributes of
|
1563
2711
|
# the request, the resource, or both. To learn which resources support
|
1564
2712
|
# conditions in their IAM policies, see the [IAM documentation](https://cloud.
|
1565
|
-
# google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
|
2713
|
+
# google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
|
1566
2714
|
# bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
|
1567
2715
|
# "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
|
1568
2716
|
# serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
|
1569
2717
|
# roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
|
1570
2718
|
# ], "condition": ` "title": "expirable access", "description": "Does not grant
|
1571
2719
|
# access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
|
1572
|
-
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML
|
1573
|
-
# bindings: - members: - user:mike@example.com - group:admins@
|
1574
|
-
# domain:google.com - serviceAccount:my-project-id@appspot.
|
1575
|
-
# role: roles/resourcemanager.organizationAdmin - members: -
|
1576
|
-
# com role: roles/resourcemanager.organizationViewer condition:
|
1577
|
-
# access description: Does not grant access after Sep 2020
|
1578
|
-
# time < timestamp('2020-10-01T00:00:00.000Z') etag:
|
1579
|
-
# a description of IAM and its features, see the
|
1580
|
-
# cloud.google.com/iam/docs/).
|
2720
|
+
# 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
|
2721
|
+
# example:** ``` bindings: - members: - user:mike@example.com - group:admins@
|
2722
|
+
# example.com - domain:google.com - serviceAccount:my-project-id@appspot.
|
2723
|
+
# gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
|
2724
|
+
# user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
|
2725
|
+
# title: expirable access description: Does not grant access after Sep 2020
|
2726
|
+
# expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
|
2727
|
+
# BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
|
2728
|
+
# [IAM documentation](https://cloud.google.com/iam/docs/).
|
1581
2729
|
# Corresponds to the JSON property `policy`
|
1582
2730
|
# @return [Google::Apis::IamV1::Policy]
|
1583
2731
|
attr_accessor :policy
|
@@ -1762,38 +2910,278 @@ module Google
|
|
1762
2910
|
|
1763
2911
|
# Update properties of this object
|
1764
2912
|
def update!(**args)
|
1765
|
-
@permissions = args[:permissions] if args.key?(:permissions)
|
2913
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
2914
|
+
end
|
2915
|
+
end
|
2916
|
+
|
2917
|
+
# Response message for `TestIamPermissions` method.
|
2918
|
+
class TestIamPermissionsResponse
|
2919
|
+
include Google::Apis::Core::Hashable
|
2920
|
+
|
2921
|
+
# A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
|
2922
|
+
# Corresponds to the JSON property `permissions`
|
2923
|
+
# @return [Array<String>]
|
2924
|
+
attr_accessor :permissions
|
2925
|
+
|
2926
|
+
def initialize(**args)
|
2927
|
+
update!(**args)
|
2928
|
+
end
|
2929
|
+
|
2930
|
+
# Update properties of this object
|
2931
|
+
def update!(**args)
|
2932
|
+
@permissions = args[:permissions] if args.key?(:permissions)
|
2933
|
+
end
|
2934
|
+
end
|
2935
|
+
|
2936
|
+
# Represents a root of trust.
|
2937
|
+
class TrustAnchor
|
2938
|
+
include Google::Apis::Core::Hashable
|
2939
|
+
|
2940
|
+
# PEM certificate of the PKI used for validation. Must only contain one ca
|
2941
|
+
# certificate(either root or intermediate cert).
|
2942
|
+
# Corresponds to the JSON property `pemCertificate`
|
2943
|
+
# @return [String]
|
2944
|
+
attr_accessor :pem_certificate
|
2945
|
+
|
2946
|
+
def initialize(**args)
|
2947
|
+
update!(**args)
|
2948
|
+
end
|
2949
|
+
|
2950
|
+
# Update properties of this object
|
2951
|
+
def update!(**args)
|
2952
|
+
@pem_certificate = args[:pem_certificate] if args.key?(:pem_certificate)
|
2953
|
+
end
|
2954
|
+
end
|
2955
|
+
|
2956
|
+
# Trust store that contains trust anchors and optional intermediate CAs used in
|
2957
|
+
# PKI to build a trust chain(trust hierarchy) and verify a client's identity.
|
2958
|
+
class TrustStore
|
2959
|
+
include Google::Apis::Core::Hashable
|
2960
|
+
|
2961
|
+
# Optional. Set of intermediate CA certificates used for building the trust
|
2962
|
+
# chain to the trust anchor. Important: Intermediate CAs are only supported for
|
2963
|
+
# X.509 federation.
|
2964
|
+
# Corresponds to the JSON property `intermediateCas`
|
2965
|
+
# @return [Array<Google::Apis::IamV1::IntermediateCa>]
|
2966
|
+
attr_accessor :intermediate_cas
|
2967
|
+
|
2968
|
+
# Required. List of trust anchors to be used while performing validation against
|
2969
|
+
# a given TrustStore. The incoming end entity's certificate must be in the trust
|
2970
|
+
# chain of one of the trust anchors here.
|
2971
|
+
# Corresponds to the JSON property `trustAnchors`
|
2972
|
+
# @return [Array<Google::Apis::IamV1::TrustAnchor>]
|
2973
|
+
attr_accessor :trust_anchors
|
2974
|
+
|
2975
|
+
def initialize(**args)
|
2976
|
+
update!(**args)
|
2977
|
+
end
|
2978
|
+
|
2979
|
+
# Update properties of this object
|
2980
|
+
def update!(**args)
|
2981
|
+
@intermediate_cas = args[:intermediate_cas] if args.key?(:intermediate_cas)
|
2982
|
+
@trust_anchors = args[:trust_anchors] if args.key?(:trust_anchors)
|
2983
|
+
end
|
2984
|
+
end
|
2985
|
+
|
2986
|
+
# Request message for UndeleteOauthClient.
|
2987
|
+
class UndeleteOauthClientRequest
|
2988
|
+
include Google::Apis::Core::Hashable
|
2989
|
+
|
2990
|
+
def initialize(**args)
|
2991
|
+
update!(**args)
|
2992
|
+
end
|
2993
|
+
|
2994
|
+
# Update properties of this object
|
2995
|
+
def update!(**args)
|
2996
|
+
end
|
2997
|
+
end
|
2998
|
+
|
2999
|
+
# The request to undelete an existing role.
|
3000
|
+
class UndeleteRoleRequest
|
3001
|
+
include Google::Apis::Core::Hashable
|
3002
|
+
|
3003
|
+
# Used to perform a consistent read-modify-write.
|
3004
|
+
# Corresponds to the JSON property `etag`
|
3005
|
+
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
3006
|
+
# @return [String]
|
3007
|
+
attr_accessor :etag
|
3008
|
+
|
3009
|
+
def initialize(**args)
|
3010
|
+
update!(**args)
|
3011
|
+
end
|
3012
|
+
|
3013
|
+
# Update properties of this object
|
3014
|
+
def update!(**args)
|
3015
|
+
@etag = args[:etag] if args.key?(:etag)
|
3016
|
+
end
|
3017
|
+
end
|
3018
|
+
|
3019
|
+
# The service account undelete request.
|
3020
|
+
class UndeleteServiceAccountRequest
|
3021
|
+
include Google::Apis::Core::Hashable
|
3022
|
+
|
3023
|
+
def initialize(**args)
|
3024
|
+
update!(**args)
|
3025
|
+
end
|
3026
|
+
|
3027
|
+
# Update properties of this object
|
3028
|
+
def update!(**args)
|
3029
|
+
end
|
3030
|
+
end
|
3031
|
+
|
3032
|
+
#
|
3033
|
+
class UndeleteServiceAccountResponse
|
3034
|
+
include Google::Apis::Core::Hashable
|
3035
|
+
|
3036
|
+
# An IAM service account. A service account is an account for an application or
|
3037
|
+
# a virtual machine (VM) instance, not a person. You can use a service account
|
3038
|
+
# to call Google APIs. To learn more, read the [overview of service accounts](
|
3039
|
+
# https://cloud.google.com/iam/help/service-accounts/overview). When you create
|
3040
|
+
# a service account, you specify the project ID that owns the service account,
|
3041
|
+
# as well as a name that must be unique within the project. IAM uses these
|
3042
|
+
# values to create an email address that identifies the service account. //
|
3043
|
+
# Corresponds to the JSON property `restoredAccount`
|
3044
|
+
# @return [Google::Apis::IamV1::ServiceAccount]
|
3045
|
+
attr_accessor :restored_account
|
3046
|
+
|
3047
|
+
def initialize(**args)
|
3048
|
+
update!(**args)
|
3049
|
+
end
|
3050
|
+
|
3051
|
+
# Update properties of this object
|
3052
|
+
def update!(**args)
|
3053
|
+
@restored_account = args[:restored_account] if args.key?(:restored_account)
|
3054
|
+
end
|
3055
|
+
end
|
3056
|
+
|
3057
|
+
# Request message for UndeleteWorkforcePoolProviderKey.
|
3058
|
+
class UndeleteWorkforcePoolProviderKeyRequest
|
3059
|
+
include Google::Apis::Core::Hashable
|
3060
|
+
|
3061
|
+
def initialize(**args)
|
3062
|
+
update!(**args)
|
3063
|
+
end
|
3064
|
+
|
3065
|
+
# Update properties of this object
|
3066
|
+
def update!(**args)
|
3067
|
+
end
|
3068
|
+
end
|
3069
|
+
|
3070
|
+
# Request message for UndeleteWorkforcePoolProvider.
|
3071
|
+
class UndeleteWorkforcePoolProviderRequest
|
3072
|
+
include Google::Apis::Core::Hashable
|
3073
|
+
|
3074
|
+
def initialize(**args)
|
3075
|
+
update!(**args)
|
3076
|
+
end
|
3077
|
+
|
3078
|
+
# Update properties of this object
|
3079
|
+
def update!(**args)
|
3080
|
+
end
|
3081
|
+
end
|
3082
|
+
|
3083
|
+
# Request message for UndeleteWorkforcePool.
|
3084
|
+
class UndeleteWorkforcePoolRequest
|
3085
|
+
include Google::Apis::Core::Hashable
|
3086
|
+
|
3087
|
+
def initialize(**args)
|
3088
|
+
update!(**args)
|
3089
|
+
end
|
3090
|
+
|
3091
|
+
# Update properties of this object
|
3092
|
+
def update!(**args)
|
3093
|
+
end
|
3094
|
+
end
|
3095
|
+
|
3096
|
+
# Request message for UndeleteWorkforcePoolSubject.
|
3097
|
+
class UndeleteWorkforcePoolSubjectRequest
|
3098
|
+
include Google::Apis::Core::Hashable
|
3099
|
+
|
3100
|
+
def initialize(**args)
|
3101
|
+
update!(**args)
|
3102
|
+
end
|
3103
|
+
|
3104
|
+
# Update properties of this object
|
3105
|
+
def update!(**args)
|
3106
|
+
end
|
3107
|
+
end
|
3108
|
+
|
3109
|
+
# Request message for UndeleteWorkloadIdentityPoolManagedIdentity.
|
3110
|
+
class UndeleteWorkloadIdentityPoolManagedIdentityRequest
|
3111
|
+
include Google::Apis::Core::Hashable
|
3112
|
+
|
3113
|
+
def initialize(**args)
|
3114
|
+
update!(**args)
|
3115
|
+
end
|
3116
|
+
|
3117
|
+
# Update properties of this object
|
3118
|
+
def update!(**args)
|
3119
|
+
end
|
3120
|
+
end
|
3121
|
+
|
3122
|
+
# Request message for UndeleteWorkloadIdentityPoolNamespace.
|
3123
|
+
class UndeleteWorkloadIdentityPoolNamespaceRequest
|
3124
|
+
include Google::Apis::Core::Hashable
|
3125
|
+
|
3126
|
+
def initialize(**args)
|
3127
|
+
update!(**args)
|
3128
|
+
end
|
3129
|
+
|
3130
|
+
# Update properties of this object
|
3131
|
+
def update!(**args)
|
3132
|
+
end
|
3133
|
+
end
|
3134
|
+
|
3135
|
+
# Request message for UndeleteWorkloadIdentityPoolProviderKey.
|
3136
|
+
class UndeleteWorkloadIdentityPoolProviderKeyRequest
|
3137
|
+
include Google::Apis::Core::Hashable
|
3138
|
+
|
3139
|
+
def initialize(**args)
|
3140
|
+
update!(**args)
|
3141
|
+
end
|
3142
|
+
|
3143
|
+
# Update properties of this object
|
3144
|
+
def update!(**args)
|
3145
|
+
end
|
3146
|
+
end
|
3147
|
+
|
3148
|
+
# Request message for UndeleteWorkloadIdentityPoolProvider.
|
3149
|
+
class UndeleteWorkloadIdentityPoolProviderRequest
|
3150
|
+
include Google::Apis::Core::Hashable
|
3151
|
+
|
3152
|
+
def initialize(**args)
|
3153
|
+
update!(**args)
|
3154
|
+
end
|
3155
|
+
|
3156
|
+
# Update properties of this object
|
3157
|
+
def update!(**args)
|
1766
3158
|
end
|
1767
3159
|
end
|
1768
3160
|
|
1769
|
-
#
|
1770
|
-
class
|
3161
|
+
# Request message for UndeleteWorkloadIdentityPool.
|
3162
|
+
class UndeleteWorkloadIdentityPoolRequest
|
1771
3163
|
include Google::Apis::Core::Hashable
|
1772
3164
|
|
1773
|
-
# A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
|
1774
|
-
# Corresponds to the JSON property `permissions`
|
1775
|
-
# @return [Array<String>]
|
1776
|
-
attr_accessor :permissions
|
1777
|
-
|
1778
3165
|
def initialize(**args)
|
1779
3166
|
update!(**args)
|
1780
3167
|
end
|
1781
3168
|
|
1782
3169
|
# Update properties of this object
|
1783
3170
|
def update!(**args)
|
1784
|
-
@permissions = args[:permissions] if args.key?(:permissions)
|
1785
3171
|
end
|
1786
3172
|
end
|
1787
3173
|
|
1788
|
-
# The
|
1789
|
-
class
|
3174
|
+
# The service account key upload request.
|
3175
|
+
class UploadServiceAccountKeyRequest
|
1790
3176
|
include Google::Apis::Core::Hashable
|
1791
3177
|
|
1792
|
-
#
|
1793
|
-
#
|
3178
|
+
# The public key to associate with the service account. Must be an RSA public
|
3179
|
+
# key that is wrapped in an X.509 v3 certificate. Include the first line, `-----
|
3180
|
+
# BEGIN CERTIFICATE-----`, and the last line, `-----END CERTIFICATE-----`.
|
3181
|
+
# Corresponds to the JSON property `publicKeyData`
|
1794
3182
|
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
1795
3183
|
# @return [String]
|
1796
|
-
attr_accessor :
|
3184
|
+
attr_accessor :public_key_data
|
1797
3185
|
|
1798
3186
|
def initialize(**args)
|
1799
3187
|
update!(**args)
|
@@ -1801,37 +3189,220 @@ module Google
|
|
1801
3189
|
|
1802
3190
|
# Update properties of this object
|
1803
3191
|
def update!(**args)
|
1804
|
-
@
|
3192
|
+
@public_key_data = args[:public_key_data] if args.key?(:public_key_data)
|
1805
3193
|
end
|
1806
3194
|
end
|
1807
3195
|
|
1808
|
-
#
|
1809
|
-
|
3196
|
+
# Represents a collection of external workforces. Provides namespaces for
|
3197
|
+
# federated users that can be referenced in IAM policies.
|
3198
|
+
class WorkforcePool
|
1810
3199
|
include Google::Apis::Core::Hashable
|
1811
3200
|
|
3201
|
+
# Access related restrictions on the workforce pool.
|
3202
|
+
# Corresponds to the JSON property `accessRestrictions`
|
3203
|
+
# @return [Google::Apis::IamV1::AccessRestrictions]
|
3204
|
+
attr_accessor :access_restrictions
|
3205
|
+
|
3206
|
+
# Optional. A user-specified description of the pool. Cannot exceed 256
|
3207
|
+
# characters.
|
3208
|
+
# Corresponds to the JSON property `description`
|
3209
|
+
# @return [String]
|
3210
|
+
attr_accessor :description
|
3211
|
+
|
3212
|
+
# Optional. Disables the workforce pool. You cannot use a disabled pool to
|
3213
|
+
# exchange tokens, or use existing tokens to access resources. If the pool is re-
|
3214
|
+
# enabled, existing tokens grant access again.
|
3215
|
+
# Corresponds to the JSON property `disabled`
|
3216
|
+
# @return [Boolean]
|
3217
|
+
attr_accessor :disabled
|
3218
|
+
alias_method :disabled?, :disabled
|
3219
|
+
|
3220
|
+
# Optional. A user-specified display name of the pool in Google Cloud Console.
|
3221
|
+
# Cannot exceed 32 characters.
|
3222
|
+
# Corresponds to the JSON property `displayName`
|
3223
|
+
# @return [String]
|
3224
|
+
attr_accessor :display_name
|
3225
|
+
|
3226
|
+
# Output only. Time after which the workforce pool will be permanently purged
|
3227
|
+
# and cannot be recovered.
|
3228
|
+
# Corresponds to the JSON property `expireTime`
|
3229
|
+
# @return [String]
|
3230
|
+
attr_accessor :expire_time
|
3231
|
+
|
3232
|
+
# Identifier. The resource name of the pool. Format: `locations/`location`/
|
3233
|
+
# workforcePools/`workforce_pool_id``
|
3234
|
+
# Corresponds to the JSON property `name`
|
3235
|
+
# @return [String]
|
3236
|
+
attr_accessor :name
|
3237
|
+
|
3238
|
+
# Immutable. The resource name of the parent. Format: `organizations/`org-id``.
|
3239
|
+
# Corresponds to the JSON property `parent`
|
3240
|
+
# @return [String]
|
3241
|
+
attr_accessor :parent
|
3242
|
+
|
3243
|
+
# Optional. Duration that the Google Cloud access tokens, console sign-in
|
3244
|
+
# sessions, and `gcloud` sign-in sessions from this pool are valid. Must be
|
3245
|
+
# greater than 15 minutes (900s) and less than 12 hours (43200s). If `
|
3246
|
+
# session_duration` is not configured, minted credentials have a default
|
3247
|
+
# duration of one hour (3600s). For SAML providers, the lifetime of the token is
|
3248
|
+
# the minimum of the `session_duration` and the `SessionNotOnOrAfter` claim in
|
3249
|
+
# the SAML assertion.
|
3250
|
+
# Corresponds to the JSON property `sessionDuration`
|
3251
|
+
# @return [String]
|
3252
|
+
attr_accessor :session_duration
|
3253
|
+
|
3254
|
+
# Output only. The state of the pool.
|
3255
|
+
# Corresponds to the JSON property `state`
|
3256
|
+
# @return [String]
|
3257
|
+
attr_accessor :state
|
3258
|
+
|
1812
3259
|
def initialize(**args)
|
1813
3260
|
update!(**args)
|
1814
3261
|
end
|
1815
3262
|
|
1816
3263
|
# Update properties of this object
|
1817
3264
|
def update!(**args)
|
3265
|
+
@access_restrictions = args[:access_restrictions] if args.key?(:access_restrictions)
|
3266
|
+
@description = args[:description] if args.key?(:description)
|
3267
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
3268
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
3269
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
3270
|
+
@name = args[:name] if args.key?(:name)
|
3271
|
+
@parent = args[:parent] if args.key?(:parent)
|
3272
|
+
@session_duration = args[:session_duration] if args.key?(:session_duration)
|
3273
|
+
@state = args[:state] if args.key?(:state)
|
1818
3274
|
end
|
1819
3275
|
end
|
1820
3276
|
|
1821
|
-
#
|
1822
|
-
class
|
3277
|
+
# A configuration for an external identity provider.
|
3278
|
+
class WorkforcePoolProvider
|
1823
3279
|
include Google::Apis::Core::Hashable
|
1824
3280
|
|
1825
|
-
#
|
1826
|
-
#
|
1827
|
-
#
|
1828
|
-
#
|
1829
|
-
#
|
1830
|
-
#
|
1831
|
-
#
|
1832
|
-
#
|
1833
|
-
#
|
1834
|
-
|
3281
|
+
# Optional. A [Common Expression Language](https://opensource.google/projects/
|
3282
|
+
# cel) expression, in plain text, to restrict what otherwise valid
|
3283
|
+
# authentication credentials issued by the provider should not be accepted. The
|
3284
|
+
# expression must output a boolean representing whether to allow the federation.
|
3285
|
+
# The following keywords may be referenced in the expressions: * `assertion`:
|
3286
|
+
# JSON representing the authentication credential issued by the provider. * `
|
3287
|
+
# google`: The Google attributes mapped from the assertion in the `
|
3288
|
+
# attribute_mappings`. `google.profile_photo`, `google.display_name` and `google.
|
3289
|
+
# posix_username` are not supported. * `attribute`: The custom attributes mapped
|
3290
|
+
# from the assertion in the `attribute_mappings`. The maximum length of the
|
3291
|
+
# attribute condition expression is 4096 characters. If unspecified, all valid
|
3292
|
+
# authentication credentials will be accepted. The following example shows how
|
3293
|
+
# to only allow credentials with a mapped `google.groups` value of `admins`: ```
|
3294
|
+
# "'admins' in google.groups" ```
|
3295
|
+
# Corresponds to the JSON property `attributeCondition`
|
3296
|
+
# @return [String]
|
3297
|
+
attr_accessor :attribute_condition
|
3298
|
+
|
3299
|
+
# Required. Maps attributes from the authentication credentials issued by an
|
3300
|
+
# external identity provider to Google Cloud attributes, such as `subject` and `
|
3301
|
+
# segment`. Each key must be a string specifying the Google Cloud IAM attribute
|
3302
|
+
# to map to. The following keys are supported: * `google.subject`: The principal
|
3303
|
+
# IAM is authenticating. You can reference this value in IAM bindings. This is
|
3304
|
+
# also the subject that appears in Cloud Logging logs. This is a required field
|
3305
|
+
# and the mapped subject cannot exceed 127 bytes. * `google.groups`: Groups the
|
3306
|
+
# authenticating user belongs to. You can grant groups access to resources using
|
3307
|
+
# an IAM `principalSet` binding; access applies to all members of the group. * `
|
3308
|
+
# google.display_name`: The name of the authenticated user. This is an optional
|
3309
|
+
# field and the mapped display name cannot exceed 100 bytes. If not set, `google.
|
3310
|
+
# subject` will be displayed instead. This attribute cannot be referenced in IAM
|
3311
|
+
# bindings. * `google.profile_photo`: The URL that specifies the authenticated
|
3312
|
+
# user's thumbnail photo. This is an optional field. When set, the image will be
|
3313
|
+
# visible as the user's profile picture. If not set, a generic user icon will be
|
3314
|
+
# displayed instead. This attribute cannot be referenced in IAM bindings. * `
|
3315
|
+
# google.posix_username`: The Linux username used by OS Login. This is an
|
3316
|
+
# optional field and the mapped POSIX username cannot exceed 32 characters, The
|
3317
|
+
# key must match the regex "^a-zA-Z0-9._`0,31`$". This attribute cannot be
|
3318
|
+
# referenced in IAM bindings. You can also provide custom attributes by
|
3319
|
+
# specifying `attribute.`custom_attribute``, where `custom_attribute` is the
|
3320
|
+
# name of the custom attribute to be mapped. You can define a maximum of 50
|
3321
|
+
# custom attributes. The maximum length of a mapped attribute key is 100
|
3322
|
+
# characters, and the key may only contain the characters [a-z0-9_]. You can
|
3323
|
+
# reference these attributes in IAM policies to define fine-grained access for a
|
3324
|
+
# workforce pool to Google Cloud resources. For example: * `google.subject`: `
|
3325
|
+
# principal://iam.googleapis.com/locations/global/workforcePools/`pool`/subject/`
|
3326
|
+
# value`` * `google.groups`: `principalSet://iam.googleapis.com/locations/global/
|
3327
|
+
# workforcePools/`pool`/group/`value`` * `attribute.`custom_attribute``: `
|
3328
|
+
# principalSet://iam.googleapis.com/locations/global/workforcePools/`pool`/
|
3329
|
+
# attribute.`custom_attribute`/`value`` Each value must be a [Common Expression
|
3330
|
+
# Language] (https://opensource.google/projects/cel) function that maps an
|
3331
|
+
# identity provider credential to the normalized attribute specified by the
|
3332
|
+
# corresponding map key. You can use the `assertion` keyword in the expression
|
3333
|
+
# to access a JSON representation of the authentication credential issued by the
|
3334
|
+
# provider. The maximum length of an attribute mapping expression is 2048
|
3335
|
+
# characters. When evaluated, the total size of all mapped attributes must not
|
3336
|
+
# exceed 4KB. For OIDC providers, you must supply a custom mapping that includes
|
3337
|
+
# the `google.subject` attribute. For example, the following maps the `sub`
|
3338
|
+
# claim of the incoming credential to the `subject` attribute on a Google token:
|
3339
|
+
# ``` `"google.subject": "assertion.sub"` ```
|
3340
|
+
# Corresponds to the JSON property `attributeMapping`
|
3341
|
+
# @return [Hash<String,String>]
|
3342
|
+
attr_accessor :attribute_mapping
|
3343
|
+
|
3344
|
+
# Optional. A user-specified description of the provider. Cannot exceed 256
|
3345
|
+
# characters.
|
3346
|
+
# Corresponds to the JSON property `description`
|
3347
|
+
# @return [String]
|
3348
|
+
attr_accessor :description
|
3349
|
+
|
3350
|
+
# Optional. If true, populates additional debug information in Cloud Audit Logs
|
3351
|
+
# for this provider. Logged attribute mappings and values can be found in `sts.
|
3352
|
+
# googleapis.com` data access logs. Default value is false.
|
3353
|
+
# Corresponds to the JSON property `detailedAuditLogging`
|
3354
|
+
# @return [Boolean]
|
3355
|
+
attr_accessor :detailed_audit_logging
|
3356
|
+
alias_method :detailed_audit_logging?, :detailed_audit_logging
|
3357
|
+
|
3358
|
+
# Optional. Disables the workforce pool provider. You cannot use a disabled
|
3359
|
+
# provider to exchange tokens. However, existing tokens still grant access.
|
3360
|
+
# Corresponds to the JSON property `disabled`
|
3361
|
+
# @return [Boolean]
|
3362
|
+
attr_accessor :disabled
|
3363
|
+
alias_method :disabled?, :disabled
|
3364
|
+
|
3365
|
+
# Optional. A user-specified display name for the provider. Cannot exceed 32
|
3366
|
+
# characters.
|
3367
|
+
# Corresponds to the JSON property `displayName`
|
3368
|
+
# @return [String]
|
3369
|
+
attr_accessor :display_name
|
3370
|
+
|
3371
|
+
# Output only. Time after which the workload pool provider will be permanently
|
3372
|
+
# purged and cannot be recovered.
|
3373
|
+
# Corresponds to the JSON property `expireTime`
|
3374
|
+
# @return [String]
|
3375
|
+
attr_accessor :expire_time
|
3376
|
+
|
3377
|
+
# Represents the OAuth 2.0 client credential configuration for retrieving
|
3378
|
+
# additional user attributes that are not present in the initial authentication
|
3379
|
+
# credentials from the identity provider, e.g. groups. See https://datatracker.
|
3380
|
+
# ietf.org/doc/html/rfc6749#section-4.4 for more details on client credentials
|
3381
|
+
# grant flow.
|
3382
|
+
# Corresponds to the JSON property `extraAttributesOauth2Client`
|
3383
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderExtraAttributesOAuth2Client]
|
3384
|
+
attr_accessor :extra_attributes_oauth2_client
|
3385
|
+
|
3386
|
+
# Identifier. The resource name of the provider. Format: `locations/`location`/
|
3387
|
+
# workforcePools/`workforce_pool_id`/providers/`provider_id``
|
3388
|
+
# Corresponds to the JSON property `name`
|
3389
|
+
# @return [String]
|
3390
|
+
attr_accessor :name
|
3391
|
+
|
3392
|
+
# Represents an OpenId Connect 1.0 identity provider.
|
3393
|
+
# Corresponds to the JSON property `oidc`
|
3394
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderOidc]
|
3395
|
+
attr_accessor :oidc
|
3396
|
+
|
3397
|
+
# Represents a SAML identity provider.
|
3398
|
+
# Corresponds to the JSON property `saml`
|
3399
|
+
# @return [Google::Apis::IamV1::GoogleIamAdminV1WorkforcePoolProviderSaml]
|
3400
|
+
attr_accessor :saml
|
3401
|
+
|
3402
|
+
# Output only. The state of the provider.
|
3403
|
+
# Corresponds to the JSON property `state`
|
3404
|
+
# @return [String]
|
3405
|
+
attr_accessor :state
|
1835
3406
|
|
1836
3407
|
def initialize(**args)
|
1837
3408
|
update!(**args)
|
@@ -1839,47 +3410,178 @@ module Google
|
|
1839
3410
|
|
1840
3411
|
# Update properties of this object
|
1841
3412
|
def update!(**args)
|
1842
|
-
@
|
3413
|
+
@attribute_condition = args[:attribute_condition] if args.key?(:attribute_condition)
|
3414
|
+
@attribute_mapping = args[:attribute_mapping] if args.key?(:attribute_mapping)
|
3415
|
+
@description = args[:description] if args.key?(:description)
|
3416
|
+
@detailed_audit_logging = args[:detailed_audit_logging] if args.key?(:detailed_audit_logging)
|
3417
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
3418
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
3419
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
3420
|
+
@extra_attributes_oauth2_client = args[:extra_attributes_oauth2_client] if args.key?(:extra_attributes_oauth2_client)
|
3421
|
+
@name = args[:name] if args.key?(:name)
|
3422
|
+
@oidc = args[:oidc] if args.key?(:oidc)
|
3423
|
+
@saml = args[:saml] if args.key?(:saml)
|
3424
|
+
@state = args[:state] if args.key?(:state)
|
1843
3425
|
end
|
1844
3426
|
end
|
1845
3427
|
|
1846
|
-
#
|
1847
|
-
|
3428
|
+
# Represents a public key configuration for a Workforce Pool Provider. The key
|
3429
|
+
# can be configured in your identity provider to encrypt SAML assertions. Google
|
3430
|
+
# holds the corresponding private key, which it uses to decrypt encrypted tokens.
|
3431
|
+
class WorkforcePoolProviderKey
|
1848
3432
|
include Google::Apis::Core::Hashable
|
1849
3433
|
|
3434
|
+
# Output only. The time after which the key will be permanently deleted and
|
3435
|
+
# cannot be recovered. Note that the key may get purged before this time if the
|
3436
|
+
# total limit of keys per provider is exceeded.
|
3437
|
+
# Corresponds to the JSON property `expireTime`
|
3438
|
+
# @return [String]
|
3439
|
+
attr_accessor :expire_time
|
3440
|
+
|
3441
|
+
# Represents a public key data along with its format.
|
3442
|
+
# Corresponds to the JSON property `keyData`
|
3443
|
+
# @return [Google::Apis::IamV1::KeyData]
|
3444
|
+
attr_accessor :key_data
|
3445
|
+
|
3446
|
+
# Identifier. The resource name of the key. Format: `locations/`location`/
|
3447
|
+
# workforcePools/`workforce_pool_id`/providers/`provider_id`/keys/`key_id``
|
3448
|
+
# Corresponds to the JSON property `name`
|
3449
|
+
# @return [String]
|
3450
|
+
attr_accessor :name
|
3451
|
+
|
3452
|
+
# Output only. The state of the key.
|
3453
|
+
# Corresponds to the JSON property `state`
|
3454
|
+
# @return [String]
|
3455
|
+
attr_accessor :state
|
3456
|
+
|
3457
|
+
# Required. The purpose of the key.
|
3458
|
+
# Corresponds to the JSON property `use`
|
3459
|
+
# @return [String]
|
3460
|
+
attr_accessor :use
|
3461
|
+
|
1850
3462
|
def initialize(**args)
|
1851
3463
|
update!(**args)
|
1852
3464
|
end
|
1853
3465
|
|
1854
3466
|
# Update properties of this object
|
1855
3467
|
def update!(**args)
|
3468
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
3469
|
+
@key_data = args[:key_data] if args.key?(:key_data)
|
3470
|
+
@name = args[:name] if args.key?(:name)
|
3471
|
+
@state = args[:state] if args.key?(:state)
|
3472
|
+
@use = args[:use] if args.key?(:use)
|
1856
3473
|
end
|
1857
3474
|
end
|
1858
3475
|
|
1859
|
-
#
|
1860
|
-
|
3476
|
+
# Represents a collection of workload identities. You can define IAM policies to
|
3477
|
+
# grant these identities access to Google Cloud resources.
|
3478
|
+
class WorkloadIdentityPool
|
1861
3479
|
include Google::Apis::Core::Hashable
|
1862
3480
|
|
3481
|
+
# Optional. A description of the pool. Cannot exceed 256 characters.
|
3482
|
+
# Corresponds to the JSON property `description`
|
3483
|
+
# @return [String]
|
3484
|
+
attr_accessor :description
|
3485
|
+
|
3486
|
+
# Optional. Whether the pool is disabled. You cannot use a disabled pool to
|
3487
|
+
# exchange tokens, or use existing tokens to access resources. If the pool is re-
|
3488
|
+
# enabled, existing tokens grant access again.
|
3489
|
+
# Corresponds to the JSON property `disabled`
|
3490
|
+
# @return [Boolean]
|
3491
|
+
attr_accessor :disabled
|
3492
|
+
alias_method :disabled?, :disabled
|
3493
|
+
|
3494
|
+
# Optional. A display name for the pool. Cannot exceed 32 characters.
|
3495
|
+
# Corresponds to the JSON property `displayName`
|
3496
|
+
# @return [String]
|
3497
|
+
attr_accessor :display_name
|
3498
|
+
|
3499
|
+
# Output only. Time after which the workload identity pool will be permanently
|
3500
|
+
# purged and cannot be recovered.
|
3501
|
+
# Corresponds to the JSON property `expireTime`
|
3502
|
+
# @return [String]
|
3503
|
+
attr_accessor :expire_time
|
3504
|
+
|
3505
|
+
# Represents configuration for generating mutual TLS (mTLS) certificates for the
|
3506
|
+
# identities within this pool.
|
3507
|
+
# Corresponds to the JSON property `inlineCertificateIssuanceConfig`
|
3508
|
+
# @return [Google::Apis::IamV1::InlineCertificateIssuanceConfig]
|
3509
|
+
attr_accessor :inline_certificate_issuance_config
|
3510
|
+
|
3511
|
+
# Defines configuration for extending trust to additional trust domains. By
|
3512
|
+
# establishing trust with another domain, the current domain will recognize and
|
3513
|
+
# accept certificates issued by entities within the trusted domains. Note that a
|
3514
|
+
# trust domain automatically trusts itself, eliminating the need for explicit
|
3515
|
+
# configuration.
|
3516
|
+
# Corresponds to the JSON property `inlineTrustConfig`
|
3517
|
+
# @return [Google::Apis::IamV1::InlineTrustConfig]
|
3518
|
+
attr_accessor :inline_trust_config
|
3519
|
+
|
3520
|
+
# Immutable. The mode the pool is operating in.
|
3521
|
+
# Corresponds to the JSON property `mode`
|
3522
|
+
# @return [String]
|
3523
|
+
attr_accessor :mode
|
3524
|
+
|
3525
|
+
# Output only. The resource name of the pool.
|
3526
|
+
# Corresponds to the JSON property `name`
|
3527
|
+
# @return [String]
|
3528
|
+
attr_accessor :name
|
3529
|
+
|
3530
|
+
# Output only. The state of the pool.
|
3531
|
+
# Corresponds to the JSON property `state`
|
3532
|
+
# @return [String]
|
3533
|
+
attr_accessor :state
|
3534
|
+
|
1863
3535
|
def initialize(**args)
|
1864
3536
|
update!(**args)
|
1865
3537
|
end
|
1866
3538
|
|
1867
3539
|
# Update properties of this object
|
1868
3540
|
def update!(**args)
|
3541
|
+
@description = args[:description] if args.key?(:description)
|
3542
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
3543
|
+
@display_name = args[:display_name] if args.key?(:display_name)
|
3544
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
3545
|
+
@inline_certificate_issuance_config = args[:inline_certificate_issuance_config] if args.key?(:inline_certificate_issuance_config)
|
3546
|
+
@inline_trust_config = args[:inline_trust_config] if args.key?(:inline_trust_config)
|
3547
|
+
@mode = args[:mode] if args.key?(:mode)
|
3548
|
+
@name = args[:name] if args.key?(:name)
|
3549
|
+
@state = args[:state] if args.key?(:state)
|
1869
3550
|
end
|
1870
3551
|
end
|
1871
3552
|
|
1872
|
-
#
|
1873
|
-
class
|
3553
|
+
# Represents a managed identity for a workload identity pool namespace.
|
3554
|
+
class WorkloadIdentityPoolManagedIdentity
|
1874
3555
|
include Google::Apis::Core::Hashable
|
1875
3556
|
|
1876
|
-
#
|
1877
|
-
#
|
1878
|
-
# BEGIN CERTIFICATE-----`, and the last line, `-----END CERTIFICATE-----`.
|
1879
|
-
# Corresponds to the JSON property `publicKeyData`
|
1880
|
-
# NOTE: Values are automatically base64 encoded/decoded in the client library.
|
3557
|
+
# A description of the managed identity. Cannot exceed 256 characters.
|
3558
|
+
# Corresponds to the JSON property `description`
|
1881
3559
|
# @return [String]
|
1882
|
-
attr_accessor :
|
3560
|
+
attr_accessor :description
|
3561
|
+
|
3562
|
+
# Whether the managed identity is disabled. If disabled, credentials may no
|
3563
|
+
# longer be issued for the identity, however existing credentials will still be
|
3564
|
+
# accepted until they expire.
|
3565
|
+
# Corresponds to the JSON property `disabled`
|
3566
|
+
# @return [Boolean]
|
3567
|
+
attr_accessor :disabled
|
3568
|
+
alias_method :disabled?, :disabled
|
3569
|
+
|
3570
|
+
# Output only. Time after which the managed identity will be permanently purged
|
3571
|
+
# and cannot be recovered.
|
3572
|
+
# Corresponds to the JSON property `expireTime`
|
3573
|
+
# @return [String]
|
3574
|
+
attr_accessor :expire_time
|
3575
|
+
|
3576
|
+
# Output only. The resource name of the managed identity.
|
3577
|
+
# Corresponds to the JSON property `name`
|
3578
|
+
# @return [String]
|
3579
|
+
attr_accessor :name
|
3580
|
+
|
3581
|
+
# Output only. The state of the managed identity.
|
3582
|
+
# Corresponds to the JSON property `state`
|
3583
|
+
# @return [String]
|
3584
|
+
attr_accessor :state
|
1883
3585
|
|
1884
3586
|
def initialize(**args)
|
1885
3587
|
update!(**args)
|
@@ -1887,39 +3589,49 @@ module Google
|
|
1887
3589
|
|
1888
3590
|
# Update properties of this object
|
1889
3591
|
def update!(**args)
|
1890
|
-
@
|
3592
|
+
@description = args[:description] if args.key?(:description)
|
3593
|
+
@disabled = args[:disabled] if args.key?(:disabled)
|
3594
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
3595
|
+
@name = args[:name] if args.key?(:name)
|
3596
|
+
@state = args[:state] if args.key?(:state)
|
1891
3597
|
end
|
1892
3598
|
end
|
1893
3599
|
|
1894
|
-
# Represents a
|
1895
|
-
#
|
1896
|
-
class
|
3600
|
+
# Represents a namespace for a workload identity pool. Namespaces are used to
|
3601
|
+
# segment identities within the pool.
|
3602
|
+
class WorkloadIdentityPoolNamespace
|
1897
3603
|
include Google::Apis::Core::Hashable
|
1898
3604
|
|
1899
|
-
# A description of the
|
3605
|
+
# A description of the namespace. Cannot exceed 256 characters.
|
1900
3606
|
# Corresponds to the JSON property `description`
|
1901
3607
|
# @return [String]
|
1902
3608
|
attr_accessor :description
|
1903
3609
|
|
1904
|
-
# Whether the
|
1905
|
-
#
|
1906
|
-
#
|
3610
|
+
# Whether the namespace is disabled. If disabled, credentials may no longer be
|
3611
|
+
# issued for identities within this namespace, however existing credentials will
|
3612
|
+
# still be accepted until they expire.
|
1907
3613
|
# Corresponds to the JSON property `disabled`
|
1908
3614
|
# @return [Boolean]
|
1909
3615
|
attr_accessor :disabled
|
1910
3616
|
alias_method :disabled?, :disabled
|
1911
3617
|
|
1912
|
-
#
|
1913
|
-
#
|
3618
|
+
# Output only. Time after which the namespace will be permanently purged and
|
3619
|
+
# cannot be recovered.
|
3620
|
+
# Corresponds to the JSON property `expireTime`
|
1914
3621
|
# @return [String]
|
1915
|
-
attr_accessor :
|
3622
|
+
attr_accessor :expire_time
|
1916
3623
|
|
1917
|
-
# Output only. The resource name of the
|
3624
|
+
# Output only. The resource name of the namespace.
|
1918
3625
|
# Corresponds to the JSON property `name`
|
1919
3626
|
# @return [String]
|
1920
3627
|
attr_accessor :name
|
1921
3628
|
|
1922
|
-
#
|
3629
|
+
# The Google Cloud service that owns this namespace.
|
3630
|
+
# Corresponds to the JSON property `ownerService`
|
3631
|
+
# @return [Google::Apis::IamV1::OwnerService]
|
3632
|
+
attr_accessor :owner_service
|
3633
|
+
|
3634
|
+
# Output only. The state of the namespace.
|
1923
3635
|
# Corresponds to the JSON property `state`
|
1924
3636
|
# @return [String]
|
1925
3637
|
attr_accessor :state
|
@@ -1932,8 +3644,9 @@ module Google
|
|
1932
3644
|
def update!(**args)
|
1933
3645
|
@description = args[:description] if args.key?(:description)
|
1934
3646
|
@disabled = args[:disabled] if args.key?(:disabled)
|
1935
|
-
@
|
3647
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
1936
3648
|
@name = args[:name] if args.key?(:name)
|
3649
|
+
@owner_service = args[:owner_service] if args.key?(:owner_service)
|
1937
3650
|
@state = args[:state] if args.key?(:state)
|
1938
3651
|
end
|
1939
3652
|
end
|
@@ -1955,59 +3668,61 @@ module Google
|
|
1955
3668
|
class WorkloadIdentityPoolProvider
|
1956
3669
|
include Google::Apis::Core::Hashable
|
1957
3670
|
|
1958
|
-
# [A Common Expression Language](https://opensource.google/projects/
|
1959
|
-
# expression, in plain text, to restrict what otherwise valid
|
1960
|
-
# credentials issued by the provider should not be accepted. The
|
1961
|
-
# output a boolean representing whether to allow the federation.
|
1962
|
-
# keywords may be referenced in the expressions: * `assertion`:
|
1963
|
-
# representing the authentication credential issued by the provider. * `
|
1964
|
-
# The Google attributes mapped from the assertion in the `
|
1965
|
-
# `attribute`: The custom attributes mapped from the
|
1966
|
-
# attribute_mappings`. The maximum length of the attribute
|
1967
|
-
# is 4096 characters. If unspecified, all valid
|
1968
|
-
# accepted. The following example shows how to
|
1969
|
-
# mapped `google.groups` value of `admins`: ``` "'
|
3671
|
+
# Optional. [A Common Expression Language](https://opensource.google/projects/
|
3672
|
+
# cel) expression, in plain text, to restrict what otherwise valid
|
3673
|
+
# authentication credentials issued by the provider should not be accepted. The
|
3674
|
+
# expression must output a boolean representing whether to allow the federation.
|
3675
|
+
# The following keywords may be referenced in the expressions: * `assertion`:
|
3676
|
+
# JSON representing the authentication credential issued by the provider. * `
|
3677
|
+
# google`: The Google attributes mapped from the assertion in the `
|
3678
|
+
# attribute_mappings`. * `attribute`: The custom attributes mapped from the
|
3679
|
+
# assertion in the `attribute_mappings`. The maximum length of the attribute
|
3680
|
+
# condition expression is 4096 characters. If unspecified, all valid
|
3681
|
+
# authentication credential are accepted. The following example shows how to
|
3682
|
+
# only allow credentials with a mapped `google.groups` value of `admins`: ``` "'
|
3683
|
+
# admins' in google.groups" ```
|
1970
3684
|
# Corresponds to the JSON property `attributeCondition`
|
1971
3685
|
# @return [String]
|
1972
3686
|
attr_accessor :attribute_condition
|
1973
3687
|
|
1974
|
-
# Maps attributes from authentication credentials issued by an
|
1975
|
-
# provider to Google Cloud attributes, such as `subject` and `
|
1976
|
-
# must be a string specifying the Google Cloud IAM attribute
|
1977
|
-
# following keys are supported: * `google.subject`: The principal
|
1978
|
-
# authenticating. You can reference this value in IAM bindings. This is
|
1979
|
-
# subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. *
|
1980
|
-
# groups`: Groups the external identity belongs to. You can grant
|
1981
|
-
# to resources using an IAM `principalSet` binding; access applies
|
1982
|
-
# members of the group. You can also provide custom attributes by
|
1983
|
-
# attribute.`custom_attribute``, where ``custom_attribute`` is the
|
1984
|
-
# custom attribute to be mapped. You can define a maximum of 50
|
1985
|
-
# attributes. The maximum length of a mapped attribute key is 100
|
1986
|
-
# and the key may only contain the characters [a-z0-9_]. You can
|
1987
|
-
# attributes in IAM policies to define fine-grained access for a
|
1988
|
-
# Google Cloud resources. For example: * `google.subject`: `
|
1989
|
-
# googleapis.com/projects/`project`/locations/`location`/
|
1990
|
-
# pool`/subject/`value`` * `google.groups`: `principalSet
|
1991
|
-
# projects/`project`/locations/`location`/
|
1992
|
-
# value`` * `attribute.`custom_attribute``: `
|
1993
|
-
# projects/`project`/locations/`location`/
|
1994
|
-
#
|
1995
|
-
# https://opensource.google/projects/cel)
|
1996
|
-
#
|
1997
|
-
# map key. You can use the `assertion`
|
1998
|
-
#
|
1999
|
-
#
|
2000
|
-
#
|
2001
|
-
#
|
2002
|
-
# mapping applies: ``` ` "
|
2003
|
-
# "assertion.arn.
|
2004
|
-
#
|
2005
|
-
# assumed-role
|
2006
|
-
# mappings are defined, they must
|
2007
|
-
# attribute. For OIDC providers, you
|
2008
|
-
#
|
2009
|
-
#
|
2010
|
-
# token: ``` `"google.subject":
|
3688
|
+
# Optional. Maps attributes from authentication credentials issued by an
|
3689
|
+
# external identity provider to Google Cloud attributes, such as `subject` and `
|
3690
|
+
# segment`. Each key must be a string specifying the Google Cloud IAM attribute
|
3691
|
+
# to map to. The following keys are supported: * `google.subject`: The principal
|
3692
|
+
# IAM is authenticating. You can reference this value in IAM bindings. This is
|
3693
|
+
# also the subject that appears in Cloud Logging logs. Cannot exceed 127 bytes. *
|
3694
|
+
# `google.groups`: Groups the external identity belongs to. You can grant
|
3695
|
+
# groups access to resources using an IAM `principalSet` binding; access applies
|
3696
|
+
# to all members of the group. You can also provide custom attributes by
|
3697
|
+
# specifying `attribute.`custom_attribute``, where ``custom_attribute`` is the
|
3698
|
+
# name of the custom attribute to be mapped. You can define a maximum of 50
|
3699
|
+
# custom attributes. The maximum length of a mapped attribute key is 100
|
3700
|
+
# characters, and the key may only contain the characters [a-z0-9_]. You can
|
3701
|
+
# reference these attributes in IAM policies to define fine-grained access for a
|
3702
|
+
# workload to Google Cloud resources. For example: * `google.subject`: `
|
3703
|
+
# principal://iam.googleapis.com/projects/`project`/locations/`location`/
|
3704
|
+
# workloadIdentityPools/`pool`/subject/`value`` * `google.groups`: `principalSet:
|
3705
|
+
# //iam.googleapis.com/projects/`project`/locations/`location`/
|
3706
|
+
# workloadIdentityPools/`pool`/group/`value`` * `attribute.`custom_attribute``: `
|
3707
|
+
# principalSet://iam.googleapis.com/projects/`project`/locations/`location`/
|
3708
|
+
# workloadIdentityPools/`pool`/attribute.`custom_attribute`/`value`` Each value
|
3709
|
+
# must be a [Common Expression Language] (https://opensource.google/projects/cel)
|
3710
|
+
# function that maps an identity provider credential to the normalized
|
3711
|
+
# attribute specified by the corresponding map key. You can use the `assertion`
|
3712
|
+
# keyword in the expression to access a JSON representation of the
|
3713
|
+
# authentication credential issued by the provider. The maximum length of an
|
3714
|
+
# attribute mapping expression is 2048 characters. When evaluated, the total
|
3715
|
+
# size of all mapped attributes must not exceed 8KB. For AWS providers, if no
|
3716
|
+
# attribute mapping is defined, the following default mapping applies: ``` ` "
|
3717
|
+
# google.subject":"assertion.arn", "attribute.aws_role": "assertion.arn.contains(
|
3718
|
+
# 'assumed-role')" " ? assertion.arn.extract('`account_arn`assumed-role/')" " + '
|
3719
|
+
# assumed-role/'" " + assertion.arn.extract('assumed-role/`role_name`/')" " :
|
3720
|
+
# assertion.arn", ` ``` If any custom attribute mappings are defined, they must
|
3721
|
+
# include a mapping to the `google.subject` attribute. For OIDC providers, you
|
3722
|
+
# must supply a custom mapping, which must include the `google.subject`
|
3723
|
+
# attribute. For example, the following maps the `sub` claim of the incoming
|
3724
|
+
# credential to the `subject` attribute on a Google token: ``` `"google.subject":
|
3725
|
+
# "assertion.sub"` ```
|
2011
3726
|
# Corresponds to the JSON property `attributeMapping`
|
2012
3727
|
# @return [Hash<String,String>]
|
2013
3728
|
attr_accessor :attribute_mapping
|
@@ -2017,23 +3732,29 @@ module Google
|
|
2017
3732
|
# @return [Google::Apis::IamV1::Aws]
|
2018
3733
|
attr_accessor :aws
|
2019
3734
|
|
2020
|
-
# A description for the provider. Cannot exceed 256 characters.
|
3735
|
+
# Optional. A description for the provider. Cannot exceed 256 characters.
|
2021
3736
|
# Corresponds to the JSON property `description`
|
2022
3737
|
# @return [String]
|
2023
3738
|
attr_accessor :description
|
2024
3739
|
|
2025
|
-
# Whether the provider is disabled. You cannot use a disabled provider
|
2026
|
-
# exchange tokens. However, existing tokens still grant access.
|
3740
|
+
# Optional. Whether the provider is disabled. You cannot use a disabled provider
|
3741
|
+
# to exchange tokens. However, existing tokens still grant access.
|
2027
3742
|
# Corresponds to the JSON property `disabled`
|
2028
3743
|
# @return [Boolean]
|
2029
3744
|
attr_accessor :disabled
|
2030
3745
|
alias_method :disabled?, :disabled
|
2031
3746
|
|
2032
|
-
# A display name for the provider. Cannot exceed 32 characters.
|
3747
|
+
# Optional. A display name for the provider. Cannot exceed 32 characters.
|
2033
3748
|
# Corresponds to the JSON property `displayName`
|
2034
3749
|
# @return [String]
|
2035
3750
|
attr_accessor :display_name
|
2036
3751
|
|
3752
|
+
# Output only. Time after which the workload identity pool provider will be
|
3753
|
+
# permanently purged and cannot be recovered.
|
3754
|
+
# Corresponds to the JSON property `expireTime`
|
3755
|
+
# @return [String]
|
3756
|
+
attr_accessor :expire_time
|
3757
|
+
|
2037
3758
|
# Output only. The resource name of the provider.
|
2038
3759
|
# Corresponds to the JSON property `name`
|
2039
3760
|
# @return [String]
|
@@ -2054,6 +3775,12 @@ module Google
|
|
2054
3775
|
# @return [String]
|
2055
3776
|
attr_accessor :state
|
2056
3777
|
|
3778
|
+
# An X.509-type identity provider represents a CA. It is trusted to assert a
|
3779
|
+
# client identity if the client has a certificate that chains up to this CA.
|
3780
|
+
# Corresponds to the JSON property `x509`
|
3781
|
+
# @return [Google::Apis::IamV1::X509]
|
3782
|
+
attr_accessor :x509
|
3783
|
+
|
2057
3784
|
def initialize(**args)
|
2058
3785
|
update!(**args)
|
2059
3786
|
end
|
@@ -2066,10 +3793,81 @@ module Google
|
|
2066
3793
|
@description = args[:description] if args.key?(:description)
|
2067
3794
|
@disabled = args[:disabled] if args.key?(:disabled)
|
2068
3795
|
@display_name = args[:display_name] if args.key?(:display_name)
|
3796
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
2069
3797
|
@name = args[:name] if args.key?(:name)
|
2070
3798
|
@oidc = args[:oidc] if args.key?(:oidc)
|
2071
3799
|
@saml = args[:saml] if args.key?(:saml)
|
2072
3800
|
@state = args[:state] if args.key?(:state)
|
3801
|
+
@x509 = args[:x509] if args.key?(:x509)
|
3802
|
+
end
|
3803
|
+
end
|
3804
|
+
|
3805
|
+
# Represents a public key configuration for your workload identity pool provider.
|
3806
|
+
# The key can be configured in your identity provider to encrypt the SAML
|
3807
|
+
# assertions. Google holds the corresponding private key which it uses to
|
3808
|
+
# decrypt encrypted tokens.
|
3809
|
+
class WorkloadIdentityPoolProviderKey
|
3810
|
+
include Google::Apis::Core::Hashable
|
3811
|
+
|
3812
|
+
# Output only. Time after which the key will be permanently purged and cannot be
|
3813
|
+
# recovered. Note that the key may get purged before this timestamp if the total
|
3814
|
+
# limit of keys per provider is crossed.
|
3815
|
+
# Corresponds to the JSON property `expireTime`
|
3816
|
+
# @return [String]
|
3817
|
+
attr_accessor :expire_time
|
3818
|
+
|
3819
|
+
# Represents a public key data along with its format.
|
3820
|
+
# Corresponds to the JSON property `keyData`
|
3821
|
+
# @return [Google::Apis::IamV1::KeyData]
|
3822
|
+
attr_accessor :key_data
|
3823
|
+
|
3824
|
+
# Output only. The resource name of the key.
|
3825
|
+
# Corresponds to the JSON property `name`
|
3826
|
+
# @return [String]
|
3827
|
+
attr_accessor :name
|
3828
|
+
|
3829
|
+
# Output only. The state of the key.
|
3830
|
+
# Corresponds to the JSON property `state`
|
3831
|
+
# @return [String]
|
3832
|
+
attr_accessor :state
|
3833
|
+
|
3834
|
+
# Required. The purpose of the key.
|
3835
|
+
# Corresponds to the JSON property `use`
|
3836
|
+
# @return [String]
|
3837
|
+
attr_accessor :use
|
3838
|
+
|
3839
|
+
def initialize(**args)
|
3840
|
+
update!(**args)
|
3841
|
+
end
|
3842
|
+
|
3843
|
+
# Update properties of this object
|
3844
|
+
def update!(**args)
|
3845
|
+
@expire_time = args[:expire_time] if args.key?(:expire_time)
|
3846
|
+
@key_data = args[:key_data] if args.key?(:key_data)
|
3847
|
+
@name = args[:name] if args.key?(:name)
|
3848
|
+
@state = args[:state] if args.key?(:state)
|
3849
|
+
@use = args[:use] if args.key?(:use)
|
3850
|
+
end
|
3851
|
+
end
|
3852
|
+
|
3853
|
+
# An X.509-type identity provider represents a CA. It is trusted to assert a
|
3854
|
+
# client identity if the client has a certificate that chains up to this CA.
|
3855
|
+
class X509
|
3856
|
+
include Google::Apis::Core::Hashable
|
3857
|
+
|
3858
|
+
# Trust store that contains trust anchors and optional intermediate CAs used in
|
3859
|
+
# PKI to build a trust chain(trust hierarchy) and verify a client's identity.
|
3860
|
+
# Corresponds to the JSON property `trustStore`
|
3861
|
+
# @return [Google::Apis::IamV1::TrustStore]
|
3862
|
+
attr_accessor :trust_store
|
3863
|
+
|
3864
|
+
def initialize(**args)
|
3865
|
+
update!(**args)
|
3866
|
+
end
|
3867
|
+
|
3868
|
+
# Update properties of this object
|
3869
|
+
def update!(**args)
|
3870
|
+
@trust_store = args[:trust_store] if args.key?(:trust_store)
|
2073
3871
|
end
|
2074
3872
|
end
|
2075
3873
|
end
|