CfnDomainProps Struct
Properties for defining a CfnDomain.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_opensearchservice as opensearchservice } from 'aws-cdk-lib';
declare const accessPolicies: any;
const cfnDomainProps: opensearchservice.CfnDomainProps = {
accessPolicies: accessPolicies,
advancedOptions: {
advancedOptionsKey: 'advancedOptions',
},
advancedSecurityOptions: {
anonymousAuthDisableDate: 'anonymousAuthDisableDate',
anonymousAuthEnabled: false,
enabled: false,
iamFederationOptions: {
enabled: false,
rolesKey: 'rolesKey',
subjectKey: 'subjectKey',
},
internalUserDatabaseEnabled: false,
jwtOptions: {
enabled: false,
publicKey: 'publicKey',
rolesKey: 'rolesKey',
subjectKey: 'subjectKey',
},
masterUserOptions: {
masterUserArn: 'masterUserArn',
masterUserName: 'masterUserName',
masterUserPassword: 'masterUserPassword',
},
samlOptions: {
enabled: false,
idp: {
entityId: 'entityId',
metadataContent: 'metadataContent',
},
masterBackendRole: 'masterBackendRole',
masterUserName: 'masterUserName',
rolesKey: 'rolesKey',
sessionTimeoutMinutes: 123,
subjectKey: 'subjectKey',
},
},
aimlOptions: {
s3VectorsEngine: {
enabled: false,
},
serverlessVectorAcceleration: {
enabled: false,
},
},
automatedSnapshotPauseOptions: {
enabled: false,
// the properties below are optional
endTime: 'endTime',
startTime: 'startTime',
},
clusterConfig: {
coldStorageOptions: {
enabled: false,
},
dedicatedMasterCount: 123,
dedicatedMasterEnabled: false,
dedicatedMasterType: 'dedicatedMasterType',
instanceCount: 123,
instanceType: 'instanceType',
multiAzWithStandbyEnabled: false,
nodeOptions: [{
nodeConfig: {
count: 123,
enabled: false,
type: 'type',
},
nodeType: 'nodeType',
}],
warmCount: 123,
warmEnabled: false,
warmType: 'warmType',
zoneAwarenessConfig: {
availabilityZoneCount: 123,
},
zoneAwarenessEnabled: false,
},
cognitoOptions: {
enabled: false,
identityPoolId: 'identityPoolId',
roleArn: 'roleArn',
userPoolId: 'userPoolId',
},
deploymentStrategyOptions: {
deploymentStrategy: 'deploymentStrategy',
},
domainArn: 'domainArn',
domainEndpointOptions: {
customEndpoint: 'customEndpoint',
customEndpointCertificateArn: 'customEndpointCertificateArn',
customEndpointEnabled: false,
enforceHttps: false,
tlsSecurityPolicy: 'tlsSecurityPolicy',
},
domainName: 'domainName',
ebsOptions: {
ebsEnabled: false,
iops: 123,
throughput: 123,
volumeSize: 123,
volumeType: 'volumeType',
},
encryptionAtRestOptions: {
enabled: false,
kmsKeyId: 'kmsKeyId',
},
engineMode: 'engineMode',
engineVersion: 'engineVersion',
identityCenterOptions: {
enabledApiAccess: false,
identityCenterApplicationArn: 'identityCenterApplicationArn',
identityCenterInstanceArn: 'identityCenterInstanceArn',
identityStoreId: 'identityStoreId',
rolesKey: 'rolesKey',
subjectKey: 'subjectKey',
},
ipAddressType: 'ipAddressType',
logPublishingOptions: {
logPublishingOptionsKey: {
cloudWatchLogsLogGroupArn: 'cloudWatchLogsLogGroupArn',
enabled: false,
},
},
nodeToNodeEncryptionOptions: {
enabled: false,
},
offPeakWindowOptions: {
enabled: false,
offPeakWindow: {
windowStartTime: {
hours: 123,
minutes: 123,
},
},
},
skipShardMigrationWait: false,
snapshotOptions: {
automatedSnapshotStartHour: 123,
},
softwareUpdateOptions: {
autoSoftwareUpdateEnabled: false,
useLatestServiceSoftwareForBlueGreen: false,
},
tags: [{
key: 'key',
value: 'value',
}],
useCase: 'useCase',
vpcOptions: {
egressEnabled: false,
securityGroupIds: ['securityGroupIds'],
subnetIds: ['subnetIds'],
},
};
Properties
accessPoliciesanyaccess_policiesAnyaccessPoliciesObjectAccessPoliciesobjectAccessPoliciesinterface{}#For more information, see Configuring access policies in the Amazon OpenSearch Service Developer Guide .
advancedOptionsIResolvable | { [key: string]: string }advanced_optionstyping.Union[IResolvable, typing.Mapping[str, str]]advancedOptionsIResolvableAdvancedOptionsIResolvableAdvancedOptionsinterface{}#For more information, see AdvancedOptions in the OpenSearch Service API reference.
advancedSecurityOptionsIResolvable | CfnDomain.AdvancedSecurityOptionsInputPropertyadvanced_security_optionstyping.Union[IResolvable, AdvancedSecurityOptionsInputProperty]advancedSecurityOptionsIResolvableAdvancedSecurityOptionsIResolvableAdvancedSecurityOptionsinterface{}#notes
If you specify advanced security options, you must also enable node-to-node encryption ( NodeToNodeEncryptionOptions ) and encryption at rest ( EncryptionAtRestOptions ). You must also enable EnforceHTTPS within DomainEndpointOptions , which requires HTTPS for all traffic to the domain.
aimlOptionsIResolvable | CfnDomain.AIMLOptionsPropertyaiml_optionstyping.Union[IResolvable, AIMLOptionsProperty]aimlOptionsIResolvableAimlOptionsIResolvableAimlOptionsinterface{}#automatedSnapshotPauseOptionsIResolvable | CfnDomain.AutomatedSnapshotPauseOptionsPropertyautomated_snapshot_pause_optionstyping.Union[IResolvable, AutomatedSnapshotPauseOptionsProperty]automatedSnapshotPauseOptionsIResolvableAutomatedSnapshotPauseOptionsIResolvableAutomatedSnapshotPauseOptionsinterface{}#clusterConfigIResolvable | CfnDomain.ClusterConfigPropertycluster_configtyping.Union[IResolvable, ClusterConfigProperty]clusterConfigIResolvableClusterConfigIResolvableClusterConfiginterface{}#cognitoOptionsIResolvable | CfnDomain.CognitoOptionsPropertycognito_optionstyping.Union[IResolvable, CognitoOptionsProperty]cognitoOptionsIResolvableCognitoOptionsIResolvableCognitoOptionsinterface{}#deploymentStrategyOptionsIResolvable | CfnDomain.DeploymentStrategyOptionsPropertydeployment_strategy_optionstyping.Union[IResolvable, DeploymentStrategyOptionsProperty]deploymentStrategyOptionsIResolvableDeploymentStrategyOptionsIResolvableDeploymentStrategyOptionsinterface{}#domainEndpointOptionsIResolvable | CfnDomain.DomainEndpointOptionsPropertydomain_endpoint_optionstyping.Union[IResolvable, DomainEndpointOptionsProperty]domainEndpointOptionsIResolvableDomainEndpointOptionsIResolvableDomainEndpointOptionsinterface{}#notes
The name must have a minimum length of 3 and a maximum length of 28. 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 .
Required when creating a new domain.
If you specify a name, you can't 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.
ebsOptionsIResolvable | CfnDomain.EBSOptionsPropertyebs_optionstyping.Union[IResolvable, EBSOptionsProperty]ebsOptionsIResolvableEbsOptionsIResolvableEbsOptionsinterface{}#For more information, see EBS volume size limits in the Amazon OpenSearch Service Developer Guide .
encryptionAtRestOptionsIResolvable | CfnDomain.EncryptionAtRestOptionsPropertyencryption_at_rest_optionstyping.Union[IResolvable, EncryptionAtRestOptionsProperty]encryptionAtRestOptionsIResolvableEncryptionAtRestOptionsIResolvableEncryptionAtRestOptionsinterface{}#notes
See Encryption of data at rest for Amazon OpenSearch Service .
If no encryption at rest options were initially specified in the template, updating this property by adding it causes no interruption. However, if you change this property after it's already been set within a template, the domain is deleted and recreated in order to modify the property.
Determines whether the domain runs the standard (GENERAL) engine or the optimized multi-engine (OPTIMIZED) engine. This value cannot be changed after the domain is created.
notes
The value must be in the format OpenSearch_X.Y or Elasticsearch_X.Y . If not specified, the latest version of OpenSearch is used. 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 EngineVersion without interruption. When EnableVersionUpgrade is set to false , or is not specified, updating EngineVersion results in replacement .
identityCenterOptionsIResolvable | CfnDomain.IdentityCenterOptionsPropertyidentity_center_optionstyping.Union[IResolvable, IdentityCenterOptionsProperty]identityCenterOptionsIResolvableIdentityCenterOptionsIResolvableIdentityCenterOptionsinterface{}#Dual stack allows you to share domain resources across IPv4 and IPv6 address types, and is the recommended option. If you set your IP address type to dual stack, you can't change your address type later.
logPublishingOptionsIResolvable | { [key: string]: IResolvable | CfnDomain.LogPublishingOptionProperty }log_publishing_optionstyping.Union[IResolvable, typing.Mapping[str, typing.Union[IResolvable, LogPublishingOptionProperty]]]logPublishingOptionsIResolvableLogPublishingOptionsIResolvableLogPublishingOptionsinterface{}#notes
Each key needs a valid LogPublishingOption value. For the full syntax, see the examples .
nodeToNodeEncryptionOptionsIResolvable | CfnDomain.NodeToNodeEncryptionOptionsPropertynode_to_node_encryption_optionstyping.Union[IResolvable, NodeToNodeEncryptionOptionsProperty]nodeToNodeEncryptionOptionsIResolvableNodeToNodeEncryptionOptionsIResolvableNodeToNodeEncryptionOptionsinterface{}#offPeakWindowOptionsIResolvable | CfnDomain.OffPeakWindowOptionsPropertyoff_peak_window_optionstyping.Union[IResolvable, OffPeakWindowOptionsProperty]offPeakWindowOptionsIResolvableOffPeakWindowOptionsIResolvableOffPeakWindowOptionsinterface{}#skipShardMigrationWaitboolean | IResolvableskip_shard_migration_waittyping.Union[bool, IResolvable]skipShardMigrationWaitBooleanSkipShardMigrationWaitboolSkipShardMigrationWaitinterface{}#snapshotOptionsIResolvable | CfnDomain.SnapshotOptionsPropertysnapshot_optionstyping.Union[IResolvable, SnapshotOptionsProperty]snapshotOptionsIResolvableSnapshotOptionsIResolvableSnapshotOptionsinterface{}#The automated snapshot configuration for the OpenSearch Service domain indexes.
softwareUpdateOptionsIResolvable | CfnDomain.SoftwareUpdateOptionsPropertysoftware_update_optionstyping.Union[IResolvable, SoftwareUpdateOptionsProperty]softwareUpdateOptionsIResolvableSoftwareUpdateOptionsIResolvableSoftwareUpdateOptionsinterface{}#Determines the default configuration tuned for the workload. For GENERAL engine-mode domains, this value can be changed after creation. For OPTIMIZED engine-mode domains, this value cannot be changed after creation.
vpcOptionsIResolvable | CfnDomain.VPCOptionsPropertyvpc_optionstyping.Union[IResolvable, VPCOptionsProperty]vpcOptionsIResolvableVpcOptionsIResolvableVpcOptionsinterface{}#notes
For more information, see Launching your Amazon OpenSearch Service domains within a VPC in the Amazon OpenSearch Service Developer Guide .
If you remove this entity altogether, along with its associated properties, it causes a replacement. You might encounter this scenario if you're updating your security configuration from a VPC to a public endpoint.