Class ClusterArgs.Builder

  • Enclosing class:
    ClusterArgs

    public static final class ClusterArgs.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • applyImmediately

        public ClusterArgs.Builder applyImmediately​(@Nullable
                                                    com.pulumi.core.Output<java.lang.Boolean> applyImmediately)
        Parameters:
        applyImmediately - Whether any database modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html).
        Returns:
        builder
      • applyImmediately

        public ClusterArgs.Builder applyImmediately​(java.lang.Boolean applyImmediately)
        Parameters:
        applyImmediately - Whether any database modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html).
        Returns:
        builder
      • autoMinorVersionUpgrade

        public ClusterArgs.Builder autoMinorVersionUpgrade​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> 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 type `"redis"` and if the engine version is 6 or higher. Defaults to `true`.
        Returns:
        builder
      • autoMinorVersionUpgrade

        public ClusterArgs.Builder autoMinorVersionUpgrade​(java.lang.String 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 type `"redis"` and if the engine version is 6 or higher. Defaults to `true`.
        Returns:
        builder
      • availabilityZone

        public ClusterArgs.Builder availabilityZone​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> availabilityZone)
        Parameters:
        availabilityZone - Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferred_availability_zones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
        Returns:
        builder
      • availabilityZone

        public ClusterArgs.Builder availabilityZone​(java.lang.String availabilityZone)
        Parameters:
        availabilityZone - Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferred_availability_zones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
        Returns:
        builder
      • azMode

        public ClusterArgs.Builder azMode​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> azMode)
        Parameters:
        azMode - Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `num_cache_nodes` must be greater than `1`.
        Returns:
        builder
      • azMode

        public ClusterArgs.Builder azMode​(java.lang.String azMode)
        Parameters:
        azMode - Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `num_cache_nodes` must be greater than `1`.
        Returns:
        builder
      • clusterId

        public ClusterArgs.Builder clusterId​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> clusterId)
        Parameters:
        clusterId - Group identifier. ElastiCache converts this name to lowercase. Changing this value will re-create the resource.
        Returns:
        builder
      • clusterId

        public ClusterArgs.Builder clusterId​(java.lang.String clusterId)
        Parameters:
        clusterId - Group identifier. ElastiCache converts this name to lowercase. Changing this value will re-create the resource.
        Returns:
        builder
      • engine

        public ClusterArgs.Builder engine​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> engine)
        Parameters:
        engine - Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
        Returns:
        builder
      • engine

        public ClusterArgs.Builder engine​(java.lang.String engine)
        Parameters:
        engine - Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
        Returns:
        builder
      • engineVersion

        public ClusterArgs.Builder engineVersion​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> engineVersion)
        Parameters:
        engineVersion - Version number of the cache engine to be used. If not set, defaults to the latest version. See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions. When `engine` is `redis` and the version is 6 or higher, 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 `engine_version_actual`, see Attributes Reference below.
        Returns:
        builder
      • engineVersion

        public ClusterArgs.Builder engineVersion​(java.lang.String engineVersion)
        Parameters:
        engineVersion - Version number of the cache engine to be used. If not set, defaults to the latest version. See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions. When `engine` is `redis` and the version is 6 or higher, 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 `engine_version_actual`, see Attributes Reference below.
        Returns:
        builder
      • finalSnapshotIdentifier

        public ClusterArgs.Builder finalSnapshotIdentifier​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> finalSnapshotIdentifier)
        Parameters:
        finalSnapshotIdentifier - Name of your final cluster snapshot. If omitted, no final snapshot will be made.
        Returns:
        builder
      • finalSnapshotIdentifier

        public ClusterArgs.Builder finalSnapshotIdentifier​(java.lang.String finalSnapshotIdentifier)
        Parameters:
        finalSnapshotIdentifier - Name of your final cluster snapshot. If omitted, no final snapshot will be made.
        Returns:
        builder
      • logDeliveryConfigurations

        public ClusterArgs.Builder logDeliveryConfigurations​(@Nullable
                                                             com.pulumi.core.Output<java.util.List<ClusterLogDeliveryConfigurationArgs>> logDeliveryConfigurations)
        Parameters:
        logDeliveryConfigurations - Specifies the destination and format of 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). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.
        Returns:
        builder
      • logDeliveryConfigurations

        public ClusterArgs.Builder logDeliveryConfigurations​(java.util.List<ClusterLogDeliveryConfigurationArgs> logDeliveryConfigurations)
        Parameters:
        logDeliveryConfigurations - Specifies the destination and format of 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). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.
        Returns:
        builder
      • logDeliveryConfigurations

        public ClusterArgs.Builder logDeliveryConfigurations​(ClusterLogDeliveryConfigurationArgs... logDeliveryConfigurations)
        Parameters:
        logDeliveryConfigurations - Specifies the destination and format of 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). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.
        Returns:
        builder
      • maintenanceWindow

        public ClusterArgs.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 ClusterArgs.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
      • nodeType

        public ClusterArgs.Builder nodeType​(@Nullable
                                            com.pulumi.core.Output<java.lang.String> nodeType)
        Parameters:
        nodeType - The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.
        Returns:
        builder
      • nodeType

        public ClusterArgs.Builder nodeType​(java.lang.String nodeType)
        Parameters:
        nodeType - The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.
        Returns:
        builder
      • notificationTopicArn

        public ClusterArgs.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 ClusterArgs.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
      • numCacheNodes

        public ClusterArgs.Builder numCacheNodes​(@Nullable
                                                 com.pulumi.core.Output<java.lang.Integer> numCacheNodes)
        Parameters:
        numCacheNodes - The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
        Returns:
        builder
      • numCacheNodes

        public ClusterArgs.Builder numCacheNodes​(java.lang.Integer numCacheNodes)
        Parameters:
        numCacheNodes - The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
        Returns:
        builder
      • parameterGroupName

        public ClusterArgs.Builder parameterGroupName​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> parameterGroupName)
        Parameters:
        parameterGroupName - The name of the parameter group to associate with this cache cluster.
        Returns:
        builder
      • parameterGroupName

        public ClusterArgs.Builder parameterGroupName​(java.lang.String parameterGroupName)
        Parameters:
        parameterGroupName - The name of the parameter group to associate with this cache cluster.
        Returns:
        builder
      • port

        public ClusterArgs.Builder port​(@Nullable
                                        com.pulumi.core.Output<java.lang.Integer> port)
        Parameters:
        port - The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replication_group_id`. Changing this value will re-create the resource.
        Returns:
        builder
      • port

        public ClusterArgs.Builder port​(java.lang.Integer port)
        Parameters:
        port - The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replication_group_id`. Changing this value will re-create the resource.
        Returns:
        builder
      • preferredAvailabilityZones

        public ClusterArgs.Builder preferredAvailabilityZones​(@Nullable
                                                              com.pulumi.core.Output<java.util.List<java.lang.String>> preferredAvailabilityZones)
        Parameters:
        preferredAvailabilityZones - List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
        Returns:
        builder
      • preferredAvailabilityZones

        public ClusterArgs.Builder preferredAvailabilityZones​(java.util.List<java.lang.String> preferredAvailabilityZones)
        Parameters:
        preferredAvailabilityZones - List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
        Returns:
        builder
      • preferredAvailabilityZones

        public ClusterArgs.Builder preferredAvailabilityZones​(java.lang.String... preferredAvailabilityZones)
        Parameters:
        preferredAvailabilityZones - List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
        Returns:
        builder
      • replicationGroupId

        public ClusterArgs.Builder replicationGroupId​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> replicationGroupId)
        Parameters:
        replicationGroupId - ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.
        Returns:
        builder
      • replicationGroupId

        public ClusterArgs.Builder replicationGroupId​(java.lang.String replicationGroupId)
        Parameters:
        replicationGroupId - ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.
        Returns:
        builder
      • securityGroupIds

        public ClusterArgs.Builder securityGroupIds​(@Nullable
                                                    com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupIds)
        Parameters:
        securityGroupIds - One or more VPC security groups associated with the cache cluster
        Returns:
        builder
      • securityGroupIds

        public ClusterArgs.Builder securityGroupIds​(java.util.List<java.lang.String> securityGroupIds)
        Parameters:
        securityGroupIds - One or more VPC security groups associated with the cache cluster
        Returns:
        builder
      • securityGroupIds

        public ClusterArgs.Builder securityGroupIds​(java.lang.String... securityGroupIds)
        Parameters:
        securityGroupIds - One or more VPC security groups associated with the cache cluster
        Returns:
        builder
      • securityGroupNames

        public ClusterArgs.Builder securityGroupNames​(@Nullable
                                                      com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupNames)
        Parameters:
        securityGroupNames - List of security group names to associate with this cache cluster. Changing this value will re-create the resource.
        Returns:
        builder
      • securityGroupNames

        public ClusterArgs.Builder securityGroupNames​(java.util.List<java.lang.String> securityGroupNames)
        Parameters:
        securityGroupNames - List of security group names to associate with this cache cluster. Changing this value will re-create the resource.
        Returns:
        builder
      • securityGroupNames

        public ClusterArgs.Builder securityGroupNames​(java.lang.String... securityGroupNames)
        Parameters:
        securityGroupNames - List of security group names to associate with this cache cluster. Changing this value will re-create the resource.
        Returns:
        builder
      • snapshotArns

        public ClusterArgs.Builder snapshotArns​(@Nullable
                                                com.pulumi.core.Output<java.lang.String> snapshotArns)
        Parameters:
        snapshotArns - Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshot_arns` forces a new resource.
        Returns:
        builder
      • snapshotArns

        public ClusterArgs.Builder snapshotArns​(java.lang.String snapshotArns)
        Parameters:
        snapshotArns - Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshot_arns` forces a new resource.
        Returns:
        builder
      • snapshotName

        public ClusterArgs.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 `snapshot_name` forces a new resource.
        Returns:
        builder
      • snapshotName

        public ClusterArgs.Builder snapshotName​(java.lang.String snapshotName)
        Parameters:
        snapshotName - Name of a snapshot from which to restore data into the new node group. Changing `snapshot_name` forces a new resource.
        Returns:
        builder
      • snapshotRetentionLimit

        public ClusterArgs.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 `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes
        Returns:
        builder
      • snapshotRetentionLimit

        public ClusterArgs.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 `snapshot_retention_limit` is not supported on cache.t1.micro cache nodes
        Returns:
        builder
      • snapshotWindow

        public ClusterArgs.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. Example: 05:00-09:00
        Returns:
        builder
      • snapshotWindow

        public ClusterArgs.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. Example: 05:00-09:00
        Returns:
        builder
      • subnetGroupName

        public ClusterArgs.Builder subnetGroupName​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> subnetGroupName)
        Parameters:
        subnetGroupName - Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.
        Returns:
        builder
      • subnetGroupName

        public ClusterArgs.Builder subnetGroupName​(java.lang.String subnetGroupName)
        Parameters:
        subnetGroupName - Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.
        Returns:
        builder
      • tags

        public ClusterArgs.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. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tags

        public ClusterArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - Map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder