All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigArgs Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

The newest version!
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.aws.elasticsearch.inputs;

import com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigColdStorageOptionsArgs;
import com.pulumi.aws.elasticsearch.inputs.DomainClusterConfigZoneAwarenessConfigArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class DomainClusterConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final DomainClusterConfigArgs Empty = new DomainClusterConfigArgs();

    /**
     * Configuration block containing cold storage configuration. Detailed below.
     * 
     */
    @Import(name="coldStorageOptions")
    private @Nullable Output coldStorageOptions;

    /**
     * @return Configuration block containing cold storage configuration. Detailed below.
     * 
     */
    public Optional> coldStorageOptions() {
        return Optional.ofNullable(this.coldStorageOptions);
    }

    /**
     * Number of dedicated main nodes in the cluster.
     * 
     */
    @Import(name="dedicatedMasterCount")
    private @Nullable Output dedicatedMasterCount;

    /**
     * @return Number of dedicated main nodes in the cluster.
     * 
     */
    public Optional> dedicatedMasterCount() {
        return Optional.ofNullable(this.dedicatedMasterCount);
    }

    /**
     * Whether dedicated main nodes are enabled for the cluster.
     * 
     */
    @Import(name="dedicatedMasterEnabled")
    private @Nullable Output dedicatedMasterEnabled;

    /**
     * @return Whether dedicated main nodes are enabled for the cluster.
     * 
     */
    public Optional> dedicatedMasterEnabled() {
        return Optional.ofNullable(this.dedicatedMasterEnabled);
    }

    /**
     * Instance type of the dedicated main nodes in the cluster.
     * 
     */
    @Import(name="dedicatedMasterType")
    private @Nullable Output dedicatedMasterType;

    /**
     * @return Instance type of the dedicated main nodes in the cluster.
     * 
     */
    public Optional> dedicatedMasterType() {
        return Optional.ofNullable(this.dedicatedMasterType);
    }

    /**
     * Number of instances in the cluster.
     * 
     */
    @Import(name="instanceCount")
    private @Nullable Output instanceCount;

    /**
     * @return Number of instances in the cluster.
     * 
     */
    public Optional> instanceCount() {
        return Optional.ofNullable(this.instanceCount);
    }

    /**
     * Instance type of data nodes in the cluster.
     * 
     */
    @Import(name="instanceType")
    private @Nullable Output instanceType;

    /**
     * @return Instance type of data nodes in the cluster.
     * 
     */
    public Optional> instanceType() {
        return Optional.ofNullable(this.instanceType);
    }

    /**
     * Number of warm nodes in the cluster. Valid values are between `2` and `150`. `warm_count` can be only and must be set when `warm_enabled` is set to `true`.
     * 
     */
    @Import(name="warmCount")
    private @Nullable Output warmCount;

    /**
     * @return Number of warm nodes in the cluster. Valid values are between `2` and `150`. `warm_count` can be only and must be set when `warm_enabled` is set to `true`.
     * 
     */
    public Optional> warmCount() {
        return Optional.ofNullable(this.warmCount);
    }

    /**
     * Whether to enable warm storage.
     * 
     */
    @Import(name="warmEnabled")
    private @Nullable Output warmEnabled;

    /**
     * @return Whether to enable warm storage.
     * 
     */
    public Optional> warmEnabled() {
        return Optional.ofNullable(this.warmEnabled);
    }

    /**
     * Instance type for the Elasticsearch cluster's warm nodes. Valid values are `ultrawarm1.medium.elasticsearch`, `ultrawarm1.large.elasticsearch` and `ultrawarm1.xlarge.elasticsearch`. `warm_type` can be only and must be set when `warm_enabled` is set to `true`.
     * 
     */
    @Import(name="warmType")
    private @Nullable Output warmType;

    /**
     * @return Instance type for the Elasticsearch cluster's warm nodes. Valid values are `ultrawarm1.medium.elasticsearch`, `ultrawarm1.large.elasticsearch` and `ultrawarm1.xlarge.elasticsearch`. `warm_type` can be only and must be set when `warm_enabled` is set to `true`.
     * 
     */
    public Optional> warmType() {
        return Optional.ofNullable(this.warmType);
    }

    /**
     * Configuration block containing zone awareness settings. Detailed below.
     * 
     */
    @Import(name="zoneAwarenessConfig")
    private @Nullable Output zoneAwarenessConfig;

    /**
     * @return Configuration block containing zone awareness settings. Detailed below.
     * 
     */
    public Optional> zoneAwarenessConfig() {
        return Optional.ofNullable(this.zoneAwarenessConfig);
    }

    /**
     * Whether zone awareness is enabled, set to `true` for multi-az deployment. To enable awareness with three Availability Zones, the `availability_zone_count` within the `zone_awareness_config` must be set to `3`.
     * 
     */
    @Import(name="zoneAwarenessEnabled")
    private @Nullable Output zoneAwarenessEnabled;

    /**
     * @return Whether zone awareness is enabled, set to `true` for multi-az deployment. To enable awareness with three Availability Zones, the `availability_zone_count` within the `zone_awareness_config` must be set to `3`.
     * 
     */
    public Optional> zoneAwarenessEnabled() {
        return Optional.ofNullable(this.zoneAwarenessEnabled);
    }

    private DomainClusterConfigArgs() {}

    private DomainClusterConfigArgs(DomainClusterConfigArgs $) {
        this.coldStorageOptions = $.coldStorageOptions;
        this.dedicatedMasterCount = $.dedicatedMasterCount;
        this.dedicatedMasterEnabled = $.dedicatedMasterEnabled;
        this.dedicatedMasterType = $.dedicatedMasterType;
        this.instanceCount = $.instanceCount;
        this.instanceType = $.instanceType;
        this.warmCount = $.warmCount;
        this.warmEnabled = $.warmEnabled;
        this.warmType = $.warmType;
        this.zoneAwarenessConfig = $.zoneAwarenessConfig;
        this.zoneAwarenessEnabled = $.zoneAwarenessEnabled;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(DomainClusterConfigArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private DomainClusterConfigArgs $;

        public Builder() {
            $ = new DomainClusterConfigArgs();
        }

        public Builder(DomainClusterConfigArgs defaults) {
            $ = new DomainClusterConfigArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param coldStorageOptions Configuration block containing cold storage configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder coldStorageOptions(@Nullable Output coldStorageOptions) {
            $.coldStorageOptions = coldStorageOptions;
            return this;
        }

        /**
         * @param coldStorageOptions Configuration block containing cold storage configuration. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder coldStorageOptions(DomainClusterConfigColdStorageOptionsArgs coldStorageOptions) {
            return coldStorageOptions(Output.of(coldStorageOptions));
        }

        /**
         * @param dedicatedMasterCount Number of dedicated main nodes in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedMasterCount(@Nullable Output dedicatedMasterCount) {
            $.dedicatedMasterCount = dedicatedMasterCount;
            return this;
        }

        /**
         * @param dedicatedMasterCount Number of dedicated main nodes in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedMasterCount(Integer dedicatedMasterCount) {
            return dedicatedMasterCount(Output.of(dedicatedMasterCount));
        }

        /**
         * @param dedicatedMasterEnabled Whether dedicated main nodes are enabled for the cluster.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedMasterEnabled(@Nullable Output dedicatedMasterEnabled) {
            $.dedicatedMasterEnabled = dedicatedMasterEnabled;
            return this;
        }

        /**
         * @param dedicatedMasterEnabled Whether dedicated main nodes are enabled for the cluster.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedMasterEnabled(Boolean dedicatedMasterEnabled) {
            return dedicatedMasterEnabled(Output.of(dedicatedMasterEnabled));
        }

        /**
         * @param dedicatedMasterType Instance type of the dedicated main nodes in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedMasterType(@Nullable Output dedicatedMasterType) {
            $.dedicatedMasterType = dedicatedMasterType;
            return this;
        }

        /**
         * @param dedicatedMasterType Instance type of the dedicated main nodes in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder dedicatedMasterType(String dedicatedMasterType) {
            return dedicatedMasterType(Output.of(dedicatedMasterType));
        }

        /**
         * @param instanceCount Number of instances in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder instanceCount(@Nullable Output instanceCount) {
            $.instanceCount = instanceCount;
            return this;
        }

        /**
         * @param instanceCount Number of instances in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder instanceCount(Integer instanceCount) {
            return instanceCount(Output.of(instanceCount));
        }

        /**
         * @param instanceType Instance type of data nodes in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(@Nullable Output instanceType) {
            $.instanceType = instanceType;
            return this;
        }

        /**
         * @param instanceType Instance type of data nodes in the cluster.
         * 
         * @return builder
         * 
         */
        public Builder instanceType(String instanceType) {
            return instanceType(Output.of(instanceType));
        }

        /**
         * @param warmCount Number of warm nodes in the cluster. Valid values are between `2` and `150`. `warm_count` can be only and must be set when `warm_enabled` is set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder warmCount(@Nullable Output warmCount) {
            $.warmCount = warmCount;
            return this;
        }

        /**
         * @param warmCount Number of warm nodes in the cluster. Valid values are between `2` and `150`. `warm_count` can be only and must be set when `warm_enabled` is set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder warmCount(Integer warmCount) {
            return warmCount(Output.of(warmCount));
        }

        /**
         * @param warmEnabled Whether to enable warm storage.
         * 
         * @return builder
         * 
         */
        public Builder warmEnabled(@Nullable Output warmEnabled) {
            $.warmEnabled = warmEnabled;
            return this;
        }

        /**
         * @param warmEnabled Whether to enable warm storage.
         * 
         * @return builder
         * 
         */
        public Builder warmEnabled(Boolean warmEnabled) {
            return warmEnabled(Output.of(warmEnabled));
        }

        /**
         * @param warmType Instance type for the Elasticsearch cluster's warm nodes. Valid values are `ultrawarm1.medium.elasticsearch`, `ultrawarm1.large.elasticsearch` and `ultrawarm1.xlarge.elasticsearch`. `warm_type` can be only and must be set when `warm_enabled` is set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder warmType(@Nullable Output warmType) {
            $.warmType = warmType;
            return this;
        }

        /**
         * @param warmType Instance type for the Elasticsearch cluster's warm nodes. Valid values are `ultrawarm1.medium.elasticsearch`, `ultrawarm1.large.elasticsearch` and `ultrawarm1.xlarge.elasticsearch`. `warm_type` can be only and must be set when `warm_enabled` is set to `true`.
         * 
         * @return builder
         * 
         */
        public Builder warmType(String warmType) {
            return warmType(Output.of(warmType));
        }

        /**
         * @param zoneAwarenessConfig Configuration block containing zone awareness settings. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder zoneAwarenessConfig(@Nullable Output zoneAwarenessConfig) {
            $.zoneAwarenessConfig = zoneAwarenessConfig;
            return this;
        }

        /**
         * @param zoneAwarenessConfig Configuration block containing zone awareness settings. Detailed below.
         * 
         * @return builder
         * 
         */
        public Builder zoneAwarenessConfig(DomainClusterConfigZoneAwarenessConfigArgs zoneAwarenessConfig) {
            return zoneAwarenessConfig(Output.of(zoneAwarenessConfig));
        }

        /**
         * @param zoneAwarenessEnabled Whether zone awareness is enabled, set to `true` for multi-az deployment. To enable awareness with three Availability Zones, the `availability_zone_count` within the `zone_awareness_config` must be set to `3`.
         * 
         * @return builder
         * 
         */
        public Builder zoneAwarenessEnabled(@Nullable Output zoneAwarenessEnabled) {
            $.zoneAwarenessEnabled = zoneAwarenessEnabled;
            return this;
        }

        /**
         * @param zoneAwarenessEnabled Whether zone awareness is enabled, set to `true` for multi-az deployment. To enable awareness with three Availability Zones, the `availability_zone_count` within the `zone_awareness_config` must be set to `3`.
         * 
         * @return builder
         * 
         */
        public Builder zoneAwarenessEnabled(Boolean zoneAwarenessEnabled) {
            return zoneAwarenessEnabled(Output.of(zoneAwarenessEnabled));
        }

        public DomainClusterConfigArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy