Use CreateDomain with an AWS SDK - AWS SDK Code Examples

There are more AWS SDK examples available in the AWS Doc SDK Examples GitHub repo.

Use CreateDomain with an AWS SDK

The following code examples show how to use CreateDomain.

Action examples are code excerpts from larger programs and must be run in context. You can see this action in context in the following code example:

Java
SDK for Java 2.x
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

/** * Creates a new OpenSearch domain asynchronously. * @param domainName the name of the new OpenSearch domain to create * @return a {@link CompletableFuture} containing the domain ID of the newly created domain */ public CompletableFuture<String> createNewDomainAsync(String domainName) { ClusterConfig clusterConfig = ClusterConfig.builder() .dedicatedMasterEnabled(true) .dedicatedMasterCount(3) .dedicatedMasterType("t2.small.search") .instanceType("t2.small.search") .instanceCount(5) .build(); EBSOptions ebsOptions = EBSOptions.builder() .ebsEnabled(true) .volumeSize(10) .volumeType(VolumeType.GP2) .build(); NodeToNodeEncryptionOptions encryptionOptions = NodeToNodeEncryptionOptions.builder() .enabled(true) .build(); CreateDomainRequest domainRequest = CreateDomainRequest.builder() .domainName(domainName) .engineVersion("OpenSearch_1.0") .clusterConfig(clusterConfig) .ebsOptions(ebsOptions) .nodeToNodeEncryptionOptions(encryptionOptions) .build(); logger.info("Sending domain creation request..."); return getAsyncClient().createDomain(domainRequest) .handle( (createResponse, throwable) -> { if (createResponse != null) { logger.info("Domain status is {}", createResponse.domainStatus().changeProgressDetails().configChangeStatusAsString()); logger.info("Domain Id is {}", createResponse.domainStatus().domainId()); return createResponse.domainStatus().domainId(); } throw new RuntimeException("Failed to create domain", throwable); }); }
  • For API details, see CreateDomain in AWS SDK for Java 2.x API Reference.

Kotlin
SDK for Kotlin
Note

There's more on GitHub. Find the complete example and learn how to set up and run in the AWS Code Examples Repository.

suspend fun createNewDomain(domainNameVal: String?) { val clusterConfigOb = ClusterConfig { dedicatedMasterEnabled = true dedicatedMasterCount = 3 dedicatedMasterType = OpenSearchPartitionInstanceType.fromValue("t2.small.search") instanceType = OpenSearchPartitionInstanceType.fromValue("t2.small.search") instanceCount = 5 } val ebsOptionsOb = EbsOptions { ebsEnabled = true volumeSize = 10 volumeType = VolumeType.Gp2 } val encryptionOptionsOb = NodeToNodeEncryptionOptions { enabled = true } val request = CreateDomainRequest { domainName = domainNameVal engineVersion = "OpenSearch_1.0" clusterConfig = clusterConfigOb ebsOptions = ebsOptionsOb nodeToNodeEncryptionOptions = encryptionOptionsOb } println("Sending domain creation request...") OpenSearchClient { region = "us-east-1" }.use { searchClient -> val createResponse = searchClient.createDomain(request) println("Domain status is ${createResponse.domainStatus}") println("Domain Id is ${createResponse.domainStatus?.domainId}") } }
  • For API details, see CreateDomain in AWS SDK for Kotlin API reference.