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

com.pulumi.aws.elasticache.outputs.GetReplicationGroupResult Maven / Gradle / Ivy

// *** 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.elasticache.outputs;

import com.pulumi.aws.elasticache.outputs.GetReplicationGroupLogDeliveryConfiguration;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;

@CustomType
public final class GetReplicationGroupResult {
    /**
     * @return ARN of the created ElastiCache Replication Group.
     * 
     */
    private String arn;
    /**
     * @return Whether an AuthToken (password) is enabled.
     * 
     */
    private Boolean authTokenEnabled;
    /**
     * @return A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
     * 
     */
    private Boolean automaticFailoverEnabled;
    /**
     * @return Whether cluster mode is enabled or disabled.
     * 
     */
    private String clusterMode;
    /**
     * @return The configuration endpoint address to allow host discovery.
     * 
     */
    private String configurationEndpointAddress;
    /**
     * @return Description of the replication group.
     * 
     */
    private String description;
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    private String id;
    /**
     * @return Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings.
     * 
     */
    private List logDeliveryConfigurations;
    /**
     * @return Identifiers of all the nodes that are part of this replication group.
     * 
     */
    private List memberClusters;
    /**
     * @return Whether Multi-AZ Support is enabled for the replication group.
     * 
     */
    private Boolean multiAzEnabled;
    /**
     * @return The cluster node type.
     * 
     */
    private String nodeType;
    /**
     * @return The number of cache clusters that the replication group has.
     * 
     */
    private Integer numCacheClusters;
    /**
     * @return Number of node groups (shards) for the replication group.
     * 
     */
    private Integer numNodeGroups;
    /**
     * @return The port number on which the configuration endpoint will accept connections.
     * 
     */
    private Integer port;
    /**
     * @return The endpoint of the primary node in this node group (shard).
     * 
     */
    private String primaryEndpointAddress;
    /**
     * @return The endpoint of the reader node in this node group (shard).
     * 
     */
    private String readerEndpointAddress;
    /**
     * @return Number of replica nodes in each node group.
     * 
     */
    private Integer replicasPerNodeGroup;
    private String replicationGroupId;
    /**
     * @return The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
     * 
     */
    private Integer snapshotRetentionLimit;
    /**
     * @return Daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
     * 
     */
    private String snapshotWindow;

    private GetReplicationGroupResult() {}
    /**
     * @return ARN of the created ElastiCache Replication Group.
     * 
     */
    public String arn() {
        return this.arn;
    }
    /**
     * @return Whether an AuthToken (password) is enabled.
     * 
     */
    public Boolean authTokenEnabled() {
        return this.authTokenEnabled;
    }
    /**
     * @return A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
     * 
     */
    public Boolean automaticFailoverEnabled() {
        return this.automaticFailoverEnabled;
    }
    /**
     * @return Whether cluster mode is enabled or disabled.
     * 
     */
    public String clusterMode() {
        return this.clusterMode;
    }
    /**
     * @return The configuration endpoint address to allow host discovery.
     * 
     */
    public String configurationEndpointAddress() {
        return this.configurationEndpointAddress;
    }
    /**
     * @return Description of the replication group.
     * 
     */
    public String description() {
        return this.description;
    }
    /**
     * @return The provider-assigned unique ID for this managed resource.
     * 
     */
    public String id() {
        return this.id;
    }
    /**
     * @return Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings.
     * 
     */
    public List logDeliveryConfigurations() {
        return this.logDeliveryConfigurations;
    }
    /**
     * @return Identifiers of all the nodes that are part of this replication group.
     * 
     */
    public List memberClusters() {
        return this.memberClusters;
    }
    /**
     * @return Whether Multi-AZ Support is enabled for the replication group.
     * 
     */
    public Boolean multiAzEnabled() {
        return this.multiAzEnabled;
    }
    /**
     * @return The cluster node type.
     * 
     */
    public String nodeType() {
        return this.nodeType;
    }
    /**
     * @return The number of cache clusters that the replication group has.
     * 
     */
    public Integer numCacheClusters() {
        return this.numCacheClusters;
    }
    /**
     * @return Number of node groups (shards) for the replication group.
     * 
     */
    public Integer numNodeGroups() {
        return this.numNodeGroups;
    }
    /**
     * @return The port number on which the configuration endpoint will accept connections.
     * 
     */
    public Integer port() {
        return this.port;
    }
    /**
     * @return The endpoint of the primary node in this node group (shard).
     * 
     */
    public String primaryEndpointAddress() {
        return this.primaryEndpointAddress;
    }
    /**
     * @return The endpoint of the reader node in this node group (shard).
     * 
     */
    public String readerEndpointAddress() {
        return this.readerEndpointAddress;
    }
    /**
     * @return Number of replica nodes in each node group.
     * 
     */
    public Integer replicasPerNodeGroup() {
        return this.replicasPerNodeGroup;
    }
    public String replicationGroupId() {
        return this.replicationGroupId;
    }
    /**
     * @return The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
     * 
     */
    public Integer snapshotRetentionLimit() {
        return this.snapshotRetentionLimit;
    }
    /**
     * @return Daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
     * 
     */
    public String snapshotWindow() {
        return this.snapshotWindow;
    }

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

    public static Builder builder(GetReplicationGroupResult defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private String arn;
        private Boolean authTokenEnabled;
        private Boolean automaticFailoverEnabled;
        private String clusterMode;
        private String configurationEndpointAddress;
        private String description;
        private String id;
        private List logDeliveryConfigurations;
        private List memberClusters;
        private Boolean multiAzEnabled;
        private String nodeType;
        private Integer numCacheClusters;
        private Integer numNodeGroups;
        private Integer port;
        private String primaryEndpointAddress;
        private String readerEndpointAddress;
        private Integer replicasPerNodeGroup;
        private String replicationGroupId;
        private Integer snapshotRetentionLimit;
        private String snapshotWindow;
        public Builder() {}
        public Builder(GetReplicationGroupResult defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.arn = defaults.arn;
    	      this.authTokenEnabled = defaults.authTokenEnabled;
    	      this.automaticFailoverEnabled = defaults.automaticFailoverEnabled;
    	      this.clusterMode = defaults.clusterMode;
    	      this.configurationEndpointAddress = defaults.configurationEndpointAddress;
    	      this.description = defaults.description;
    	      this.id = defaults.id;
    	      this.logDeliveryConfigurations = defaults.logDeliveryConfigurations;
    	      this.memberClusters = defaults.memberClusters;
    	      this.multiAzEnabled = defaults.multiAzEnabled;
    	      this.nodeType = defaults.nodeType;
    	      this.numCacheClusters = defaults.numCacheClusters;
    	      this.numNodeGroups = defaults.numNodeGroups;
    	      this.port = defaults.port;
    	      this.primaryEndpointAddress = defaults.primaryEndpointAddress;
    	      this.readerEndpointAddress = defaults.readerEndpointAddress;
    	      this.replicasPerNodeGroup = defaults.replicasPerNodeGroup;
    	      this.replicationGroupId = defaults.replicationGroupId;
    	      this.snapshotRetentionLimit = defaults.snapshotRetentionLimit;
    	      this.snapshotWindow = defaults.snapshotWindow;
        }

        @CustomType.Setter
        public Builder arn(String arn) {
            if (arn == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "arn");
            }
            this.arn = arn;
            return this;
        }
        @CustomType.Setter
        public Builder authTokenEnabled(Boolean authTokenEnabled) {
            if (authTokenEnabled == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "authTokenEnabled");
            }
            this.authTokenEnabled = authTokenEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder automaticFailoverEnabled(Boolean automaticFailoverEnabled) {
            if (automaticFailoverEnabled == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "automaticFailoverEnabled");
            }
            this.automaticFailoverEnabled = automaticFailoverEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder clusterMode(String clusterMode) {
            if (clusterMode == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "clusterMode");
            }
            this.clusterMode = clusterMode;
            return this;
        }
        @CustomType.Setter
        public Builder configurationEndpointAddress(String configurationEndpointAddress) {
            if (configurationEndpointAddress == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "configurationEndpointAddress");
            }
            this.configurationEndpointAddress = configurationEndpointAddress;
            return this;
        }
        @CustomType.Setter
        public Builder description(String description) {
            if (description == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "description");
            }
            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder id(String id) {
            if (id == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "id");
            }
            this.id = id;
            return this;
        }
        @CustomType.Setter
        public Builder logDeliveryConfigurations(List logDeliveryConfigurations) {
            if (logDeliveryConfigurations == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "logDeliveryConfigurations");
            }
            this.logDeliveryConfigurations = logDeliveryConfigurations;
            return this;
        }
        public Builder logDeliveryConfigurations(GetReplicationGroupLogDeliveryConfiguration... logDeliveryConfigurations) {
            return logDeliveryConfigurations(List.of(logDeliveryConfigurations));
        }
        @CustomType.Setter
        public Builder memberClusters(List memberClusters) {
            if (memberClusters == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "memberClusters");
            }
            this.memberClusters = memberClusters;
            return this;
        }
        public Builder memberClusters(String... memberClusters) {
            return memberClusters(List.of(memberClusters));
        }
        @CustomType.Setter
        public Builder multiAzEnabled(Boolean multiAzEnabled) {
            if (multiAzEnabled == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "multiAzEnabled");
            }
            this.multiAzEnabled = multiAzEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder nodeType(String nodeType) {
            if (nodeType == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "nodeType");
            }
            this.nodeType = nodeType;
            return this;
        }
        @CustomType.Setter
        public Builder numCacheClusters(Integer numCacheClusters) {
            if (numCacheClusters == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "numCacheClusters");
            }
            this.numCacheClusters = numCacheClusters;
            return this;
        }
        @CustomType.Setter
        public Builder numNodeGroups(Integer numNodeGroups) {
            if (numNodeGroups == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "numNodeGroups");
            }
            this.numNodeGroups = numNodeGroups;
            return this;
        }
        @CustomType.Setter
        public Builder port(Integer port) {
            if (port == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "port");
            }
            this.port = port;
            return this;
        }
        @CustomType.Setter
        public Builder primaryEndpointAddress(String primaryEndpointAddress) {
            if (primaryEndpointAddress == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "primaryEndpointAddress");
            }
            this.primaryEndpointAddress = primaryEndpointAddress;
            return this;
        }
        @CustomType.Setter
        public Builder readerEndpointAddress(String readerEndpointAddress) {
            if (readerEndpointAddress == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "readerEndpointAddress");
            }
            this.readerEndpointAddress = readerEndpointAddress;
            return this;
        }
        @CustomType.Setter
        public Builder replicasPerNodeGroup(Integer replicasPerNodeGroup) {
            if (replicasPerNodeGroup == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "replicasPerNodeGroup");
            }
            this.replicasPerNodeGroup = replicasPerNodeGroup;
            return this;
        }
        @CustomType.Setter
        public Builder replicationGroupId(String replicationGroupId) {
            if (replicationGroupId == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "replicationGroupId");
            }
            this.replicationGroupId = replicationGroupId;
            return this;
        }
        @CustomType.Setter
        public Builder snapshotRetentionLimit(Integer snapshotRetentionLimit) {
            if (snapshotRetentionLimit == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "snapshotRetentionLimit");
            }
            this.snapshotRetentionLimit = snapshotRetentionLimit;
            return this;
        }
        @CustomType.Setter
        public Builder snapshotWindow(String snapshotWindow) {
            if (snapshotWindow == null) {
              throw new MissingRequiredPropertyException("GetReplicationGroupResult", "snapshotWindow");
            }
            this.snapshotWindow = snapshotWindow;
            return this;
        }
        public GetReplicationGroupResult build() {
            final var _resultValue = new GetReplicationGroupResult();
            _resultValue.arn = arn;
            _resultValue.authTokenEnabled = authTokenEnabled;
            _resultValue.automaticFailoverEnabled = automaticFailoverEnabled;
            _resultValue.clusterMode = clusterMode;
            _resultValue.configurationEndpointAddress = configurationEndpointAddress;
            _resultValue.description = description;
            _resultValue.id = id;
            _resultValue.logDeliveryConfigurations = logDeliveryConfigurations;
            _resultValue.memberClusters = memberClusters;
            _resultValue.multiAzEnabled = multiAzEnabled;
            _resultValue.nodeType = nodeType;
            _resultValue.numCacheClusters = numCacheClusters;
            _resultValue.numNodeGroups = numNodeGroups;
            _resultValue.port = port;
            _resultValue.primaryEndpointAddress = primaryEndpointAddress;
            _resultValue.readerEndpointAddress = readerEndpointAddress;
            _resultValue.replicasPerNodeGroup = replicasPerNodeGroup;
            _resultValue.replicationGroupId = replicationGroupId;
            _resultValue.snapshotRetentionLimit = snapshotRetentionLimit;
            _resultValue.snapshotWindow = snapshotWindow;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy