Class: AWSCDK::Elasticsearch::CfnDomainProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Elasticsearch::CfnDomainProps
- Defined in:
- elasticsearch/cfn_domain_props.rb
Overview
Properties for defining a CfnDomain.
Instance Attribute Summary collapse
-
#access_policies ⇒ Object?
readonly
An AWS Identity and Access Management ( IAM ) policy document that specifies who can access the OpenSearch Service domain and their permissions.
-
#advanced_options ⇒ AWSCDK::IResolvable, ...
readonly
Additional options to specify for the OpenSearch Service domain.
-
#advanced_security_options ⇒ AWSCDK::IResolvable, ...
readonly
Specifies options for fine-grained access control.
-
#cognito_options ⇒ AWSCDK::IResolvable, ...
readonly
Configures OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.
- #domain_arn ⇒ String? readonly
-
#domain_endpoint_options ⇒ AWSCDK::IResolvable, ...
readonly
Specifies additional options for the domain endpoint, such as whether to require HTTPS for all traffic or whether to use a custom endpoint rather than the default endpoint.
-
#domain_name ⇒ String?
readonly
A name for the OpenSearch Service domain.
-
#ebs_options ⇒ AWSCDK::IResolvable, ...
readonly
The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain.
-
#elasticsearch_cluster_config ⇒ AWSCDK::IResolvable, ...
readonly
ElasticsearchClusterConfig is a property of the AWS::Elasticsearch::Domain resource that configures the cluster of an Amazon OpenSearch Service domain.
-
#elasticsearch_version ⇒ String?
readonly
The version of Elasticsearch to use, such as 2.3.
-
#encryption_at_rest_options ⇒ AWSCDK::IResolvable, ...
readonly
Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service key to use.
-
#log_publishing_options ⇒ AWSCDK::IResolvable, ...
readonly
An object with one or more of the following keys:
SEARCH_SLOW_LOGS,ES_APPLICATION_LOGS,INDEX_SLOW_LOGS,AUDIT_LOGS, depending on the types of logs you want to publish. -
#node_to_node_encryption_options ⇒ AWSCDK::IResolvable, ...
readonly
Specifies whether node-to-node encryption is enabled.
-
#snapshot_options ⇒ AWSCDK::IResolvable, ...
readonly
DEPRECATED .
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Service domain.
-
#vpc_options ⇒ AWSCDK::IResolvable, ...
readonly
The virtual private cloud (VPC) configuration for the OpenSearch Service domain.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(access_policies: nil, advanced_options: nil, advanced_security_options: nil, cognito_options: nil, domain_arn: nil, domain_endpoint_options: nil, domain_name: nil, ebs_options: nil, elasticsearch_cluster_config: nil, elasticsearch_version: nil, encryption_at_rest_options: nil, log_publishing_options: nil, node_to_node_encryption_options: nil, snapshot_options: nil, tags: nil, vpc_options: nil) ⇒ CfnDomainProps
constructor
A new instance of CfnDomainProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(access_policies: nil, advanced_options: nil, advanced_security_options: nil, cognito_options: nil, domain_arn: nil, domain_endpoint_options: nil, domain_name: nil, ebs_options: nil, elasticsearch_cluster_config: nil, elasticsearch_version: nil, encryption_at_rest_options: nil, log_publishing_options: nil, node_to_node_encryption_options: nil, snapshot_options: nil, tags: nil, vpc_options: nil) ⇒ CfnDomainProps
Returns a new instance of CfnDomainProps.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'elasticsearch/cfn_domain_props.rb', line 25 def initialize(access_policies: nil, advanced_options: nil, advanced_security_options: nil, cognito_options: nil, domain_arn: nil, domain_endpoint_options: nil, domain_name: nil, ebs_options: nil, elasticsearch_cluster_config: nil, elasticsearch_version: nil, encryption_at_rest_options: nil, log_publishing_options: nil, node_to_node_encryption_options: nil, snapshot_options: nil, tags: nil, vpc_options: nil) @access_policies = access_policies Jsii::Type.check_type(@access_policies, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "accessPolicies") unless @access_policies.nil? @advanced_options = Jsii::Type.check_type(@advanced_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "advancedOptions") unless @advanced_options.nil? @advanced_security_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::AdvancedSecurityOptionsInputProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@advanced_security_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5BZHZhbmNlZFNlY3VyaXR5T3B0aW9uc0lucHV0UHJvcGVydHkifV19fQ==")), "advancedSecurityOptions") unless @advanced_security_options.nil? @cognito_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::CognitoOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@cognito_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5Db2duaXRvT3B0aW9uc1Byb3BlcnR5In1dfX0=")), "cognitoOptions") unless @cognito_options.nil? @domain_arn = domain_arn Jsii::Type.check_type(@domain_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainArn") unless @domain_arn.nil? @domain_endpoint_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::DomainEndpointOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@domain_endpoint_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5Eb21haW5FbmRwb2ludE9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "domainEndpointOptions") unless @domain_endpoint_options.nil? @domain_name = domain_name Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") unless @domain_name.nil? @ebs_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::EBSOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@ebs_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5FQlNPcHRpb25zUHJvcGVydHkifV19fQ==")), "ebsOptions") unless @ebs_options.nil? @elasticsearch_cluster_config = elasticsearch_cluster_config.is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::ElasticsearchClusterConfigProperty.new(**elasticsearch_cluster_config.transform_keys(&:to_sym)) : elasticsearch_cluster_config Jsii::Type.check_type(@elasticsearch_cluster_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5FbGFzdGljc2VhcmNoQ2x1c3RlckNvbmZpZ1Byb3BlcnR5In1dfX0=")), "elasticsearchClusterConfig") unless @elasticsearch_cluster_config.nil? @elasticsearch_version = elasticsearch_version Jsii::Type.check_type(@elasticsearch_version, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "elasticsearchVersion") unless @elasticsearch_version.nil? @encryption_at_rest_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::EncryptionAtRestOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@encryption_at_rest_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5FbmNyeXB0aW9uQXRSZXN0T3B0aW9uc1Byb3BlcnR5In1dfX0=")), "encryptionAtRestOptions") unless @encryption_at_rest_options.nil? @log_publishing_options = Jsii::Type.check_type(@log_publishing_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZWxhc3RpY3NlYXJjaC5DZm5Eb21haW4uTG9nUHVibGlzaGluZ09wdGlvblByb3BlcnR5In1dfX0sImtpbmQiOiJtYXAifX1dfX0=")), "logPublishingOptions") unless @log_publishing_options.nil? @node_to_node_encryption_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::NodeToNodeEncryptionOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@node_to_node_encryption_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5Ob2RlVG9Ob2RlRW5jcnlwdGlvbk9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "nodeToNodeEncryptionOptions") unless @node_to_node_encryption_options.nil? @snapshot_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::SnapshotOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@snapshot_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5TbmFwc2hvdE9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "snapshotOptions") unless @snapshot_options.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? @vpc_options = .is_a?(Hash) ? ::AWSCDK::Elasticsearch::CfnDomain::VPCOptionsProperty.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(@vpc_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lbGFzdGljc2VhcmNoLkNmbkRvbWFpbi5WUENPcHRpb25zUHJvcGVydHkifV19fQ==")), "vpcOptions") unless @vpc_options.nil? end |
Instance Attribute Details
#access_policies ⇒ Object? (readonly)
An AWS Identity and Access Management ( IAM ) policy document that specifies who can access the OpenSearch Service domain and their permissions.
For more information, see Configuring access policies in the Amazon OpenSearch Service Developer Guid e.
66 67 68 |
# File 'elasticsearch/cfn_domain_props.rb', line 66 def access_policies @access_policies end |
#advanced_options ⇒ AWSCDK::IResolvable, ... (readonly)
Additional options to specify for the OpenSearch Service domain.
For more information, see Advanced cluster parameters in the Amazon OpenSearch Service Developer Guide .
73 74 75 |
# File 'elasticsearch/cfn_domain_props.rb', line 73 def @advanced_options end |
#advanced_security_options ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies options for fine-grained access control.
78 79 80 |
# File 'elasticsearch/cfn_domain_props.rb', line 78 def @advanced_security_options end |
#cognito_options ⇒ AWSCDK::IResolvable, ... (readonly)
Configures OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.
83 84 85 |
# File 'elasticsearch/cfn_domain_props.rb', line 83 def @cognito_options end |
#domain_arn ⇒ String? (readonly)
86 87 88 |
# File 'elasticsearch/cfn_domain_props.rb', line 86 def domain_arn @domain_arn end |
#domain_endpoint_options ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies additional options for the domain endpoint, such as whether to require HTTPS for all traffic or whether to use a custom endpoint rather than the default endpoint.
91 92 93 |
# File 'elasticsearch/cfn_domain_props.rb', line 91 def @domain_endpoint_options end |
#domain_name ⇒ String? (readonly)
A name for the OpenSearch Service domain.
For valid values, see the DomainName data type in the Amazon OpenSearch Service Developer Guide . If you don't specify a name, CloudFormation generates a unique physical ID and uses that ID for the domain name. For more information, see Name Type .
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
100 101 102 |
# File 'elasticsearch/cfn_domain_props.rb', line 100 def domain_name @domain_name end |
#ebs_options ⇒ AWSCDK::IResolvable, ... (readonly)
The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain.
For more information, see EBS volume size limits in the Amazon OpenSearch Service Developer Guide .
107 108 109 |
# File 'elasticsearch/cfn_domain_props.rb', line 107 def @ebs_options end |
#elasticsearch_cluster_config ⇒ AWSCDK::IResolvable, ... (readonly)
ElasticsearchClusterConfig is a property of the AWS::Elasticsearch::Domain resource that configures the cluster of an Amazon OpenSearch Service domain.
112 113 114 |
# File 'elasticsearch/cfn_domain_props.rb', line 112 def elasticsearch_cluster_config @elasticsearch_cluster_config end |
#elasticsearch_version ⇒ String? (readonly)
The version of Elasticsearch to use, such as 2.3. If not specified, 1.5 is used as the default. For information about the versions that OpenSearch Service supports, see Supported versions of OpenSearch and Elasticsearch in the Amazon OpenSearch Service Developer Guide .
If you set the EnableVersionUpgrade update policy to true , you can update ElasticsearchVersion without interruption. When EnableVersionUpgrade is set to false , or is not specified, updating ElasticsearchVersion results in replacement .
119 120 121 |
# File 'elasticsearch/cfn_domain_props.rb', line 119 def elasticsearch_version @elasticsearch_version end |
#encryption_at_rest_options ⇒ AWSCDK::IResolvable, ... (readonly)
Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service key to use.
See Encryption of data at rest for Amazon OpenSearch Service .
126 127 128 |
# File 'elasticsearch/cfn_domain_props.rb', line 126 def @encryption_at_rest_options end |
#log_publishing_options ⇒ AWSCDK::IResolvable, ... (readonly)
An object with one or more of the following keys: SEARCH_SLOW_LOGS , ES_APPLICATION_LOGS , INDEX_SLOW_LOGS , AUDIT_LOGS , depending on the types of logs you want to publish.
Each key needs a valid LogPublishingOption value.
133 134 135 |
# File 'elasticsearch/cfn_domain_props.rb', line 133 def @log_publishing_options end |
#node_to_node_encryption_options ⇒ AWSCDK::IResolvable, ... (readonly)
Specifies whether node-to-node encryption is enabled.
140 141 142 |
# File 'elasticsearch/cfn_domain_props.rb', line 140 def @node_to_node_encryption_options end |
#snapshot_options ⇒ AWSCDK::IResolvable, ... (readonly)
DEPRECATED .
The automated snapshot configuration for the OpenSearch Service domain indices.
147 148 149 |
# File 'elasticsearch/cfn_domain_props.rb', line 147 def @snapshot_options end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Service domain.
152 153 154 |
# File 'elasticsearch/cfn_domain_props.rb', line 152 def @tags end |
#vpc_options ⇒ AWSCDK::IResolvable, ... (readonly)
The virtual private cloud (VPC) configuration for the OpenSearch Service domain.
For more information, see Launching your Amazon OpenSearch Service domains within a VPC in the Amazon OpenSearch Service Developer Guide .
159 160 161 |
# File 'elasticsearch/cfn_domain_props.rb', line 159 def @vpc_options end |
Class Method Details
.jsii_properties ⇒ Object
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
# File 'elasticsearch/cfn_domain_props.rb', line 161 def self.jsii_properties { :access_policies => "accessPolicies", :advanced_options => "advancedOptions", :advanced_security_options => "advancedSecurityOptions", :cognito_options => "cognitoOptions", :domain_arn => "domainArn", :domain_endpoint_options => "domainEndpointOptions", :domain_name => "domainName", :ebs_options => "ebsOptions", :elasticsearch_cluster_config => "elasticsearchClusterConfig", :elasticsearch_version => "elasticsearchVersion", :encryption_at_rest_options => "encryptionAtRestOptions", :log_publishing_options => "logPublishingOptions", :node_to_node_encryption_options => "nodeToNodeEncryptionOptions", :snapshot_options => "snapshotOptions", :tags => "tags", :vpc_options => "vpcOptions", } end |
Instance Method Details
#to_jsii ⇒ Object
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
# File 'elasticsearch/cfn_domain_props.rb', line 182 def to_jsii result = {} result.merge!({ "accessPolicies" => @access_policies, "advancedOptions" => @advanced_options, "advancedSecurityOptions" => @advanced_security_options, "cognitoOptions" => @cognito_options, "domainArn" => @domain_arn, "domainEndpointOptions" => @domain_endpoint_options, "domainName" => @domain_name, "ebsOptions" => @ebs_options, "elasticsearchClusterConfig" => @elasticsearch_cluster_config, "elasticsearchVersion" => @elasticsearch_version, "encryptionAtRestOptions" => @encryption_at_rest_options, "logPublishingOptions" => @log_publishing_options, "nodeToNodeEncryptionOptions" => @node_to_node_encryption_options, "snapshotOptions" => @snapshot_options, "tags" => @tags, "vpcOptions" => @vpc_options, }) result.compact end |