Package com.pulumi.aws.elasticache
Class ReplicationGroupArgs.Builder
- java.lang.Object
-
- com.pulumi.aws.elasticache.ReplicationGroupArgs.Builder
-
- Enclosing class:
- ReplicationGroupArgs
public static final class ReplicationGroupArgs.Builder extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Builder()Builder(ReplicationGroupArgs defaults)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ReplicationGroupArgs.BuilderapplyImmediately(com.pulumi.core.Output<java.lang.Boolean> applyImmediately)ReplicationGroupArgs.BuilderapplyImmediately(java.lang.Boolean applyImmediately)ReplicationGroupArgs.BuilderatRestEncryptionEnabled(com.pulumi.core.Output<java.lang.Boolean> atRestEncryptionEnabled)ReplicationGroupArgs.BuilderatRestEncryptionEnabled(java.lang.Boolean atRestEncryptionEnabled)ReplicationGroupArgs.BuilderauthToken(com.pulumi.core.Output<java.lang.String> authToken)ReplicationGroupArgs.BuilderauthToken(java.lang.String authToken)ReplicationGroupArgs.BuilderauthTokenUpdateStrategy(com.pulumi.core.Output<java.lang.String> authTokenUpdateStrategy)ReplicationGroupArgs.BuilderauthTokenUpdateStrategy(java.lang.String authTokenUpdateStrategy)ReplicationGroupArgs.BuilderauthTokenWo(com.pulumi.core.Output<java.lang.String> authTokenWo)ReplicationGroupArgs.BuilderauthTokenWo(java.lang.String authTokenWo)ReplicationGroupArgs.BuilderauthTokenWoVersion(com.pulumi.core.Output<java.lang.Integer> authTokenWoVersion)ReplicationGroupArgs.BuilderauthTokenWoVersion(java.lang.Integer authTokenWoVersion)ReplicationGroupArgs.BuilderautomaticFailoverEnabled(com.pulumi.core.Output<java.lang.Boolean> automaticFailoverEnabled)ReplicationGroupArgs.BuilderautomaticFailoverEnabled(java.lang.Boolean automaticFailoverEnabled)ReplicationGroupArgs.BuilderautoMinorVersionUpgrade(com.pulumi.core.Output<java.lang.Boolean> autoMinorVersionUpgrade)ReplicationGroupArgs.BuilderautoMinorVersionUpgrade(java.lang.Boolean autoMinorVersionUpgrade)ReplicationGroupArgsbuild()ReplicationGroupArgs.BuilderclusterMode(com.pulumi.core.Output<java.lang.String> clusterMode)ReplicationGroupArgs.BuilderclusterMode(java.lang.String clusterMode)ReplicationGroupArgs.BuilderdataTieringEnabled(com.pulumi.core.Output<java.lang.Boolean> dataTieringEnabled)ReplicationGroupArgs.BuilderdataTieringEnabled(java.lang.Boolean dataTieringEnabled)ReplicationGroupArgs.Builderdescription(com.pulumi.core.Output<java.lang.String> description)ReplicationGroupArgs.Builderdescription(java.lang.String description)ReplicationGroupArgs.Builderdurability(com.pulumi.core.Output<java.lang.String> durability)ReplicationGroupArgs.Builderdurability(java.lang.String durability)ReplicationGroupArgs.Builderengine(com.pulumi.core.Output<java.lang.String> engine)ReplicationGroupArgs.Builderengine(java.lang.String engine)ReplicationGroupArgs.BuilderengineVersion(com.pulumi.core.Output<java.lang.String> engineVersion)ReplicationGroupArgs.BuilderengineVersion(java.lang.String engineVersion)ReplicationGroupArgs.BuilderfinalSnapshotIdentifier(com.pulumi.core.Output<java.lang.String> finalSnapshotIdentifier)ReplicationGroupArgs.BuilderfinalSnapshotIdentifier(java.lang.String finalSnapshotIdentifier)ReplicationGroupArgs.BuilderglobalReplicationGroupId(com.pulumi.core.Output<java.lang.String> globalReplicationGroupId)ReplicationGroupArgs.BuilderglobalReplicationGroupId(java.lang.String globalReplicationGroupId)ReplicationGroupArgs.BuilderipDiscovery(com.pulumi.core.Output<java.lang.String> ipDiscovery)ReplicationGroupArgs.BuilderipDiscovery(java.lang.String ipDiscovery)ReplicationGroupArgs.BuilderkmsKeyId(com.pulumi.core.Output<java.lang.String> kmsKeyId)ReplicationGroupArgs.BuilderkmsKeyId(java.lang.String kmsKeyId)ReplicationGroupArgs.BuilderlogDeliveryConfigurations(ReplicationGroupLogDeliveryConfigurationArgs... logDeliveryConfigurations)ReplicationGroupArgs.BuilderlogDeliveryConfigurations(com.pulumi.core.Output<java.util.List<ReplicationGroupLogDeliveryConfigurationArgs>> logDeliveryConfigurations)ReplicationGroupArgs.BuilderlogDeliveryConfigurations(java.util.List<ReplicationGroupLogDeliveryConfigurationArgs> logDeliveryConfigurations)ReplicationGroupArgs.BuildermaintenanceWindow(com.pulumi.core.Output<java.lang.String> maintenanceWindow)ReplicationGroupArgs.BuildermaintenanceWindow(java.lang.String maintenanceWindow)ReplicationGroupArgs.BuildermultiAzEnabled(com.pulumi.core.Output<java.lang.Boolean> multiAzEnabled)ReplicationGroupArgs.BuildermultiAzEnabled(java.lang.Boolean multiAzEnabled)ReplicationGroupArgs.BuildernetworkType(com.pulumi.core.Output<java.lang.String> networkType)ReplicationGroupArgs.BuildernetworkType(java.lang.String networkType)ReplicationGroupArgs.BuildernodeGroupConfigurations(ReplicationGroupNodeGroupConfigurationArgs... nodeGroupConfigurations)ReplicationGroupArgs.BuildernodeGroupConfigurations(com.pulumi.core.Output<java.util.List<ReplicationGroupNodeGroupConfigurationArgs>> nodeGroupConfigurations)ReplicationGroupArgs.BuildernodeGroupConfigurations(java.util.List<ReplicationGroupNodeGroupConfigurationArgs> nodeGroupConfigurations)ReplicationGroupArgs.BuildernodeType(com.pulumi.core.Output<java.lang.String> nodeType)ReplicationGroupArgs.BuildernodeType(java.lang.String nodeType)ReplicationGroupArgs.BuildernotificationTopicArn(com.pulumi.core.Output<java.lang.String> notificationTopicArn)ReplicationGroupArgs.BuildernotificationTopicArn(java.lang.String notificationTopicArn)ReplicationGroupArgs.BuildernumCacheClusters(com.pulumi.core.Output<java.lang.Integer> numCacheClusters)ReplicationGroupArgs.BuildernumCacheClusters(java.lang.Integer numCacheClusters)ReplicationGroupArgs.BuildernumNodeGroups(com.pulumi.core.Output<java.lang.Integer> numNodeGroups)ReplicationGroupArgs.BuildernumNodeGroups(java.lang.Integer numNodeGroups)ReplicationGroupArgs.BuilderparameterGroupName(com.pulumi.core.Output<java.lang.String> parameterGroupName)ReplicationGroupArgs.BuilderparameterGroupName(java.lang.String parameterGroupName)ReplicationGroupArgs.Builderport(com.pulumi.core.Output<java.lang.Integer> port)ReplicationGroupArgs.Builderport(java.lang.Integer port)ReplicationGroupArgs.BuilderpreferredCacheClusterAzs(com.pulumi.core.Output<java.util.List<java.lang.String>> preferredCacheClusterAzs)ReplicationGroupArgs.BuilderpreferredCacheClusterAzs(java.lang.String... preferredCacheClusterAzs)ReplicationGroupArgs.BuilderpreferredCacheClusterAzs(java.util.List<java.lang.String> preferredCacheClusterAzs)ReplicationGroupArgs.Builderregion(com.pulumi.core.Output<java.lang.String> region)ReplicationGroupArgs.Builderregion(java.lang.String region)ReplicationGroupArgs.BuilderreplicasPerNodeGroup(com.pulumi.core.Output<java.lang.Integer> replicasPerNodeGroup)ReplicationGroupArgs.BuilderreplicasPerNodeGroup(java.lang.Integer replicasPerNodeGroup)ReplicationGroupArgs.BuilderreplicationGroupId(com.pulumi.core.Output<java.lang.String> replicationGroupId)ReplicationGroupArgs.BuilderreplicationGroupId(java.lang.String replicationGroupId)ReplicationGroupArgs.BuildersecurityGroupIds(com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupIds)ReplicationGroupArgs.BuildersecurityGroupIds(java.lang.String... securityGroupIds)ReplicationGroupArgs.BuildersecurityGroupIds(java.util.List<java.lang.String> securityGroupIds)ReplicationGroupArgs.BuildersecurityGroupNames(com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupNames)ReplicationGroupArgs.BuildersecurityGroupNames(java.lang.String... securityGroupNames)ReplicationGroupArgs.BuildersecurityGroupNames(java.util.List<java.lang.String> securityGroupNames)ReplicationGroupArgs.BuildersnapshotArns(com.pulumi.core.Output<java.util.List<java.lang.String>> snapshotArns)ReplicationGroupArgs.BuildersnapshotArns(java.lang.String... snapshotArns)ReplicationGroupArgs.BuildersnapshotArns(java.util.List<java.lang.String> snapshotArns)ReplicationGroupArgs.BuildersnapshotName(com.pulumi.core.Output<java.lang.String> snapshotName)ReplicationGroupArgs.BuildersnapshotName(java.lang.String snapshotName)ReplicationGroupArgs.BuildersnapshotRetentionLimit(com.pulumi.core.Output<java.lang.Integer> snapshotRetentionLimit)ReplicationGroupArgs.BuildersnapshotRetentionLimit(java.lang.Integer snapshotRetentionLimit)ReplicationGroupArgs.BuildersnapshotWindow(com.pulumi.core.Output<java.lang.String> snapshotWindow)ReplicationGroupArgs.BuildersnapshotWindow(java.lang.String snapshotWindow)ReplicationGroupArgs.BuildersubnetGroupName(com.pulumi.core.Output<java.lang.String> subnetGroupName)ReplicationGroupArgs.BuildersubnetGroupName(java.lang.String subnetGroupName)ReplicationGroupArgs.Buildertags(com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tags)ReplicationGroupArgs.Buildertags(java.util.Map<java.lang.String,java.lang.String> tags)ReplicationGroupArgs.BuildertransitEncryptionEnabled(com.pulumi.core.Output<java.lang.Boolean> transitEncryptionEnabled)ReplicationGroupArgs.BuildertransitEncryptionEnabled(java.lang.Boolean transitEncryptionEnabled)ReplicationGroupArgs.BuildertransitEncryptionMode(com.pulumi.core.Output<java.lang.String> transitEncryptionMode)ReplicationGroupArgs.BuildertransitEncryptionMode(java.lang.String transitEncryptionMode)ReplicationGroupArgs.BuilderuserGroupIds(com.pulumi.core.Output<java.util.List<java.lang.String>> userGroupIds)ReplicationGroupArgs.BuilderuserGroupIds(java.lang.String... userGroupIds)ReplicationGroupArgs.BuilderuserGroupIds(java.util.List<java.lang.String> userGroupIds)
-
-
-
Constructor Detail
-
Builder
public Builder()
-
Builder
public Builder(ReplicationGroupArgs defaults)
-
-
Method Detail
-
applyImmediately
public ReplicationGroupArgs.Builder applyImmediately(@Nullable com.pulumi.core.Output<java.lang.Boolean> applyImmediately)
- Parameters:
applyImmediately- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.- Returns:
- builder
-
applyImmediately
public ReplicationGroupArgs.Builder applyImmediately(java.lang.Boolean applyImmediately)
- Parameters:
applyImmediately- Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.- Returns:
- builder
-
atRestEncryptionEnabled
public ReplicationGroupArgs.Builder atRestEncryptionEnabled(@Nullable com.pulumi.core.Output<java.lang.Boolean> atRestEncryptionEnabled)
- Parameters:
atRestEncryptionEnabled- Whether to enable encryption at rest. When `engine` is `redis`, default is `false`. When `engine` is `valkey`, default is `true`.- Returns:
- builder
-
atRestEncryptionEnabled
public ReplicationGroupArgs.Builder atRestEncryptionEnabled(java.lang.Boolean atRestEncryptionEnabled)
- Parameters:
atRestEncryptionEnabled- Whether to enable encryption at rest. When `engine` is `redis`, default is `false`. When `engine` is `valkey`, default is `true`.- Returns:
- builder
-
authToken
public ReplicationGroupArgs.Builder authToken(@Nullable com.pulumi.core.Output<java.lang.String> authToken)
- Parameters:
authToken- Password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.- Returns:
- builder
-
authToken
public ReplicationGroupArgs.Builder authToken(java.lang.String authToken)
- Parameters:
authToken- Password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.- Returns:
- builder
-
authTokenUpdateStrategy
public ReplicationGroupArgs.Builder authTokenUpdateStrategy(@Nullable com.pulumi.core.Output<java.lang.String> authTokenUpdateStrategy)
- Parameters:
authTokenUpdateStrategy- Strategy used when modifying `authToken` or `authTokenWo` on an existing replication group. Not used during initial create. Valid values are `SET`, `ROTATE`, and `DELETE`. If omitted during an auth token change, AWS defaults to `ROTATE`. If value is `DELETE` then `authToken` and `authTokenWo` must be omitted.- Returns:
- builder
-
authTokenUpdateStrategy
public ReplicationGroupArgs.Builder authTokenUpdateStrategy(java.lang.String authTokenUpdateStrategy)
- Parameters:
authTokenUpdateStrategy- Strategy used when modifying `authToken` or `authTokenWo` on an existing replication group. Not used during initial create. Valid values are `SET`, `ROTATE`, and `DELETE`. If omitted during an auth token change, AWS defaults to `ROTATE`. If value is `DELETE` then `authToken` and `authTokenWo` must be omitted.- Returns:
- builder
-
authTokenWo
public ReplicationGroupArgs.Builder authTokenWo(@Nullable com.pulumi.core.Output<java.lang.String> authTokenWo)
- Parameters:
authTokenWo- **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. Password used to access a password protected server, whose value will not be stored in state. Can be specified only if `transitEncryptionEnabled = true`. Conflicts with `authToken`. If set, requires `authTokenWoVersion` to be set.- Returns:
- builder
-
authTokenWo
public ReplicationGroupArgs.Builder authTokenWo(java.lang.String authTokenWo)
- Parameters:
authTokenWo- **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. Password used to access a password protected server, whose value will not be stored in state. Can be specified only if `transitEncryptionEnabled = true`. Conflicts with `authToken`. If set, requires `authTokenWoVersion` to be set.- Returns:
- builder
-
authTokenWoVersion
public ReplicationGroupArgs.Builder authTokenWoVersion(@Nullable com.pulumi.core.Output<java.lang.Integer> authTokenWoVersion)
- Parameters:
authTokenWoVersion- Required when `authTokenWo` is set. Changing this value triggers an update to `authTokenWo`.- Returns:
- builder
-
authTokenWoVersion
public ReplicationGroupArgs.Builder authTokenWoVersion(java.lang.Integer authTokenWoVersion)
- Parameters:
authTokenWoVersion- Required when `authTokenWo` is set. Changing this value triggers an update to `authTokenWo`.- Returns:
- builder
-
autoMinorVersionUpgrade
public ReplicationGroupArgs.Builder autoMinorVersionUpgrade(@Nullable com.pulumi.core.Output<java.lang.Boolean> autoMinorVersionUpgrade)
- Parameters:
autoMinorVersionUpgrade- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Only supported for engine types `"redis"` and `"valkey"` and if the engine version is 6 or higher. If this argument is not explicitly set in the configuration, AWS will set a default value of `true` and Terraform will not detect drift on this attribute.- Returns:
- builder
-
autoMinorVersionUpgrade
public ReplicationGroupArgs.Builder autoMinorVersionUpgrade(java.lang.Boolean autoMinorVersionUpgrade)
- Parameters:
autoMinorVersionUpgrade- Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Only supported for engine types `"redis"` and `"valkey"` and if the engine version is 6 or higher. If this argument is not explicitly set in the configuration, AWS will set a default value of `true` and Terraform will not detect drift on this attribute.- Returns:
- builder
-
automaticFailoverEnabled
public ReplicationGroupArgs.Builder automaticFailoverEnabled(@Nullable com.pulumi.core.Output<java.lang.Boolean> automaticFailoverEnabled)
- Parameters:
automaticFailoverEnabled- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, `numCacheClusters` must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.- Returns:
- builder
-
automaticFailoverEnabled
public ReplicationGroupArgs.Builder automaticFailoverEnabled(java.lang.Boolean automaticFailoverEnabled)
- Parameters:
automaticFailoverEnabled- Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, `numCacheClusters` must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.- Returns:
- builder
-
clusterMode
public ReplicationGroupArgs.Builder clusterMode(@Nullable com.pulumi.core.Output<java.lang.String> clusterMode)
- Parameters:
clusterMode- Specifies whether cluster mode is enabled or disabled. Valid values are `enabled` or `disabled` or `compatible`- Returns:
- builder
-
clusterMode
public ReplicationGroupArgs.Builder clusterMode(java.lang.String clusterMode)
- Parameters:
clusterMode- Specifies whether cluster mode is enabled or disabled. Valid values are `enabled` or `disabled` or `compatible`- Returns:
- builder
-
dataTieringEnabled
public ReplicationGroupArgs.Builder dataTieringEnabled(@Nullable com.pulumi.core.Output<java.lang.Boolean> dataTieringEnabled)
- Parameters:
dataTieringEnabled- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes.- Returns:
- builder
-
dataTieringEnabled
public ReplicationGroupArgs.Builder dataTieringEnabled(java.lang.Boolean dataTieringEnabled)
- Parameters:
dataTieringEnabled- Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes.- Returns:
- builder
-
description
public ReplicationGroupArgs.Builder description(com.pulumi.core.Output<java.lang.String> description)
- Parameters:
description- User-created description for the replication group. Must not be empty.- Returns:
- builder
-
description
public ReplicationGroupArgs.Builder description(java.lang.String description)
- Parameters:
description- User-created description for the replication group. Must not be empty.- Returns:
- builder
-
durability
public ReplicationGroupArgs.Builder durability(@Nullable com.pulumi.core.Output<java.lang.String> durability)
- Parameters:
durability- Specifies the durability mode for the replication group. Valid values are `default`, `async`, `sync`, or `disabled`. Requires cluster mode enabled and Valkey 9.0 or higher.- Returns:
- builder
-
durability
public ReplicationGroupArgs.Builder durability(java.lang.String durability)
- Parameters:
durability- Specifies the durability mode for the replication group. Valid values are `default`, `async`, `sync`, or `disabled`. Requires cluster mode enabled and Valkey 9.0 or higher.- Returns:
- builder
-
engine
public ReplicationGroupArgs.Builder engine(@Nullable com.pulumi.core.Output<java.lang.String> engine)
- Parameters:
engine- Name of the cache engine to be used for the clusters in this replication group. Valid values are `redis` or `valkey`. Default is `redis`.- Returns:
- builder
-
engine
public ReplicationGroupArgs.Builder engine(java.lang.String engine)
- Parameters:
engine- Name of the cache engine to be used for the clusters in this replication group. Valid values are `redis` or `valkey`. Default is `redis`.- Returns:
- builder
-
engineVersion
public ReplicationGroupArgs.Builder engineVersion(@Nullable com.pulumi.core.Output<java.lang.String> engineVersion)
- Parameters:
engineVersion- Version number of the cache engine to be used for the cache clusters in this replication group. If the version is 7 or higher, the major and minor version should be set, e.g., `7.2`. If the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below.- Returns:
- builder
-
engineVersion
public ReplicationGroupArgs.Builder engineVersion(java.lang.String engineVersion)
- Parameters:
engineVersion- Version number of the cache engine to be used for the cache clusters in this replication group. If the version is 7 or higher, the major and minor version should be set, e.g., `7.2`. If the version is 6, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, see Attribute Reference below.- Returns:
- builder
-
finalSnapshotIdentifier
public ReplicationGroupArgs.Builder finalSnapshotIdentifier(@Nullable com.pulumi.core.Output<java.lang.String> finalSnapshotIdentifier)
- Parameters:
finalSnapshotIdentifier- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.- Returns:
- builder
-
finalSnapshotIdentifier
public ReplicationGroupArgs.Builder finalSnapshotIdentifier(java.lang.String finalSnapshotIdentifier)
- Parameters:
finalSnapshotIdentifier- The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.- Returns:
- builder
-
globalReplicationGroupId
public ReplicationGroupArgs.Builder globalReplicationGroupId(@Nullable com.pulumi.core.Output<java.lang.String> globalReplicationGroupId)
- Parameters:
globalReplicationGroupId- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set.- Returns:
- builder
-
globalReplicationGroupId
public ReplicationGroupArgs.Builder globalReplicationGroupId(java.lang.String globalReplicationGroupId)
- Parameters:
globalReplicationGroupId- The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter cannot be set.- Returns:
- builder
-
ipDiscovery
public ReplicationGroupArgs.Builder ipDiscovery(@Nullable com.pulumi.core.Output<java.lang.String> ipDiscovery)
- Parameters:
ipDiscovery- The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.- Returns:
- builder
-
ipDiscovery
public ReplicationGroupArgs.Builder ipDiscovery(java.lang.String ipDiscovery)
- Parameters:
ipDiscovery- The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.- Returns:
- builder
-
kmsKeyId
public ReplicationGroupArgs.Builder kmsKeyId(@Nullable com.pulumi.core.Output<java.lang.String> kmsKeyId)
- Parameters:
kmsKeyId- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`.- Returns:
- builder
-
kmsKeyId
public ReplicationGroupArgs.Builder kmsKeyId(java.lang.String kmsKeyId)
- Parameters:
kmsKeyId- The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`.- Returns:
- builder
-
logDeliveryConfigurations
public ReplicationGroupArgs.Builder logDeliveryConfigurations(@Nullable com.pulumi.core.Output<java.util.List<ReplicationGroupLogDeliveryConfigurationArgs>> logDeliveryConfigurations)
- Parameters:
logDeliveryConfigurations- Specifies the destination and format of Redis OSS/Valkey [SLOWLOG](https://redis.io/commands/slowlog) or Redis OSS/Valkey [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.- Returns:
- builder
-
logDeliveryConfigurations
public ReplicationGroupArgs.Builder logDeliveryConfigurations(java.util.List<ReplicationGroupLogDeliveryConfigurationArgs> logDeliveryConfigurations)
- Parameters:
logDeliveryConfigurations- Specifies the destination and format of Redis OSS/Valkey [SLOWLOG](https://redis.io/commands/slowlog) or Redis OSS/Valkey [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.- Returns:
- builder
-
logDeliveryConfigurations
public ReplicationGroupArgs.Builder logDeliveryConfigurations(ReplicationGroupLogDeliveryConfigurationArgs... logDeliveryConfigurations)
- Parameters:
logDeliveryConfigurations- Specifies the destination and format of Redis OSS/Valkey [SLOWLOG](https://redis.io/commands/slowlog) or Redis OSS/Valkey [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.- Returns:
- builder
-
maintenanceWindow
public ReplicationGroupArgs.Builder maintenanceWindow(@Nullable com.pulumi.core.Output<java.lang.String> maintenanceWindow)
- Parameters:
maintenanceWindow- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`- Returns:
- builder
-
maintenanceWindow
public ReplicationGroupArgs.Builder maintenanceWindow(java.lang.String maintenanceWindow)
- Parameters:
maintenanceWindow- Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`- Returns:
- builder
-
multiAzEnabled
public ReplicationGroupArgs.Builder multiAzEnabled(@Nullable com.pulumi.core.Output<java.lang.Boolean> multiAzEnabled)
- Parameters:
multiAzEnabled- Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`.- Returns:
- builder
-
multiAzEnabled
public ReplicationGroupArgs.Builder multiAzEnabled(java.lang.Boolean multiAzEnabled)
- Parameters:
multiAzEnabled- Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`.- Returns:
- builder
-
networkType
public ReplicationGroupArgs.Builder networkType(@Nullable com.pulumi.core.Output<java.lang.String> networkType)
- Parameters:
networkType- The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`.- Returns:
- builder
-
networkType
public ReplicationGroupArgs.Builder networkType(java.lang.String networkType)
- Parameters:
networkType- The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`.- Returns:
- builder
-
nodeGroupConfigurations
public ReplicationGroupArgs.Builder nodeGroupConfigurations(@Nullable com.pulumi.core.Output<java.util.List<ReplicationGroupNodeGroupConfigurationArgs>> nodeGroupConfigurations)
- Parameters:
nodeGroupConfigurations- Configuration block for node groups (shards). Can be specified only if `numNodeGroups` is set. Conflicts with `preferredCacheClusterAzs`. See Node Group Configuration below for more details.- Returns:
- builder
-
nodeGroupConfigurations
public ReplicationGroupArgs.Builder nodeGroupConfigurations(java.util.List<ReplicationGroupNodeGroupConfigurationArgs> nodeGroupConfigurations)
- Parameters:
nodeGroupConfigurations- Configuration block for node groups (shards). Can be specified only if `numNodeGroups` is set. Conflicts with `preferredCacheClusterAzs`. See Node Group Configuration below for more details.- Returns:
- builder
-
nodeGroupConfigurations
public ReplicationGroupArgs.Builder nodeGroupConfigurations(ReplicationGroupNodeGroupConfigurationArgs... nodeGroupConfigurations)
- Parameters:
nodeGroupConfigurations- Configuration block for node groups (shards). Can be specified only if `numNodeGroups` is set. Conflicts with `preferredCacheClusterAzs`. See Node Group Configuration below for more details.- Returns:
- builder
-
nodeType
public ReplicationGroupArgs.Builder nodeType(@Nullable com.pulumi.core.Output<java.lang.String> nodeType)
- Parameters:
nodeType- Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set.- Returns:
- builder
-
nodeType
public ReplicationGroupArgs.Builder nodeType(java.lang.String nodeType)
- Parameters:
nodeType- Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set.- Returns:
- builder
-
notificationTopicArn
public ReplicationGroupArgs.Builder notificationTopicArn(@Nullable com.pulumi.core.Output<java.lang.String> notificationTopicArn)
- Parameters:
notificationTopicArn- ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`- Returns:
- builder
-
notificationTopicArn
public ReplicationGroupArgs.Builder notificationTopicArn(java.lang.String notificationTopicArn)
- Parameters:
notificationTopicArn- ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`- Returns:
- builder
-
numCacheClusters
public ReplicationGroupArgs.Builder numCacheClusters(@Nullable com.pulumi.core.Output<java.lang.Integer> numCacheClusters)
- Parameters:
numCacheClusters- Number of cache clusters (primary and replicas) this replication group will have. If `automaticFailoverEnabled` or `multiAzEnabled` are `true`, must be at least 2. Updates will occur before other modifications. Conflicts with `numNodeGroups` and `replicasPerNodeGroup`. Defaults to `1`.- Returns:
- builder
-
numCacheClusters
public ReplicationGroupArgs.Builder numCacheClusters(java.lang.Integer numCacheClusters)
- Parameters:
numCacheClusters- Number of cache clusters (primary and replicas) this replication group will have. If `automaticFailoverEnabled` or `multiAzEnabled` are `true`, must be at least 2. Updates will occur before other modifications. Conflicts with `numNodeGroups` and `replicasPerNodeGroup`. Defaults to `1`.- Returns:
- builder
-
numNodeGroups
public ReplicationGroupArgs.Builder numNodeGroups(@Nullable com.pulumi.core.Output<java.lang.Integer> numNodeGroups)
- Parameters:
numNodeGroups- Number of node groups (shards) for this Redis replication group. Changing this number will trigger a resizing operation before other settings modifications. Conflicts with `numCacheClusters`.- Returns:
- builder
-
numNodeGroups
public ReplicationGroupArgs.Builder numNodeGroups(java.lang.Integer numNodeGroups)
- Parameters:
numNodeGroups- Number of node groups (shards) for this Redis replication group. Changing this number will trigger a resizing operation before other settings modifications. Conflicts with `numCacheClusters`.- Returns:
- builder
-
parameterGroupName
public ReplicationGroupArgs.Builder parameterGroupName(@Nullable com.pulumi.core.Output<java.lang.String> parameterGroupName)
- Parameters:
parameterGroupName- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter `cluster-enabled` set to true.- Returns:
- builder
-
parameterGroupName
public ReplicationGroupArgs.Builder parameterGroupName(java.lang.String parameterGroupName)
- Parameters:
parameterGroupName- Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter `cluster-enabled` set to true.- Returns:
- builder
-
port
public ReplicationGroupArgs.Builder port(@Nullable com.pulumi.core.Output<java.lang.Integer> port)
- Parameters:
port- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.- Returns:
- builder
-
port
public ReplicationGroupArgs.Builder port(java.lang.Integer port)
- Parameters:
port- Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.- Returns:
- builder
-
preferredCacheClusterAzs
public ReplicationGroupArgs.Builder preferredCacheClusterAzs(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> preferredCacheClusterAzs)
- Parameters:
preferredCacheClusterAzs- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.- Returns:
- builder
-
preferredCacheClusterAzs
public ReplicationGroupArgs.Builder preferredCacheClusterAzs(java.util.List<java.lang.String> preferredCacheClusterAzs)
- Parameters:
preferredCacheClusterAzs- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.- Returns:
- builder
-
preferredCacheClusterAzs
public ReplicationGroupArgs.Builder preferredCacheClusterAzs(java.lang.String... preferredCacheClusterAzs)
- Parameters:
preferredCacheClusterAzs- List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is considered. The first item in the list will be the primary node. Ignored when updating.- Returns:
- builder
-
region
public ReplicationGroupArgs.Builder region(@Nullable com.pulumi.core.Output<java.lang.String> region)
- Parameters:
region- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.- Returns:
- builder
-
region
public ReplicationGroupArgs.Builder region(java.lang.String region)
- Parameters:
region- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.- Returns:
- builder
-
replicasPerNodeGroup
public ReplicationGroupArgs.Builder replicasPerNodeGroup(@Nullable com.pulumi.core.Output<java.lang.Integer> replicasPerNodeGroup)
- Parameters:
replicasPerNodeGroup- Number of replica nodes in each node group. Changing this number will trigger a resizing operation before other settings modifications. Default AWS limit is 5. Higher values may be available with a quota increase. Conflicts with `numCacheClusters`. Can only be set if `numNodeGroups` is set.- Returns:
- builder
-
replicasPerNodeGroup
public ReplicationGroupArgs.Builder replicasPerNodeGroup(java.lang.Integer replicasPerNodeGroup)
- Parameters:
replicasPerNodeGroup- Number of replica nodes in each node group. Changing this number will trigger a resizing operation before other settings modifications. Default AWS limit is 5. Higher values may be available with a quota increase. Conflicts with `numCacheClusters`. Can only be set if `numNodeGroups` is set.- Returns:
- builder
-
replicationGroupId
public ReplicationGroupArgs.Builder replicationGroupId(@Nullable com.pulumi.core.Output<java.lang.String> replicationGroupId)
- Parameters:
replicationGroupId- Replication group identifier. This parameter is stored as a lowercase string. The following arguments are optional:- Returns:
- builder
-
replicationGroupId
public ReplicationGroupArgs.Builder replicationGroupId(java.lang.String replicationGroupId)
- Parameters:
replicationGroupId- Replication group identifier. This parameter is stored as a lowercase string. The following arguments are optional:- Returns:
- builder
-
securityGroupIds
public ReplicationGroupArgs.Builder securityGroupIds(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupIds)
- Parameters:
securityGroupIds- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in a VPC.- Returns:
- builder
-
securityGroupIds
public ReplicationGroupArgs.Builder securityGroupIds(java.util.List<java.lang.String> securityGroupIds)
- Parameters:
securityGroupIds- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in a VPC.- Returns:
- builder
-
securityGroupIds
public ReplicationGroupArgs.Builder securityGroupIds(java.lang.String... securityGroupIds)
- Parameters:
securityGroupIds- IDs of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in a VPC.- Returns:
- builder
-
securityGroupNames
public ReplicationGroupArgs.Builder securityGroupNames(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupNames)
- Parameters:
securityGroupNames- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in a VPC.- Returns:
- builder
-
securityGroupNames
public ReplicationGroupArgs.Builder securityGroupNames(java.util.List<java.lang.String> securityGroupNames)
- Parameters:
securityGroupNames- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in a VPC.- Returns:
- builder
-
securityGroupNames
public ReplicationGroupArgs.Builder securityGroupNames(java.lang.String... securityGroupNames)
- Parameters:
securityGroupNames- Names of one or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in a VPC.- Returns:
- builder
-
snapshotArns
public ReplicationGroupArgs.Builder snapshotArns(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> snapshotArns)
- Parameters:
snapshotArns- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.- Returns:
- builder
-
snapshotArns
public ReplicationGroupArgs.Builder snapshotArns(java.util.List<java.lang.String> snapshotArns)
- Parameters:
snapshotArns- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.- Returns:
- builder
-
snapshotArns
public ReplicationGroupArgs.Builder snapshotArns(java.lang.String... snapshotArns)
- Parameters:
snapshotArns- List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.- Returns:
- builder
-
snapshotName
public ReplicationGroupArgs.Builder snapshotName(@Nullable com.pulumi.core.Output<java.lang.String> snapshotName)
- Parameters:
snapshotName- Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.- Returns:
- builder
-
snapshotName
public ReplicationGroupArgs.Builder snapshotName(java.lang.String snapshotName)
- Parameters:
snapshotName- Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.- Returns:
- builder
-
snapshotRetentionLimit
public ReplicationGroupArgs.Builder snapshotRetentionLimit(@Nullable com.pulumi.core.Output<java.lang.Integer> snapshotRetentionLimit)
- Parameters:
snapshotRetentionLimit- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshotRetentionLimit` is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes- Returns:
- builder
-
snapshotRetentionLimit
public ReplicationGroupArgs.Builder snapshotRetentionLimit(java.lang.Integer snapshotRetentionLimit)
- Parameters:
snapshotRetentionLimit- Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshotRetentionLimit` is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes- Returns:
- builder
-
snapshotWindow
public ReplicationGroupArgs.Builder snapshotWindow(@Nullable com.pulumi.core.Output<java.lang.String> snapshotWindow)
- Parameters:
snapshotWindow- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00`- Returns:
- builder
-
snapshotWindow
public ReplicationGroupArgs.Builder snapshotWindow(java.lang.String snapshotWindow)
- Parameters:
snapshotWindow- Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00`- Returns:
- builder
-
subnetGroupName
public ReplicationGroupArgs.Builder subnetGroupName(@Nullable com.pulumi.core.Output<java.lang.String> subnetGroupName)
- Parameters:
subnetGroupName- Name of the cache subnet group to be used for the replication group.- Returns:
- builder
-
subnetGroupName
public ReplicationGroupArgs.Builder subnetGroupName(java.lang.String subnetGroupName)
- Parameters:
subnetGroupName- Name of the cache subnet group to be used for the replication group.- Returns:
- builder
-
tags
public ReplicationGroupArgs.Builder tags(@Nullable com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tags)
- Parameters:
tags- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Returns:
- builder
-
tags
public ReplicationGroupArgs.Builder tags(java.util.Map<java.lang.String,java.lang.String> tags)
- Parameters:
tags- Map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.- Returns:
- builder
-
transitEncryptionEnabled
public ReplicationGroupArgs.Builder transitEncryptionEnabled(@Nullable com.pulumi.core.Output<java.lang.Boolean> transitEncryptionEnabled)
- Parameters:
transitEncryptionEnabled- Whether to enable encryption in transit. Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group.- Returns:
- builder
-
transitEncryptionEnabled
public ReplicationGroupArgs.Builder transitEncryptionEnabled(java.lang.Boolean transitEncryptionEnabled)
- Parameters:
transitEncryptionEnabled- Whether to enable encryption in transit. Changing this argument with an `engineVersion` < `7.0.5` will force a replacement. Engine versions prior to `7.0.5` only allow this transit encryption to be configured during creation of the replication group.- Returns:
- builder
-
transitEncryptionMode
public ReplicationGroupArgs.Builder transitEncryptionMode(@Nullable com.pulumi.core.Output<java.lang.String> transitEncryptionMode)
- Parameters:
transitEncryptionMode- A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are `preferred` and `required`. When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details.- Returns:
- builder
-
transitEncryptionMode
public ReplicationGroupArgs.Builder transitEncryptionMode(java.lang.String transitEncryptionMode)
- Parameters:
transitEncryptionMode- A setting that enables clients to migrate to in-transit encryption with no downtime. Valid values are `preferred` and `required`. When enabling encryption on an existing replication group, this must first be set to `preferred` before setting it to `required` in a subsequent apply. See the `TransitEncryptionMode` field in the [`CreateReplicationGroup` API documentation](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html) for additional details.- Returns:
- builder
-
userGroupIds
public ReplicationGroupArgs.Builder userGroupIds(@Nullable com.pulumi.core.Output<java.util.List<java.lang.String>> userGroupIds)
- Parameters:
userGroupIds- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.- Returns:
- builder
-
userGroupIds
public ReplicationGroupArgs.Builder userGroupIds(java.util.List<java.lang.String> userGroupIds)
- Parameters:
userGroupIds- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.- Returns:
- builder
-
userGroupIds
public ReplicationGroupArgs.Builder userGroupIds(java.lang.String... userGroupIds)
- Parameters:
userGroupIds- User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.- Returns:
- builder
-
build
public ReplicationGroupArgs build()
-
-