java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
All Implemented Interfaces:
IInspectable, ITaggable, software.amazon.jsii.JsiiSerializable, software.constructs.IConstruct, software.constructs.IDependable

@Generated(value="jsii-pacmak/1.101.0 (build b95fe5d)", date="2024-07-12T19:34:01.996Z") @Stability(Stable) public class CfnDomain extends CfnResource implements IInspectable, ITaggable
The AWS::Elasticsearch::Domain resource creates an Amazon OpenSearch Service domain.

The AWS::Elasticsearch::Domain resource is being replaced by the AWS::OpenSearchService::Domain resource. While the legacy Elasticsearch resource and options are still supported, we recommend modifying your existing Cloudformation templates to use the new OpenSearch Service resource, which supports both OpenSearch and legacy Elasticsearch. For instructions to upgrade domains defined within CloudFormation from Elasticsearch to OpenSearch, see Remarks .

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.elasticsearch.*;
 Object accessPolicies;
 CfnDomain cfnDomain = CfnDomain.Builder.create(this, "MyCfnDomain")
         .accessPolicies(accessPolicies)
         .advancedOptions(Map.of(
                 "advancedOptionsKey", "advancedOptions"))
         .advancedSecurityOptions(AdvancedSecurityOptionsInputProperty.builder()
                 .anonymousAuthEnabled(false)
                 .enabled(false)
                 .internalUserDatabaseEnabled(false)
                 .masterUserOptions(MasterUserOptionsProperty.builder()
                         .masterUserArn("masterUserArn")
                         .masterUserName("masterUserName")
                         .masterUserPassword("masterUserPassword")
                         .build())
                 .build())
         .cognitoOptions(CognitoOptionsProperty.builder()
                 .enabled(false)
                 .identityPoolId("identityPoolId")
                 .roleArn("roleArn")
                 .userPoolId("userPoolId")
                 .build())
         .domainArn("domainArn")
         .domainEndpointOptions(DomainEndpointOptionsProperty.builder()
                 .customEndpoint("customEndpoint")
                 .customEndpointCertificateArn("customEndpointCertificateArn")
                 .customEndpointEnabled(false)
                 .enforceHttps(false)
                 .tlsSecurityPolicy("tlsSecurityPolicy")
                 .build())
         .domainName("domainName")
         .ebsOptions(EBSOptionsProperty.builder()
                 .ebsEnabled(false)
                 .iops(123)
                 .volumeSize(123)
                 .volumeType("volumeType")
                 .build())
         .elasticsearchClusterConfig(ElasticsearchClusterConfigProperty.builder()
                 .coldStorageOptions(ColdStorageOptionsProperty.builder()
                         .enabled(false)
                         .build())
                 .dedicatedMasterCount(123)
                 .dedicatedMasterEnabled(false)
                 .dedicatedMasterType("dedicatedMasterType")
                 .instanceCount(123)
                 .instanceType("instanceType")
                 .warmCount(123)
                 .warmEnabled(false)
                 .warmType("warmType")
                 .zoneAwarenessConfig(ZoneAwarenessConfigProperty.builder()
                         .availabilityZoneCount(123)
                         .build())
                 .zoneAwarenessEnabled(false)
                 .build())
         .elasticsearchVersion("elasticsearchVersion")
         .encryptionAtRestOptions(EncryptionAtRestOptionsProperty.builder()
                 .enabled(false)
                 .kmsKeyId("kmsKeyId")
                 .build())
         .logPublishingOptions(Map.of(
                 "logPublishingOptionsKey", LogPublishingOptionProperty.builder()
                         .cloudWatchLogsLogGroupArn("cloudWatchLogsLogGroupArn")
                         .enabled(false)
                         .build()))
         .nodeToNodeEncryptionOptions(NodeToNodeEncryptionOptionsProperty.builder()
                 .enabled(false)
                 .build())
         .snapshotOptions(SnapshotOptionsProperty.builder()
                 .automatedSnapshotStartHour(123)
                 .build())
         .tags(List.of(CfnTag.builder()
                 .key("key")
                 .value("value")
                 .build()))
         .vpcOptions(VPCOptionsProperty.builder()
                 .securityGroupIds(List.of("securityGroupIds"))
                 .subnetIds(List.of("subnetIds"))
                 .build())
         .build();
 

See Also:
  • Field Details

    • CFN_RESOURCE_TYPE_NAME

      @Stability(Stable) public static final String CFN_RESOURCE_TYPE_NAME
      The CloudFormation resource type name for this resource class.
  • Constructor Details

    • CfnDomain

      protected CfnDomain(software.amazon.jsii.JsiiObjectRef objRef)
    • CfnDomain

      protected CfnDomain(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • CfnDomain

      @Stability(Stable) public CfnDomain(@NotNull software.constructs.Construct scope, @NotNull String id, @Nullable CfnDomainProps props)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
      props - Resource properties.
    • CfnDomain

      @Stability(Stable) public CfnDomain(@NotNull software.constructs.Construct scope, @NotNull String id)
      Parameters:
      scope - Scope in which this resource is defined. This parameter is required.
      id - Construct identifier for this resource (unique in its scope). This parameter is required.
  • Method Details

    • inspect

      @Stability(Stable) public void inspect(@NotNull TreeInspector inspector)
      Examines the CloudFormation resource and discloses attributes.

      Specified by:
      inspect in interface IInspectable
      Parameters:
      inspector - tree inspector to collect and process attributes. This parameter is required.
    • renderProperties

      @Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
      Overrides:
      renderProperties in class CfnResource
      Parameters:
      props - This parameter is required.
    • getAttrArn

      @Stability(Stable) @NotNull public String getAttrArn()
      The Amazon Resource Name (ARN) of the domain, such as arn:aws:es:us-west-2:123456789012:domain/mystack-elasti-1ab2cdefghij .

      This returned value is the same as the one returned by AWS::Elasticsearch::Domain.DomainArn .

    • getAttrDomainEndpoint

      @Stability(Stable) @NotNull public String getAttrDomainEndpoint()
      The domain-specific endpoint that's used for requests to the OpenSearch APIs, such as search-mystack-elasti-1ab2cdefghij-ab1c2deckoyb3hofw7wpqa3cm.us-west-1.es.amazonaws.com .
    • getAttrId

      @Stability(Stable) @NotNull public String getAttrId()
    • getCfnProperties

      @Stability(Stable) @NotNull protected Map<String,Object> getCfnProperties()
      Overrides:
      getCfnProperties in class CfnResource
    • getTags

      @Stability(Stable) @NotNull public TagManager getTags()
      Tag Manager which manages the tags for this resource.
      Specified by:
      getTags in interface ITaggable
    • getAccessPolicies

      @Stability(Stable) @Nullable public Object getAccessPolicies()
      An AWS Identity and Access Management ( IAM ) policy document that specifies who can access the OpenSearch Service domain and their permissions.
    • setAccessPolicies

      @Stability(Stable) public void setAccessPolicies(@Nullable Object value)
      An AWS Identity and Access Management ( IAM ) policy document that specifies who can access the OpenSearch Service domain and their permissions.
    • getAdvancedOptions

      @Stability(Stable) @Nullable public Object getAdvancedOptions()
      Additional options to specify for the OpenSearch Service domain.
    • setAdvancedOptions

      @Stability(Stable) public void setAdvancedOptions(@Nullable IResolvable value)
      Additional options to specify for the OpenSearch Service domain.
    • setAdvancedOptions

      @Stability(Stable) public void setAdvancedOptions(@Nullable Map<String,String> value)
      Additional options to specify for the OpenSearch Service domain.
    • getAdvancedSecurityOptions

      @Stability(Stable) @Nullable public Object getAdvancedSecurityOptions()
      Specifies options for fine-grained access control.
    • setAdvancedSecurityOptions

      @Stability(Stable) public void setAdvancedSecurityOptions(@Nullable IResolvable value)
      Specifies options for fine-grained access control.
    • setAdvancedSecurityOptions

      @Stability(Stable) public void setAdvancedSecurityOptions(@Nullable CfnDomain.AdvancedSecurityOptionsInputProperty value)
      Specifies options for fine-grained access control.
    • getCognitoOptions

      @Stability(Stable) @Nullable public Object getCognitoOptions()
      Configures OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.
    • setCognitoOptions

      @Stability(Stable) public void setCognitoOptions(@Nullable IResolvable value)
      Configures OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.
    • setCognitoOptions

      @Stability(Stable) public void setCognitoOptions(@Nullable CfnDomain.CognitoOptionsProperty value)
      Configures OpenSearch Service to use Amazon Cognito authentication for OpenSearch Dashboards.
    • getDomainArn

      @Stability(Stable) @Nullable public String getDomainArn()
    • setDomainArn

      @Stability(Stable) public void setDomainArn(@Nullable String value)
    • getDomainEndpointOptions

      @Stability(Stable) @Nullable public Object getDomainEndpointOptions()
      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.
    • setDomainEndpointOptions

      @Stability(Stable) public void setDomainEndpointOptions(@Nullable IResolvable value)
      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.
    • setDomainEndpointOptions

      @Stability(Stable) public void setDomainEndpointOptions(@Nullable CfnDomain.DomainEndpointOptionsProperty value)
      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.
    • getDomainName

      @Stability(Stable) @Nullable public String getDomainName()
      A name for the OpenSearch Service domain.
    • setDomainName

      @Stability(Stable) public void setDomainName(@Nullable String value)
      A name for the OpenSearch Service domain.
    • getEbsOptions

      @Stability(Stable) @Nullable public Object getEbsOptions()
      The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain.
    • setEbsOptions

      @Stability(Stable) public void setEbsOptions(@Nullable IResolvable value)
      The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain.
    • setEbsOptions

      @Stability(Stable) public void setEbsOptions(@Nullable CfnDomain.EBSOptionsProperty value)
      The configurations of Amazon Elastic Block Store (Amazon EBS) volumes that are attached to data nodes in the OpenSearch Service domain.
    • getElasticsearchClusterConfig

      @Stability(Stable) @Nullable public Object getElasticsearchClusterConfig()
      ElasticsearchClusterConfig is a property of the AWS::Elasticsearch::Domain resource that configures the cluster of an Amazon OpenSearch Service domain.
    • setElasticsearchClusterConfig

      @Stability(Stable) public void setElasticsearchClusterConfig(@Nullable IResolvable value)
      ElasticsearchClusterConfig is a property of the AWS::Elasticsearch::Domain resource that configures the cluster of an Amazon OpenSearch Service domain.
    • setElasticsearchClusterConfig

      @Stability(Stable) public void setElasticsearchClusterConfig(@Nullable CfnDomain.ElasticsearchClusterConfigProperty value)
      ElasticsearchClusterConfig is a property of the AWS::Elasticsearch::Domain resource that configures the cluster of an Amazon OpenSearch Service domain.
    • getElasticsearchVersion

      @Stability(Stable) @Nullable public String getElasticsearchVersion()
      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 .
    • setElasticsearchVersion

      @Stability(Stable) public void setElasticsearchVersion(@Nullable String value)
      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 .
    • getEncryptionAtRestOptions

      @Stability(Stable) @Nullable public Object getEncryptionAtRestOptions()
      Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service key to use.
    • setEncryptionAtRestOptions

      @Stability(Stable) public void setEncryptionAtRestOptions(@Nullable IResolvable value)
      Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service key to use.
    • setEncryptionAtRestOptions

      @Stability(Stable) public void setEncryptionAtRestOptions(@Nullable CfnDomain.EncryptionAtRestOptionsProperty value)
      Whether the domain should encrypt data at rest, and if so, the AWS Key Management Service key to use.
    • getLogPublishingOptions

      @Stability(Stable) @Nullable public Object getLogPublishingOptions()
      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.
    • setLogPublishingOptions

      @Stability(Stable) public void setLogPublishingOptions(@Nullable IResolvable value)
      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.
    • setLogPublishingOptions

      @Stability(Stable) public void setLogPublishingOptions(@Nullable Map<String,Object> value)
      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.
    • getNodeToNodeEncryptionOptions

      @Stability(Stable) @Nullable public Object getNodeToNodeEncryptionOptions()
      Specifies whether node-to-node encryption is enabled.
    • setNodeToNodeEncryptionOptions

      @Stability(Stable) public void setNodeToNodeEncryptionOptions(@Nullable IResolvable value)
      Specifies whether node-to-node encryption is enabled.
    • setNodeToNodeEncryptionOptions

      @Stability(Stable) public void setNodeToNodeEncryptionOptions(@Nullable CfnDomain.NodeToNodeEncryptionOptionsProperty value)
      Specifies whether node-to-node encryption is enabled.
    • getSnapshotOptions

      @Stability(Stable) @Nullable public Object getSnapshotOptions()
      DEPRECATED .
    • setSnapshotOptions

      @Stability(Stable) public void setSnapshotOptions(@Nullable IResolvable value)
      DEPRECATED .
    • setSnapshotOptions

      @Stability(Stable) public void setSnapshotOptions(@Nullable CfnDomain.SnapshotOptionsProperty value)
      DEPRECATED .
    • getTagsRaw

      @Stability(Stable) @Nullable public List<CfnTag> getTagsRaw()
      An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Service domain.
    • setTagsRaw

      @Stability(Stable) public void setTagsRaw(@Nullable List<CfnTag> value)
      An arbitrary set of tags (key–value pairs) to associate with the OpenSearch Service domain.
    • getVpcOptions

      @Stability(Stable) @Nullable public Object getVpcOptions()
      The virtual private cloud (VPC) configuration for the OpenSearch Service domain.
    • setVpcOptions

      @Stability(Stable) public void setVpcOptions(@Nullable IResolvable value)
      The virtual private cloud (VPC) configuration for the OpenSearch Service domain.
    • setVpcOptions

      @Stability(Stable) public void setVpcOptions(@Nullable CfnDomain.VPCOptionsProperty value)
      The virtual private cloud (VPC) configuration for the OpenSearch Service domain.