Class ElasticacheCluster.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static ElasticacheCluster.Builder create​(software.constructs.Construct scope,
                                                        String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of ElasticacheCluster.Builder.
      • connection

        @Stability(Experimental)
        public ElasticacheCluster.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ElasticacheCluster.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ElasticacheCluster.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ElasticacheCluster.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ElasticacheCluster.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ElasticacheCluster.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ElasticacheCluster.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public ElasticacheCluster.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • clusterId

        @Stability(Stable)
        public ElasticacheCluster.Builder clusterId​(String clusterId)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#cluster_id ElasticacheCluster#cluster_id}.

        Parameters:
        clusterId - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#cluster_id ElasticacheCluster#cluster_id}. This parameter is required.
        Returns:
        this
      • applyImmediately

        @Stability(Stable)
        public ElasticacheCluster.Builder applyImmediately​(Boolean applyImmediately)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#apply_immediately ElasticacheCluster#apply_immediately}.

        Parameters:
        applyImmediately - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#apply_immediately ElasticacheCluster#apply_immediately}. This parameter is required.
        Returns:
        this
      • applyImmediately

        @Stability(Stable)
        public ElasticacheCluster.Builder applyImmediately​(com.hashicorp.cdktf.IResolvable applyImmediately)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#apply_immediately ElasticacheCluster#apply_immediately}.

        Parameters:
        applyImmediately - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#apply_immediately ElasticacheCluster#apply_immediately}. This parameter is required.
        Returns:
        this
      • autoMinorVersionUpgrade

        @Stability(Stable)
        public ElasticacheCluster.Builder autoMinorVersionUpgrade​(String autoMinorVersionUpgrade)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#auto_minor_version_upgrade ElasticacheCluster#auto_minor_version_upgrade}.

        Parameters:
        autoMinorVersionUpgrade - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#auto_minor_version_upgrade ElasticacheCluster#auto_minor_version_upgrade}. This parameter is required.
        Returns:
        this
      • availabilityZone

        @Stability(Stable)
        public ElasticacheCluster.Builder availabilityZone​(String availabilityZone)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#availability_zone ElasticacheCluster#availability_zone}.

        Parameters:
        availabilityZone - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#availability_zone ElasticacheCluster#availability_zone}. This parameter is required.
        Returns:
        this
      • azMode

        @Stability(Stable)
        public ElasticacheCluster.Builder azMode​(String azMode)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#az_mode ElasticacheCluster#az_mode}.

        Parameters:
        azMode - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#az_mode ElasticacheCluster#az_mode}. This parameter is required.
        Returns:
        this
      • engine

        @Stability(Stable)
        public ElasticacheCluster.Builder engine​(String engine)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#engine ElasticacheCluster#engine}.

        Parameters:
        engine - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#engine ElasticacheCluster#engine}. This parameter is required.
        Returns:
        this
      • engineVersion

        @Stability(Stable)
        public ElasticacheCluster.Builder engineVersion​(String engineVersion)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#engine_version ElasticacheCluster#engine_version}.

        Parameters:
        engineVersion - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#engine_version ElasticacheCluster#engine_version}. This parameter is required.
        Returns:
        this
      • finalSnapshotIdentifier

        @Stability(Stable)
        public ElasticacheCluster.Builder finalSnapshotIdentifier​(String finalSnapshotIdentifier)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#final_snapshot_identifier ElasticacheCluster#final_snapshot_identifier}.

        Parameters:
        finalSnapshotIdentifier - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#final_snapshot_identifier ElasticacheCluster#final_snapshot_identifier}. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ElasticacheCluster.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#id ElasticacheCluster#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#id ElasticacheCluster#id}. This parameter is required.
        Returns:
        this
      • ipDiscovery

        @Stability(Stable)
        public ElasticacheCluster.Builder ipDiscovery​(String ipDiscovery)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#ip_discovery ElasticacheCluster#ip_discovery}.

        Parameters:
        ipDiscovery - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#ip_discovery ElasticacheCluster#ip_discovery}. This parameter is required.
        Returns:
        this
      • logDeliveryConfiguration

        @Stability(Stable)
        public ElasticacheCluster.Builder logDeliveryConfiguration​(com.hashicorp.cdktf.IResolvable logDeliveryConfiguration)
        log_delivery_configuration block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#log_delivery_configuration ElasticacheCluster#log_delivery_configuration}

        Parameters:
        logDeliveryConfiguration - log_delivery_configuration block. This parameter is required.
        Returns:
        this
      • logDeliveryConfiguration

        @Stability(Stable)
        public ElasticacheCluster.Builder logDeliveryConfiguration​(List<? extends ElasticacheClusterLogDeliveryConfiguration> logDeliveryConfiguration)
        log_delivery_configuration block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#log_delivery_configuration ElasticacheCluster#log_delivery_configuration}

        Parameters:
        logDeliveryConfiguration - log_delivery_configuration block. This parameter is required.
        Returns:
        this
      • maintenanceWindow

        @Stability(Stable)
        public ElasticacheCluster.Builder maintenanceWindow​(String maintenanceWindow)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#maintenance_window ElasticacheCluster#maintenance_window}.

        Parameters:
        maintenanceWindow - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#maintenance_window ElasticacheCluster#maintenance_window}. This parameter is required.
        Returns:
        this
      • networkType

        @Stability(Stable)
        public ElasticacheCluster.Builder networkType​(String networkType)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#network_type ElasticacheCluster#network_type}.

        Parameters:
        networkType - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#network_type ElasticacheCluster#network_type}. This parameter is required.
        Returns:
        this
      • nodeType

        @Stability(Stable)
        public ElasticacheCluster.Builder nodeType​(String nodeType)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#node_type ElasticacheCluster#node_type}.

        Parameters:
        nodeType - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#node_type ElasticacheCluster#node_type}. This parameter is required.
        Returns:
        this
      • notificationTopicArn

        @Stability(Stable)
        public ElasticacheCluster.Builder notificationTopicArn​(String notificationTopicArn)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#notification_topic_arn ElasticacheCluster#notification_topic_arn}.

        Parameters:
        notificationTopicArn - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#notification_topic_arn ElasticacheCluster#notification_topic_arn}. This parameter is required.
        Returns:
        this
      • numCacheNodes

        @Stability(Stable)
        public ElasticacheCluster.Builder numCacheNodes​(Number numCacheNodes)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#num_cache_nodes ElasticacheCluster#num_cache_nodes}.

        Parameters:
        numCacheNodes - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#num_cache_nodes ElasticacheCluster#num_cache_nodes}. This parameter is required.
        Returns:
        this
      • outpostMode

        @Stability(Stable)
        public ElasticacheCluster.Builder outpostMode​(String outpostMode)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#outpost_mode ElasticacheCluster#outpost_mode}.

        Parameters:
        outpostMode - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#outpost_mode ElasticacheCluster#outpost_mode}. This parameter is required.
        Returns:
        this
      • parameterGroupName

        @Stability(Stable)
        public ElasticacheCluster.Builder parameterGroupName​(String parameterGroupName)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#parameter_group_name ElasticacheCluster#parameter_group_name}.

        Parameters:
        parameterGroupName - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#parameter_group_name ElasticacheCluster#parameter_group_name}. This parameter is required.
        Returns:
        this
      • port

        @Stability(Stable)
        public ElasticacheCluster.Builder port​(Number port)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#port ElasticacheCluster#port}.

        Parameters:
        port - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#port ElasticacheCluster#port}. This parameter is required.
        Returns:
        this
      • preferredAvailabilityZones

        @Stability(Stable)
        public ElasticacheCluster.Builder preferredAvailabilityZones​(List<String> preferredAvailabilityZones)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#preferred_availability_zones ElasticacheCluster#preferred_availability_zones}.

        Parameters:
        preferredAvailabilityZones - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#preferred_availability_zones ElasticacheCluster#preferred_availability_zones}. This parameter is required.
        Returns:
        this
      • preferredOutpostArn

        @Stability(Stable)
        public ElasticacheCluster.Builder preferredOutpostArn​(String preferredOutpostArn)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#preferred_outpost_arn ElasticacheCluster#preferred_outpost_arn}.

        Parameters:
        preferredOutpostArn - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#preferred_outpost_arn ElasticacheCluster#preferred_outpost_arn}. This parameter is required.
        Returns:
        this
      • replicationGroupId

        @Stability(Stable)
        public ElasticacheCluster.Builder replicationGroupId​(String replicationGroupId)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#replication_group_id ElasticacheCluster#replication_group_id}.

        Parameters:
        replicationGroupId - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#replication_group_id ElasticacheCluster#replication_group_id}. This parameter is required.
        Returns:
        this
      • securityGroupIds

        @Stability(Stable)
        public ElasticacheCluster.Builder securityGroupIds​(List<String> securityGroupIds)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#security_group_ids ElasticacheCluster#security_group_ids}.

        Parameters:
        securityGroupIds - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#security_group_ids ElasticacheCluster#security_group_ids}. This parameter is required.
        Returns:
        this
      • snapshotArns

        @Stability(Stable)
        public ElasticacheCluster.Builder snapshotArns​(List<String> snapshotArns)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_arns ElasticacheCluster#snapshot_arns}.

        Parameters:
        snapshotArns - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_arns ElasticacheCluster#snapshot_arns}. This parameter is required.
        Returns:
        this
      • snapshotName

        @Stability(Stable)
        public ElasticacheCluster.Builder snapshotName​(String snapshotName)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_name ElasticacheCluster#snapshot_name}.

        Parameters:
        snapshotName - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_name ElasticacheCluster#snapshot_name}. This parameter is required.
        Returns:
        this
      • snapshotRetentionLimit

        @Stability(Stable)
        public ElasticacheCluster.Builder snapshotRetentionLimit​(Number snapshotRetentionLimit)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_retention_limit ElasticacheCluster#snapshot_retention_limit}.

        Parameters:
        snapshotRetentionLimit - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_retention_limit ElasticacheCluster#snapshot_retention_limit}. This parameter is required.
        Returns:
        this
      • snapshotWindow

        @Stability(Stable)
        public ElasticacheCluster.Builder snapshotWindow​(String snapshotWindow)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_window ElasticacheCluster#snapshot_window}.

        Parameters:
        snapshotWindow - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#snapshot_window ElasticacheCluster#snapshot_window}. This parameter is required.
        Returns:
        this
      • subnetGroupName

        @Stability(Stable)
        public ElasticacheCluster.Builder subnetGroupName​(String subnetGroupName)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#subnet_group_name ElasticacheCluster#subnet_group_name}.

        Parameters:
        subnetGroupName - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#subnet_group_name ElasticacheCluster#subnet_group_name}. This parameter is required.
        Returns:
        this
      • tags

        @Stability(Stable)
        public ElasticacheCluster.Builder tags​(Map<String,​String> tags)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#tags ElasticacheCluster#tags}.

        Parameters:
        tags - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#tags ElasticacheCluster#tags}. This parameter is required.
        Returns:
        this
      • tagsAll

        @Stability(Stable)
        public ElasticacheCluster.Builder tagsAll​(Map<String,​String> tagsAll)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#tags_all ElasticacheCluster#tags_all}.

        Parameters:
        tagsAll - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/aws/5.6.1/docs/resources/elasticache_cluster#tags_all ElasticacheCluster#tags_all}. This parameter is required.
        Returns:
        this