Class ClusterArgs.Builder

  • Enclosing class:
    ClusterArgs

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

      • Builder

        public Builder()
    • Method Detail

      • aclName

        public ClusterArgs.Builder aclName​(com.pulumi.core.Output<java.lang.String> aclName)
        Parameters:
        aclName - Name of the Access Control List to associate with the cluster.
        Returns:
        builder
      • aclName

        public ClusterArgs.Builder aclName​(java.lang.String aclName)
        Parameters:
        aclName - Name of the Access Control List to associate with the cluster.
        Returns:
        builder
      • autoMinorVersionUpgrade

        public ClusterArgs.Builder autoMinorVersionUpgrade​(@Nullable
                                                           com.pulumi.core.Output<java.lang.Boolean> autoMinorVersionUpgrade)
        Parameters:
        autoMinorVersionUpgrade - When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`.
        Returns:
        builder
      • autoMinorVersionUpgrade

        public ClusterArgs.Builder autoMinorVersionUpgrade​(java.lang.Boolean autoMinorVersionUpgrade)
        Parameters:
        autoMinorVersionUpgrade - When set to `true`, the cluster will automatically receive minor engine version upgrades after launch. Defaults to `true`.
        Returns:
        builder
      • dataTiering

        public ClusterArgs.Builder dataTiering​(@Nullable
                                               com.pulumi.core.Output<java.lang.Boolean> dataTiering)
        Parameters:
        dataTiering - Enables data tiering. This option is not supported by all instance types. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).
        Returns:
        builder
      • dataTiering

        public ClusterArgs.Builder dataTiering​(java.lang.Boolean dataTiering)
        Parameters:
        dataTiering - Enables data tiering. This option is not supported by all instance types. For more information, see [Data tiering](https://docs.aws.amazon.com/memorydb/latest/devguide/data-tiering.html).
        Returns:
        builder
      • description

        public ClusterArgs.Builder description​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Description for the cluster. Defaults to `"Managed by Pulumi"`.
        Returns:
        builder
      • description

        public ClusterArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Description for the cluster. Defaults to `"Managed by Pulumi"`.
        Returns:
        builder
      • engine

        public ClusterArgs.Builder engine​(@Nullable
                                          com.pulumi.core.Output<java.lang.String> engine)
        Parameters:
        engine - Engine that will run on your nodes. Supported values are `redis` and `valkey`.
        Returns:
        builder
      • engine

        public ClusterArgs.Builder engine​(java.lang.String engine)
        Parameters:
        engine - Engine that will run on your nodes. Supported values are `redis` and `valkey`.
        Returns:
        builder
      • engineVersion

        public ClusterArgs.Builder engineVersion​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> engineVersion)
        Parameters:
        engineVersion - Version number of the engine to be used for the cluster. Downgrades are not supported.
        Returns:
        builder
      • engineVersion

        public ClusterArgs.Builder engineVersion​(java.lang.String engineVersion)
        Parameters:
        engineVersion - Version number of the engine to be used for the cluster. Downgrades are not supported.
        Returns:
        builder
      • finalSnapshotName

        public ClusterArgs.Builder finalSnapshotName​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> finalSnapshotName)
        Parameters:
        finalSnapshotName - Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made.
        Returns:
        builder
      • finalSnapshotName

        public ClusterArgs.Builder finalSnapshotName​(java.lang.String finalSnapshotName)
        Parameters:
        finalSnapshotName - Name of the final cluster snapshot to be created when this resource is deleted. If omitted, no final snapshot will be made.
        Returns:
        builder
      • ipDiscovery

        public ClusterArgs.Builder ipDiscovery​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> ipDiscovery)
        Parameters:
        ipDiscovery - Mechanism that the cluster uses to discover IP addresses. Valid values are `ipv4` and `ipv6`. Defaults to `ipv4`. To specify `ipv6`, `networkType` must be `ipv6` or `dualStack`.
        Returns:
        builder
      • ipDiscovery

        public ClusterArgs.Builder ipDiscovery​(java.lang.String ipDiscovery)
        Parameters:
        ipDiscovery - Mechanism that the cluster uses to discover IP addresses. Valid values are `ipv4` and `ipv6`. Defaults to `ipv4`. To specify `ipv6`, `networkType` must be `ipv6` or `dualStack`.
        Returns:
        builder
      • kmsKeyArn

        public ClusterArgs.Builder kmsKeyArn​(@Nullable
                                             com.pulumi.core.Output<java.lang.String> kmsKeyArn)
        Parameters:
        kmsKeyArn - ARN of the KMS key used to encrypt the cluster at rest.
        Returns:
        builder
      • kmsKeyArn

        public ClusterArgs.Builder kmsKeyArn​(java.lang.String kmsKeyArn)
        Parameters:
        kmsKeyArn - ARN of the KMS key used to encrypt the cluster at rest.
        Returns:
        builder
      • maintenanceWindow

        public ClusterArgs.Builder maintenanceWindow​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> maintenanceWindow)
        Parameters:
        maintenanceWindow - Weekly time range during which maintenance on the cluster is performed. Specify as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:23:00-mon:01:30`.
        Returns:
        builder
      • maintenanceWindow

        public ClusterArgs.Builder maintenanceWindow​(java.lang.String maintenanceWindow)
        Parameters:
        maintenanceWindow - Weekly time range during which maintenance on the cluster is performed. Specify as a range in the format `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:23:00-mon:01:30`.
        Returns:
        builder
      • multiRegionClusterName

        public ClusterArgs.Builder multiRegionClusterName​(@Nullable
                                                          com.pulumi.core.Output<java.lang.String> multiRegionClusterName)
        Parameters:
        multiRegionClusterName - Multi region cluster identifier specified on `aws.memorydb.MultiRegionCluster`.
        Returns:
        builder
      • multiRegionClusterName

        public ClusterArgs.Builder multiRegionClusterName​(java.lang.String multiRegionClusterName)
        Parameters:
        multiRegionClusterName - Multi region cluster identifier specified on `aws.memorydb.MultiRegionCluster`.
        Returns:
        builder
      • name

        public ClusterArgs.Builder name​(@Nullable
                                        com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
        Returns:
        builder
      • name

        public ClusterArgs.Builder name​(java.lang.String name)
        Parameters:
        name - Name of the cluster. If omitted, the provider will assign a random, unique name. Conflicts with `namePrefix`.
        Returns:
        builder
      • namePrefix

        public ClusterArgs.Builder namePrefix​(@Nullable
                                              com.pulumi.core.Output<java.lang.String> namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • namePrefix

        public ClusterArgs.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • networkType

        public ClusterArgs.Builder networkType​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> networkType)
        Parameters:
        networkType - IP address type for the cluster. Valid values are `ipv4`, `ipv6` and `dualStack`. Defaults to `ipv4`.
        Returns:
        builder
      • networkType

        public ClusterArgs.Builder networkType​(java.lang.String networkType)
        Parameters:
        networkType - IP address type for the cluster. Valid values are `ipv4`, `ipv6` and `dualStack`. Defaults to `ipv4`.
        Returns:
        builder
      • nodeType

        public ClusterArgs.Builder nodeType​(com.pulumi.core.Output<java.lang.String> nodeType)
        Parameters:
        nodeType - Compute and memory capacity of the nodes in the cluster. See AWS documentation on [supported node types](https://docs.aws.amazon.com/memorydb/latest/devguide/nodes.supportedtypes.html) as well as [vertical scaling](https://docs.aws.amazon.com/memorydb/latest/devguide/cluster-vertical-scaling.html). The following arguments are optional:
        Returns:
        builder
      • nodeType

        public ClusterArgs.Builder nodeType​(java.lang.String nodeType)
        Parameters:
        nodeType - Compute and memory capacity of the nodes in the cluster. See AWS documentation on [supported node types](https://docs.aws.amazon.com/memorydb/latest/devguide/nodes.supportedtypes.html) as well as [vertical scaling](https://docs.aws.amazon.com/memorydb/latest/devguide/cluster-vertical-scaling.html). The following arguments are optional:
        Returns:
        builder
      • numReplicasPerShard

        public ClusterArgs.Builder numReplicasPerShard​(@Nullable
                                                       com.pulumi.core.Output<java.lang.Integer> numReplicasPerShard)
        Parameters:
        numReplicasPerShard - Number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard).
        Returns:
        builder
      • numReplicasPerShard

        public ClusterArgs.Builder numReplicasPerShard​(java.lang.Integer numReplicasPerShard)
        Parameters:
        numReplicasPerShard - Number of replicas to apply to each shard, up to a maximum of 5. Defaults to `1` (i.e. 2 nodes per shard).
        Returns:
        builder
      • numShards

        public ClusterArgs.Builder numShards​(@Nullable
                                             com.pulumi.core.Output<java.lang.Integer> numShards)
        Parameters:
        numShards - Number of shards in the cluster. Defaults to `1`.
        Returns:
        builder
      • numShards

        public ClusterArgs.Builder numShards​(java.lang.Integer numShards)
        Parameters:
        numShards - Number of shards in the cluster. Defaults to `1`.
        Returns:
        builder
      • parameterGroupName

        public ClusterArgs.Builder parameterGroupName​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> parameterGroupName)
        Parameters:
        parameterGroupName - Name of the parameter group associated with the cluster.
        Returns:
        builder
      • parameterGroupName

        public ClusterArgs.Builder parameterGroupName​(java.lang.String parameterGroupName)
        Parameters:
        parameterGroupName - Name of the parameter group associated with the cluster.
        Returns:
        builder
      • port

        public ClusterArgs.Builder port​(@Nullable
                                        com.pulumi.core.Output<java.lang.Integer> port)
        Parameters:
        port - Port number on which each of the nodes accepts connections. Defaults to `6379`.
        Returns:
        builder
      • port

        public ClusterArgs.Builder port​(java.lang.Integer port)
        Parameters:
        port - Port number on which each of the nodes accepts connections. Defaults to `6379`.
        Returns:
        builder
      • region

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

        public ClusterArgs.Builder securityGroupIds​(@Nullable
                                                    com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupIds)
        Parameters:
        securityGroupIds - Set of VPC Security Group ID-s to associate with this cluster.
        Returns:
        builder
      • securityGroupIds

        public ClusterArgs.Builder securityGroupIds​(java.util.List<java.lang.String> securityGroupIds)
        Parameters:
        securityGroupIds - Set of VPC Security Group ID-s to associate with this cluster.
        Returns:
        builder
      • securityGroupIds

        public ClusterArgs.Builder securityGroupIds​(java.lang.String... securityGroupIds)
        Parameters:
        securityGroupIds - Set of VPC Security Group ID-s to associate with this cluster.
        Returns:
        builder
      • snapshotArns

        public ClusterArgs.Builder snapshotArns​(@Nullable
                                                com.pulumi.core.Output<java.util.List<java.lang.String>> snapshotArns)
        Parameters:
        snapshotArns - List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
        Returns:
        builder
      • snapshotArns

        public ClusterArgs.Builder snapshotArns​(java.util.List<java.lang.String> snapshotArns)
        Parameters:
        snapshotArns - List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
        Returns:
        builder
      • snapshotArns

        public ClusterArgs.Builder snapshotArns​(java.lang.String... snapshotArns)
        Parameters:
        snapshotArns - List of ARN-s that uniquely identify RDB snapshot files stored in S3. The snapshot files will be used to populate the new cluster. Object names in the ARN-s cannot contain any commas.
        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 cluster.
        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 cluster.
        Returns:
        builder
      • snapshotRetentionLimit

        public ClusterArgs.Builder snapshotRetentionLimit​(@Nullable
                                                          com.pulumi.core.Output<java.lang.Integer> snapshotRetentionLimit)
        Parameters:
        snapshotRetentionLimit - Number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`.
        Returns:
        builder
      • snapshotRetentionLimit

        public ClusterArgs.Builder snapshotRetentionLimit​(java.lang.Integer snapshotRetentionLimit)
        Parameters:
        snapshotRetentionLimit - Number of days for which MemoryDB retains automatic snapshots before deleting them. When set to `0`, automatic backups are disabled. Defaults to `0`.
        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 MemoryDB begins taking a daily snapshot of your shard. 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 MemoryDB begins taking a daily snapshot of your shard. Example: `05:00-09:00`.
        Returns:
        builder
      • snsTopicArn

        public ClusterArgs.Builder snsTopicArn​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> snsTopicArn)
        Parameters:
        snsTopicArn - ARN of the SNS topic to which cluster notifications are sent.
        Returns:
        builder
      • snsTopicArn

        public ClusterArgs.Builder snsTopicArn​(java.lang.String snsTopicArn)
        Parameters:
        snsTopicArn - ARN of the SNS topic to which cluster notifications are sent.
        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 cluster. Defaults to a subnet group consisting of default VPC subnets.
        Returns:
        builder
      • subnetGroupName

        public ClusterArgs.Builder subnetGroupName​(java.lang.String subnetGroupName)
        Parameters:
        subnetGroupName - Name of the subnet group to be used for the cluster. Defaults to a subnet group consisting of default VPC subnets.
        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 `defaultTags` 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 `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
        Returns:
        builder
      • tlsEnabled

        public ClusterArgs.Builder tlsEnabled​(@Nullable
                                              com.pulumi.core.Output<java.lang.Boolean> tlsEnabled)
        Parameters:
        tlsEnabled - Whether to enable in-transit encryption on the cluster. When set to `false`, the `aclName` must be `open-access`. Defaults to `true`.
        Returns:
        builder
      • tlsEnabled

        public ClusterArgs.Builder tlsEnabled​(java.lang.Boolean tlsEnabled)
        Parameters:
        tlsEnabled - Whether to enable in-transit encryption on the cluster. When set to `false`, the `aclName` must be `open-access`. Defaults to `true`.
        Returns:
        builder