Class: AWSCDK::OpenSearchService::CfnApplicationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
open_search_service/cfn_application_props.rb

Overview

Properties for defining a CfnApplication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, app_configs: nil, data_sources: nil, endpoint: nil, iam_identity_center_options: nil, kms_key_arn: nil, tags: nil) ⇒ CfnApplicationProps

Returns a new instance of CfnApplicationProps.

Parameters:



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'open_search_service/cfn_application_props.rb', line 16

def initialize(name:, app_configs: nil, data_sources: nil, endpoint: nil, iam_identity_center_options: nil, kms_key_arn: nil, tags: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @app_configs = app_configs
  Jsii::Type.check_type(@app_configs, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfb3BlbnNlYXJjaHNlcnZpY2UuQ2ZuQXBwbGljYXRpb24uQXBwQ29uZmlnUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "appConfigs") unless @app_configs.nil?
  @data_sources = data_sources
  Jsii::Type.check_type(@data_sources, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3Nfb3BlbnNlYXJjaHNlcnZpY2UuQ2ZuQXBwbGljYXRpb24uRGF0YVNvdXJjZVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "dataSources") unless @data_sources.nil?
  @endpoint = endpoint
  Jsii::Type.check_type(@endpoint, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "endpoint") unless @endpoint.nil?
  @iam_identity_center_options = iam_identity_center_options.is_a?(Hash) ? ::AWSCDK::OpenSearchService::CfnApplication::IAMIdentityCenterOptionsProperty.new(**iam_identity_center_options.transform_keys(&:to_sym)) : iam_identity_center_options
  Jsii::Type.check_type(@iam_identity_center_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcGVuc2VhcmNoc2VydmljZS5DZm5BcHBsaWNhdGlvbi5JYW1JZGVudGl0eUNlbnRlck9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "iamIdentityCenterOptions") unless @iam_identity_center_options.nil?
  @kms_key_arn = kms_key_arn
  Jsii::Type.check_type(@kms_key_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "kmsKeyArn") unless @kms_key_arn.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#app_configsAWSCDK::IResolvable, ... (readonly)

List of application configurations.



42
43
44
# File 'open_search_service/cfn_application_props.rb', line 42

def app_configs
  @app_configs
end

#data_sourcesAWSCDK::IResolvable, ... (readonly)

List of data sources.



47
48
49
# File 'open_search_service/cfn_application_props.rb', line 47

def data_sources
  @data_sources
end

#endpointString? (readonly)

The endpoint URL of an OpenSearch application.



52
53
54
# File 'open_search_service/cfn_application_props.rb', line 52

def endpoint
  @endpoint
end

#iam_identity_center_optionsAWSCDK::IResolvable, ... (readonly)

Settings container for integrating IAM Identity Center with OpenSearch UI applications, which enables enabling secure user authentication and access control across multiple data sources.

This setup supports single sign-on (SSO) through IAM Identity Center, allowing centralized user management.



59
60
61
# File 'open_search_service/cfn_application_props.rb', line 59

def iam_identity_center_options
  @iam_identity_center_options
end

#kms_key_arnString? (readonly)

The ARN of the KMS key used to encrypt the application.



64
65
66
# File 'open_search_service/cfn_application_props.rb', line 64

def kms_key_arn
  @kms_key_arn
end

#nameString (readonly)

The name of an OpenSearch application.



37
38
39
# File 'open_search_service/cfn_application_props.rb', line 37

def name
  @name
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

An arbitrary set of tags (key-value pairs) for this application.



69
70
71
# File 'open_search_service/cfn_application_props.rb', line 69

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



71
72
73
74
75
76
77
78
79
80
81
# File 'open_search_service/cfn_application_props.rb', line 71

def self.jsii_properties
  {
    :name => "name",
    :app_configs => "appConfigs",
    :data_sources => "dataSources",
    :endpoint => "endpoint",
    :iam_identity_center_options => "iamIdentityCenterOptions",
    :kms_key_arn => "kmsKeyArn",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'open_search_service/cfn_application_props.rb', line 83

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "appConfigs" => @app_configs,
    "dataSources" => @data_sources,
    "endpoint" => @endpoint,
    "iamIdentityCenterOptions" => @iam_identity_center_options,
    "kmsKeyArn" => @kms_key_arn,
    "tags" => @tags,
  })
  result.compact
end