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.



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

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)


3594
3595
3596
# File 'lib/google/apis/iam_v1/classes.rb', line 3594

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>)


3615
3616
3617
# File 'lib/google/apis/iam_v1/classes.rb', line 3615

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)


3621
3622
3623
# File 'lib/google/apis/iam_v1/classes.rb', line 3621

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)


3627
3628
3629
# File 'lib/google/apis/iam_v1/classes.rb', line 3627

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)


3634
3635
3636
# File 'lib/google/apis/iam_v1/classes.rb', line 3634

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)


3640
3641
3642
# File 'lib/google/apis/iam_v1/classes.rb', line 3640

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)


3646
3647
3648
# File 'lib/google/apis/iam_v1/classes.rb', line 3646

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)


3651
3652
3653
# File 'lib/google/apis/iam_v1/classes.rb', line 3651

def state
  @state
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



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

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