Class: AWSCDK::OpenSearchServerless::CfnSecurityConfig::IAMFederationConfigOptionsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
open_search_serverless/cfn_security_config.rb

Overview

Describes IAM federation options for an OpenSearch Serverless security configuration in the form of a key-value map.

These options define how OpenSearch Serverless integrates with external identity providers using federation.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(group_attribute: nil, user_attribute: nil) ⇒ IAMFederationConfigOptionsProperty

Returns a new instance of IAMFederationConfigOptionsProperty.

Parameters:

  • group_attribute (String, nil) (defaults to: nil)

    The group attribute for this IAM federation integration.

  • user_attribute (String, nil) (defaults to: nil)

    The user attribute for this IAM federation integration.



599
600
601
602
603
604
# File 'open_search_serverless/cfn_security_config.rb', line 599

def initialize(group_attribute: nil, user_attribute: nil)
  @group_attribute = group_attribute
  Jsii::Type.check_type(@group_attribute, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "groupAttribute") unless @group_attribute.nil?
  @user_attribute = user_attribute
  Jsii::Type.check_type(@user_attribute, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userAttribute") unless @user_attribute.nil?
end

Instance Attribute Details

#group_attributeString? (readonly)

The group attribute for this IAM federation integration.

This attribute is used to map identity provider groups to OpenSearch Serverless permissions.



612
613
614
# File 'open_search_serverless/cfn_security_config.rb', line 612

def group_attribute
  @group_attribute
end

#user_attributeString? (readonly)

The user attribute for this IAM federation integration.

This attribute is used to identify users in the federated authentication process.



619
620
621
# File 'open_search_serverless/cfn_security_config.rb', line 619

def user_attribute
  @user_attribute
end

Class Method Details

.jsii_propertiesObject



621
622
623
624
625
626
# File 'open_search_serverless/cfn_security_config.rb', line 621

def self.jsii_properties
  {
    :group_attribute => "groupAttribute",
    :user_attribute => "userAttribute",
  }
end

Instance Method Details

#to_jsiiObject



628
629
630
631
632
633
634
635
# File 'open_search_serverless/cfn_security_config.rb', line 628

def to_jsii
  result = {}
  result.merge!({
    "groupAttribute" => @group_attribute,
    "userAttribute" => @user_attribute,
  })
  result.compact
end