Class: Google::Apis::IamV1::WorkforcePoolProviderScimTenant

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/iam_v1/classes.rb,
lib/google/apis/iam_v1/representations.rb,
lib/google/apis/iam_v1/representations.rb

Overview

Gemini Enterprise only. Represents a SCIM tenant. Used for provisioning and managing identity data (such as Users and Groups) in cross-domain environments.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ WorkforcePoolProviderScimTenant

Returns a new instance of WorkforcePoolProviderScimTenant.



3655
3656
3657
# File 'lib/google/apis/iam_v1/classes.rb', line 3655

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#base_uriString

Output only. Gemini Enterprise only. Represents the base URI as defined in RFC 7644, Section 1.3. Clients must use this as the root address for managing resources under the tenant. Format: https://iamscim.googleapis.com/`version`/`tenant_id`/ Corresponds to the JSON property baseUri

Returns:

  • (String)


3596
3597
3598
# File 'lib/google/apis/iam_v1/classes.rb', line 3596

def base_uri
  @base_uri
end

#claim_mappingHash<String,String>

Required. Immutable. Gemini Enterprise only. Maps SCIM attributes to Google attributes. This mapping is used to associate the attributes synced via SCIM with the Google Cloud attributes used in IAM policies for Workforce Identity Federation. SCIM-managed user and group attributes are mapped to google. subject and google.group respectively. Each key must be a string specifying the Google Cloud IAM attribute to map to. The supported keys are as follows: * google.subject: The principal IAM is authenticating. You can reference this value in IAM bindings. This is also the subject that appears in Cloud Logging logs. This is a required field and the mapped subject cannot exceed 127 bytes.

  • google.group: Group the authenticating user belongs to. You can grant group access to resources using an IAM principalSet binding; access applies to all members of the group. Each value must be a Common Expression Language expression that maps SCIM user or group attribute to the normalized attribute specified by the corresponding map key. Example: To map the SCIM user's externalId to google.subject and the SCIM group's externalId to google.group: ` "google.subject": "user. externalId", "google.group": "group.externalId" ` Corresponds to the JSON property claimMapping

Returns:

  • (Hash<String,String>)


3617
3618
3619
# File 'lib/google/apis/iam_v1/classes.rb', line 3617

def claim_mapping
  @claim_mapping
end

#descriptionString

Optional. Gemini Enterprise only. The description of the SCIM tenant. Cannot exceed 256 characters. Corresponds to the JSON property description

Returns:

  • (String)


3623
3624
3625
# File 'lib/google/apis/iam_v1/classes.rb', line 3623

def description
  @description
end

#display_nameString

Optional. Gemini Enterprise only. The display name of the SCIM tenant. Cannot exceed 32 characters. Corresponds to the JSON property displayName

Returns:

  • (String)


3629
3630
3631
# File 'lib/google/apis/iam_v1/classes.rb', line 3629

def display_name
  @display_name
end

#nameString

Identifier. Gemini Enterprise only. The resource name of the SCIM Tenant. Format: locations/location/workforcePools/workforce_pool/providers/ workforce_pool_provider/scimTenants/scim_tenant` Corresponds to the JSON propertyname`

Returns:

  • (String)


3636
3637
3638
# File 'lib/google/apis/iam_v1/classes.rb', line 3636

def name
  @name
end

#purge_timeString

Output only. Gemini Enterprise only. The timestamp that represents the time when the SCIM tenant is purged. Corresponds to the JSON property purgeTime

Returns:

  • (String)


3642
3643
3644
# File 'lib/google/apis/iam_v1/classes.rb', line 3642

def purge_time
  @purge_time
end

#service_agentString

Output only. Service Agent created by SCIM Tenant API. SCIM tokens created under this tenant will be attached to this service agent. Corresponds to the JSON property serviceAgent

Returns:

  • (String)


3648
3649
3650
# File 'lib/google/apis/iam_v1/classes.rb', line 3648

def service_agent
  @service_agent
end

#stateString

Output only. Gemini Enterprise only. The state of the tenant. Corresponds to the JSON property state

Returns:

  • (String)


3653
3654
3655
# File 'lib/google/apis/iam_v1/classes.rb', line 3653

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
# File 'lib/google/apis/iam_v1/classes.rb', line 3660

def update!(**args)
  @base_uri = args[:base_uri] if args.key?(:base_uri)
  @claim_mapping = args[:claim_mapping] if args.key?(:claim_mapping)
  @description = args[:description] if args.key?(:description)
  @display_name = args[:display_name] if args.key?(:display_name)
  @name = args[:name] if args.key?(:name)
  @purge_time = args[:purge_time] if args.key?(:purge_time)
  @service_agent = args[:service_agent] if args.key?(:service_agent)
  @state = args[:state] if args.key?(:state)
end