Class CreateDomainRequest

All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<CreateDomainRequest.Builder,CreateDomainRequest>

@Generated("software.amazon.awssdk:codegen") public final class CreateDomainRequest extends OpenSearchRequest implements ToCopyableBuilder<CreateDomainRequest.Builder,CreateDomainRequest>
  • Method Details

    • domainName

      public final String domainName()

      Name of the OpenSearch Service domain to create. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.

      Returns:
      Name of the OpenSearch Service domain to create. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.
    • engineVersion

      public final String engineVersion()

      String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch Service domain. For example, OpenSearch_1.0 or Elasticsearch_7.9. For more information, see Creating and managing Amazon OpenSearch Service domains.

      Returns:
      String of format Elasticsearch_X.Y or OpenSearch_X.Y to specify the engine version for the OpenSearch Service domain. For example, OpenSearch_1.0 or Elasticsearch_7.9. For more information, see Creating and managing Amazon OpenSearch Service domains.
    • clusterConfig

      public final ClusterConfig clusterConfig()

      Container for the cluster configuration of a domain.

      Returns:
      Container for the cluster configuration of a domain.
    • ebsOptions

      public final EBSOptions ebsOptions()

      Container for the parameters required to enable EBS-based storage for an OpenSearch Service domain.

      Returns:
      Container for the parameters required to enable EBS-based storage for an OpenSearch Service domain.
    • accessPolicies

      public final String accessPolicies()

      Identity and Access Management (IAM) policy document specifying the access policies for the new domain.

      Returns:
      Identity and Access Management (IAM) policy document specifying the access policies for the new domain.
    • ipAddressType

      public final IPAddressType ipAddressType()

      Specify either dual stack or IPv4 as your IP address type. 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.

      If the service returns an enum value that is not available in the current SDK version, ipAddressType will return IPAddressType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from ipAddressTypeAsString().

      Returns:
      Specify either dual stack or IPv4 as your IP address type. 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.
      See Also:
    • ipAddressTypeAsString

      public final String ipAddressTypeAsString()

      Specify either dual stack or IPv4 as your IP address type. 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.

      If the service returns an enum value that is not available in the current SDK version, ipAddressType will return IPAddressType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from ipAddressTypeAsString().

      Returns:
      Specify either dual stack or IPv4 as your IP address type. 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.
      See Also:
    • snapshotOptions

      public final SnapshotOptions snapshotOptions()

      DEPRECATED. Container for the parameters required to configure automated snapshots of domain indexes.

      Returns:
      DEPRECATED. Container for the parameters required to configure automated snapshots of domain indexes.
    • vpcOptions

      public final VPCOptions vpcOptions()

      Container for the values required to configure VPC access domains. If you don't specify these values, OpenSearch Service creates the domain with a public endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.

      Returns:
      Container for the values required to configure VPC access domains. If you don't specify these values, OpenSearch Service creates the domain with a public endpoint. For more information, see Launching your Amazon OpenSearch Service domains using a VPC.
    • cognitoOptions

      public final CognitoOptions cognitoOptions()

      Key-value pairs to configure Amazon Cognito authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.

      Returns:
      Key-value pairs to configure Amazon Cognito authentication. For more information, see Configuring Amazon Cognito authentication for OpenSearch Dashboards.
    • encryptionAtRestOptions

      public final EncryptionAtRestOptions encryptionAtRestOptions()

      Key-value pairs to enable encryption at rest.

      Returns:
      Key-value pairs to enable encryption at rest.
    • nodeToNodeEncryptionOptions

      public final NodeToNodeEncryptionOptions nodeToNodeEncryptionOptions()

      Enables node-to-node encryption.

      Returns:
      Enables node-to-node encryption.
    • hasAdvancedOptions

      public final boolean hasAdvancedOptions()
      For responses, this returns true if the service returned a value for the AdvancedOptions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • advancedOptions

      public final Map<String,String> advancedOptions()

      Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:

      • "rest.action.multi.allow_explicit_index": "true" | "false" - Note the use of a string rather than a boolean. Specifies whether explicit references to indexes are allowed inside the body of HTTP requests. If you want to configure access policies for domain sub-resources, such as specific indexes and domain APIs, you must disable this property. Default is true.

      • "indices.fielddata.cache.size": "80" - Note the use of a string rather than a boolean. Specifies the percentage of heap space allocated to field data. Default is unbounded.

      • "indices.query.bool.max_clause_count": "1024" - Note the use of a string rather than a boolean. Specifies the maximum number of clauses allowed in a Lucene boolean query. Default is 1,024. Queries with more than the permitted number of clauses result in a TooManyClauses error.

      • "override_main_response_version": "true" | "false" - Note the use of a string rather than a boolean. Specifies whether the domain reports its version as 7.10 to allow Elasticsearch OSS clients and plugins to continue working with it. Default is false when creating a domain and true when upgrading a domain.

      For more information, see Advanced cluster parameters.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasAdvancedOptions() method.

      Returns:
      Key-value pairs to specify advanced configuration options. The following key-value pairs are supported:

      • "rest.action.multi.allow_explicit_index": "true" | "false" - Note the use of a string rather than a boolean. Specifies whether explicit references to indexes are allowed inside the body of HTTP requests. If you want to configure access policies for domain sub-resources, such as specific indexes and domain APIs, you must disable this property. Default is true.

      • "indices.fielddata.cache.size": "80" - Note the use of a string rather than a boolean. Specifies the percentage of heap space allocated to field data. Default is unbounded.

      • "indices.query.bool.max_clause_count": "1024" - Note the use of a string rather than a boolean. Specifies the maximum number of clauses allowed in a Lucene boolean query. Default is 1,024. Queries with more than the permitted number of clauses result in a TooManyClauses error.

      • "override_main_response_version": "true" | "false" - Note the use of a string rather than a boolean. Specifies whether the domain reports its version as 7.10 to allow Elasticsearch OSS clients and plugins to continue working with it. Default is false when creating a domain and true when upgrading a domain.

      For more information, see Advanced cluster parameters.

    • logPublishingOptions

      public final Map<LogType,LogPublishingOption> logPublishingOptions()

      Key-value pairs to configure log publishing.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasLogPublishingOptions() method.

      Returns:
      Key-value pairs to configure log publishing.
    • hasLogPublishingOptions

      public final boolean hasLogPublishingOptions()
      For responses, this returns true if the service returned a value for the LogPublishingOptions property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • logPublishingOptionsAsStrings

      public final Map<String,LogPublishingOption> logPublishingOptionsAsStrings()

      Key-value pairs to configure log publishing.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasLogPublishingOptions() method.

      Returns:
      Key-value pairs to configure log publishing.
    • domainEndpointOptions

      public final DomainEndpointOptions domainEndpointOptions()

      Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.

      Returns:
      Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.
    • advancedSecurityOptions

      public final AdvancedSecurityOptionsInput advancedSecurityOptions()

      Options for fine-grained access control.

      Returns:
      Options for fine-grained access control.
    • hasTagList

      public final boolean hasTagList()
      For responses, this returns true if the service returned a value for the TagList property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
    • tagList

      public final List<Tag> tagList()

      List of tags to add to the domain upon creation.

      Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

      This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasTagList() method.

      Returns:
      List of tags to add to the domain upon creation.
    • autoTuneOptions

      public final AutoTuneOptionsInput autoTuneOptions()

      Options for Auto-Tune.

      Returns:
      Options for Auto-Tune.
    • offPeakWindowOptions

      public final OffPeakWindowOptions offPeakWindowOptions()

      Specifies a daily 10-hour time block during which OpenSearch Service can perform configuration changes on the domain, including service software updates and Auto-Tune enhancements that require a blue/green deployment. If no options are specified, the default start time of 10:00 P.M. local time (for the Region that the domain is created in) is used.

      Returns:
      Specifies a daily 10-hour time block during which OpenSearch Service can perform configuration changes on the domain, including service software updates and Auto-Tune enhancements that require a blue/green deployment. If no options are specified, the default start time of 10:00 P.M. local time (for the Region that the domain is created in) is used.
    • softwareUpdateOptions

      public final SoftwareUpdateOptions softwareUpdateOptions()

      Software update options for the domain.

      Returns:
      Software update options for the domain.
    • toBuilder

      public CreateDomainRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<CreateDomainRequest.Builder,CreateDomainRequest>
      Specified by:
      toBuilder in class OpenSearchRequest
      Returns:
      a builder for type T
    • builder

      public static CreateDomainRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends CreateDomainRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.