elasticache

package
v1.31.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 13, 2020 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is
	// `false`. See [Amazon ElastiCache Documentation for more information.][1]
	// (Available since v0.6.0)
	ApplyImmediately pulumi.BoolOutput   `pulumi:"applyImmediately"`
	Arn              pulumi.StringOutput `pulumi:"arn"`
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// Specifies 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`, `numCacheNodes` must be greater than `1`
	AzMode pulumi.StringOutput `pulumi:"azMode"`
	// List of node objects including `id`, `address`, `port` and `availabilityZone`.
	// Referenceable e.g. as `${aws_elasticache_cluster.bar.cache_nodes.0.address}`
	CacheNodes ClusterCacheNodeArrayOutput `pulumi:"cacheNodes"`
	// (Memcached only) The DNS name of the cache cluster without the port appended.
	ClusterAddress pulumi.StringOutput `pulumi:"clusterAddress"`
	// Group identifier. ElastiCache converts
	// this name to lowercase
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// (Memcached only) The configuration endpoint to allow host discovery.
	ConfigurationEndpoint pulumi.StringOutput `pulumi:"configurationEndpoint"`
	// Name of the cache engine to be used for this cache cluster.
	// Valid values for this parameter are `memcached` or `redis`
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Version number of the cache engine to be used.
	// See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html)
	// in the AWS Documentation center for supported versions
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// 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`
	MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"`
	// The compute and memory capacity of the nodes. See
	// [Available Cache Node Types](https://aws.amazon.com/elasticache/details#Available_Cache_Node_Types) for
	// supported node types
	NodeType pulumi.StringOutput `pulumi:"nodeType"`
	// An Amazon Resource Name (ARN) of an
	// SNS topic to send ElastiCache notifications to. Example:
	// `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"`
	// The initial number of cache nodes that the
	// cache cluster will have. For Redis, this value must be 1. For Memcache, this
	// value must be between 1 and 20. If this number is reduced on subsequent runs,
	// the highest numbered nodes will be removed.
	NumCacheNodes pulumi.IntOutput `pulumi:"numCacheNodes"`
	// Name of the parameter group to associate
	// with this cache cluster
	ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"`
	// The 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. Cannot be provided with `replicationGroupId`.
	Port pulumi.IntOutput `pulumi:"port"`
	// A 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 `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` 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.
	PreferredAvailabilityZones pulumi.StringArrayOutput `pulumi:"preferredAvailabilityZones"`
	// The 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.
	ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"`
	// One or more VPC security groups associated
	// with the cache cluster
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// List of security group
	// names to associate with this cache cluster
	SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"`
	// A single-element string list containing an
	// Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
	// Example: `arn:aws:s3:::my_bucket/snapshot1.rdb`
	SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"`
	// The name of a snapshot from which to restore data into the new node group.  Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"`
	// The 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 or cache.t2.* cache nodes
	SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"`
	// The daily time range (in UTC) during which ElastiCache will
	// begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00
	SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"`
	// Name of the subnet group to be used
	// for the cache cluster.
	SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"`
	// A mapping of tags to assign to the resource
	Tags pulumi.MapOutput `pulumi:"tags"`
}

Provides an ElastiCache Cluster resource, which manages a Memcached cluster or Redis instance. For working with Redis (Cluster Mode Enabled) replication groups, see the [`elasticache.ReplicationGroup` resource](https://www.terraform.io/docs/providers/aws/r/elasticache_replication_group.html).

> **Note:** When you change an attribute, such as `nodeType`, by default it is applied in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately. Using `applyImmediately` can result in a brief downtime as the server reboots. See the AWS Docs on [Modifying an ElastiCache Cache Cluster][2] for more information.

func GetCluster

func GetCluster(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClusterState, opts ...pulumi.ResourceOption) (*Cluster, error)

GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewCluster

func NewCluster(ctx *pulumi.Context,
	name string, args *ClusterArgs, opts ...pulumi.ResourceOption) (*Cluster, error)

NewCluster registers a new resource with the given unique name, arguments, and options.

type ClusterArgs

type ClusterArgs struct {
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is
	// `false`. See [Amazon ElastiCache Documentation for more information.][1]
	// (Available since v0.6.0)
	ApplyImmediately pulumi.BoolPtrInput
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies 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`, `numCacheNodes` must be greater than `1`
	AzMode pulumi.StringPtrInput
	// Group identifier. ElastiCache converts
	// this name to lowercase
	ClusterId pulumi.StringPtrInput
	// Name of the cache engine to be used for this cache cluster.
	// Valid values for this parameter are `memcached` or `redis`
	Engine pulumi.StringPtrInput
	// Version number of the cache engine to be used.
	// See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html)
	// in the AWS Documentation center for supported versions
	EngineVersion pulumi.StringPtrInput
	// 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`
	MaintenanceWindow pulumi.StringPtrInput
	// The compute and memory capacity of the nodes. See
	// [Available Cache Node Types](https://aws.amazon.com/elasticache/details#Available_Cache_Node_Types) for
	// supported node types
	NodeType pulumi.StringPtrInput
	// An Amazon Resource Name (ARN) of an
	// SNS topic to send ElastiCache notifications to. Example:
	// `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrInput
	// The initial number of cache nodes that the
	// cache cluster will have. For Redis, this value must be 1. For Memcache, this
	// value must be between 1 and 20. If this number is reduced on subsequent runs,
	// the highest numbered nodes will be removed.
	NumCacheNodes pulumi.IntPtrInput
	// Name of the parameter group to associate
	// with this cache cluster
	ParameterGroupName pulumi.StringPtrInput
	// The 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. Cannot be provided with `replicationGroupId`.
	Port pulumi.IntPtrInput
	// A 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 `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` 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.
	PreferredAvailabilityZones pulumi.StringArrayInput
	// The 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.
	ReplicationGroupId pulumi.StringPtrInput
	// One or more VPC security groups associated
	// with the cache cluster
	SecurityGroupIds pulumi.StringArrayInput
	// List of security group
	// names to associate with this cache cluster
	SecurityGroupNames pulumi.StringArrayInput
	// A single-element string list containing an
	// Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
	// Example: `arn:aws:s3:::my_bucket/snapshot1.rdb`
	SnapshotArns pulumi.StringArrayInput
	// The name of a snapshot from which to restore data into the new node group.  Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// The 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 or cache.t2.* cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// The daily time range (in UTC) during which ElastiCache will
	// begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00
	SnapshotWindow pulumi.StringPtrInput
	// Name of the subnet group to be used
	// for the cache cluster.
	SubnetGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource
	Tags pulumi.MapInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterCacheNode

type ClusterCacheNode struct {
	Address *string `pulumi:"address"`
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	Id               *string `pulumi:"id"`
	// The 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. Cannot be provided with `replicationGroupId`.
	Port *int `pulumi:"port"`
}

type ClusterCacheNodeArgs

type ClusterCacheNodeArgs struct {
	Address pulumi.StringPtrInput `pulumi:"address"`
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	Id               pulumi.StringPtrInput `pulumi:"id"`
	// The 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. Cannot be provided with `replicationGroupId`.
	Port pulumi.IntPtrInput `pulumi:"port"`
}

func (ClusterCacheNodeArgs) ElementType

func (ClusterCacheNodeArgs) ElementType() reflect.Type

func (ClusterCacheNodeArgs) ToClusterCacheNodeOutput

func (i ClusterCacheNodeArgs) ToClusterCacheNodeOutput() ClusterCacheNodeOutput

func (ClusterCacheNodeArgs) ToClusterCacheNodeOutputWithContext

func (i ClusterCacheNodeArgs) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput

type ClusterCacheNodeArray

type ClusterCacheNodeArray []ClusterCacheNodeInput

func (ClusterCacheNodeArray) ElementType

func (ClusterCacheNodeArray) ElementType() reflect.Type

func (ClusterCacheNodeArray) ToClusterCacheNodeArrayOutput

func (i ClusterCacheNodeArray) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput

func (ClusterCacheNodeArray) ToClusterCacheNodeArrayOutputWithContext

func (i ClusterCacheNodeArray) ToClusterCacheNodeArrayOutputWithContext(ctx context.Context) ClusterCacheNodeArrayOutput

type ClusterCacheNodeArrayInput

type ClusterCacheNodeArrayInput interface {
	pulumi.Input

	ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput
	ToClusterCacheNodeArrayOutputWithContext(context.Context) ClusterCacheNodeArrayOutput
}

type ClusterCacheNodeArrayOutput

type ClusterCacheNodeArrayOutput struct{ *pulumi.OutputState }

func (ClusterCacheNodeArrayOutput) ElementType

func (ClusterCacheNodeArrayOutput) Index

func (ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput

func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput

func (ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext

func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext(ctx context.Context) ClusterCacheNodeArrayOutput

type ClusterCacheNodeInput

type ClusterCacheNodeInput interface {
	pulumi.Input

	ToClusterCacheNodeOutput() ClusterCacheNodeOutput
	ToClusterCacheNodeOutputWithContext(context.Context) ClusterCacheNodeOutput
}

type ClusterCacheNodeOutput

type ClusterCacheNodeOutput struct{ *pulumi.OutputState }

func (ClusterCacheNodeOutput) Address

func (ClusterCacheNodeOutput) AvailabilityZone

func (o ClusterCacheNodeOutput) AvailabilityZone() pulumi.StringPtrOutput

The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone.

func (ClusterCacheNodeOutput) ElementType

func (ClusterCacheNodeOutput) ElementType() reflect.Type

func (ClusterCacheNodeOutput) Id

func (ClusterCacheNodeOutput) Port

The 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. Cannot be provided with `replicationGroupId`.

func (ClusterCacheNodeOutput) ToClusterCacheNodeOutput

func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutput() ClusterCacheNodeOutput

func (ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext

func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput

type ClusterState

type ClusterState struct {
	// Specifies whether any database modifications
	// are applied immediately, or during the next maintenance window. Default is
	// `false`. See [Amazon ElastiCache Documentation for more information.][1]
	// (Available since v0.6.0)
	ApplyImmediately pulumi.BoolPtrInput
	Arn              pulumi.StringPtrInput
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone.
	AvailabilityZone pulumi.StringPtrInput
	// Specifies 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`, `numCacheNodes` must be greater than `1`
	AzMode pulumi.StringPtrInput
	// List of node objects including `id`, `address`, `port` and `availabilityZone`.
	// Referenceable e.g. as `${aws_elasticache_cluster.bar.cache_nodes.0.address}`
	CacheNodes ClusterCacheNodeArrayInput
	// (Memcached only) The DNS name of the cache cluster without the port appended.
	ClusterAddress pulumi.StringPtrInput
	// Group identifier. ElastiCache converts
	// this name to lowercase
	ClusterId pulumi.StringPtrInput
	// (Memcached only) The configuration endpoint to allow host discovery.
	ConfigurationEndpoint pulumi.StringPtrInput
	// Name of the cache engine to be used for this cache cluster.
	// Valid values for this parameter are `memcached` or `redis`
	Engine pulumi.StringPtrInput
	// Version number of the cache engine to be used.
	// See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html)
	// in the AWS Documentation center for supported versions
	EngineVersion pulumi.StringPtrInput
	// 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`
	MaintenanceWindow pulumi.StringPtrInput
	// The compute and memory capacity of the nodes. See
	// [Available Cache Node Types](https://aws.amazon.com/elasticache/details#Available_Cache_Node_Types) for
	// supported node types
	NodeType pulumi.StringPtrInput
	// An Amazon Resource Name (ARN) of an
	// SNS topic to send ElastiCache notifications to. Example:
	// `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrInput
	// The initial number of cache nodes that the
	// cache cluster will have. For Redis, this value must be 1. For Memcache, this
	// value must be between 1 and 20. If this number is reduced on subsequent runs,
	// the highest numbered nodes will be removed.
	NumCacheNodes pulumi.IntPtrInput
	// Name of the parameter group to associate
	// with this cache cluster
	ParameterGroupName pulumi.StringPtrInput
	// The 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. Cannot be provided with `replicationGroupId`.
	Port pulumi.IntPtrInput
	// A 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 `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` 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.
	PreferredAvailabilityZones pulumi.StringArrayInput
	// The 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.
	ReplicationGroupId pulumi.StringPtrInput
	// One or more VPC security groups associated
	// with the cache cluster
	SecurityGroupIds pulumi.StringArrayInput
	// List of security group
	// names to associate with this cache cluster
	SecurityGroupNames pulumi.StringArrayInput
	// A single-element string list containing an
	// Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
	// Example: `arn:aws:s3:::my_bucket/snapshot1.rdb`
	SnapshotArns pulumi.StringArrayInput
	// The name of a snapshot from which to restore data into the new node group.  Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// The 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 or cache.t2.* cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// The daily time range (in UTC) during which ElastiCache will
	// begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00
	SnapshotWindow pulumi.StringPtrInput
	// Name of the subnet group to be used
	// for the cache cluster.
	SubnetGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource
	Tags pulumi.MapInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type GetClusterCacheNode

type GetClusterCacheNode struct {
	Address string `pulumi:"address"`
	// The Availability Zone for the cache cluster.
	AvailabilityZone string `pulumi:"availabilityZone"`
	Id               string `pulumi:"id"`
	// The port number on which each of the cache nodes will
	// accept connections.
	Port int `pulumi:"port"`
}

type GetClusterCacheNodeArgs

type GetClusterCacheNodeArgs struct {
	Address pulumi.StringInput `pulumi:"address"`
	// The Availability Zone for the cache cluster.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	Id               pulumi.StringInput `pulumi:"id"`
	// The port number on which each of the cache nodes will
	// accept connections.
	Port pulumi.IntInput `pulumi:"port"`
}

func (GetClusterCacheNodeArgs) ElementType

func (GetClusterCacheNodeArgs) ElementType() reflect.Type

func (GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutput

func (i GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput

func (GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutputWithContext

func (i GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutputWithContext(ctx context.Context) GetClusterCacheNodeOutput

type GetClusterCacheNodeArray

type GetClusterCacheNodeArray []GetClusterCacheNodeInput

func (GetClusterCacheNodeArray) ElementType

func (GetClusterCacheNodeArray) ElementType() reflect.Type

func (GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutput

func (i GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput

func (GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutputWithContext

func (i GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutputWithContext(ctx context.Context) GetClusterCacheNodeArrayOutput

type GetClusterCacheNodeArrayInput

type GetClusterCacheNodeArrayInput interface {
	pulumi.Input

	ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput
	ToGetClusterCacheNodeArrayOutputWithContext(context.Context) GetClusterCacheNodeArrayOutput
}

type GetClusterCacheNodeArrayOutput

type GetClusterCacheNodeArrayOutput struct{ *pulumi.OutputState }

func (GetClusterCacheNodeArrayOutput) ElementType

func (GetClusterCacheNodeArrayOutput) Index

func (GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput

func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput

func (GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext

func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext(ctx context.Context) GetClusterCacheNodeArrayOutput

type GetClusterCacheNodeInput

type GetClusterCacheNodeInput interface {
	pulumi.Input

	ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput
	ToGetClusterCacheNodeOutputWithContext(context.Context) GetClusterCacheNodeOutput
}

type GetClusterCacheNodeOutput

type GetClusterCacheNodeOutput struct{ *pulumi.OutputState }

func (GetClusterCacheNodeOutput) Address

func (GetClusterCacheNodeOutput) AvailabilityZone

func (o GetClusterCacheNodeOutput) AvailabilityZone() pulumi.StringOutput

The Availability Zone for the cache cluster.

func (GetClusterCacheNodeOutput) ElementType

func (GetClusterCacheNodeOutput) ElementType() reflect.Type

func (GetClusterCacheNodeOutput) Id

func (GetClusterCacheNodeOutput) Port

The port number on which each of the cache nodes will accept connections.

func (GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput

func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput

func (GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext

func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext(ctx context.Context) GetClusterCacheNodeOutput

type LookupClusterArgs

type LookupClusterArgs struct {
	// Group identifier.
	ClusterId string `pulumi:"clusterId"`
	// The tags assigned to the resource
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of arguments for invoking getCluster.

type LookupClusterResult

type LookupClusterResult struct {
	Arn string `pulumi:"arn"`
	// The Availability Zone for the cache cluster.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// List of node objects including `id`, `address`, `port` and `availabilityZone`.
	// Referenceable e.g. as `${data.aws_elasticache_cluster.bar.cache_nodes.0.address}`
	CacheNodes []GetClusterCacheNode `pulumi:"cacheNodes"`
	// (Memcached only) The DNS name of the cache cluster without the port appended.
	ClusterAddress string `pulumi:"clusterAddress"`
	ClusterId      string `pulumi:"clusterId"`
	// (Memcached only) The configuration endpoint to allow host discovery.
	ConfigurationEndpoint string `pulumi:"configurationEndpoint"`
	// Name of the cache engine.
	Engine string `pulumi:"engine"`
	// Version number of the cache engine.
	EngineVersion string `pulumi:"engineVersion"`
	// id is the provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Specifies the weekly time range for when maintenance
	// on the cache cluster is performed.
	MaintenanceWindow string `pulumi:"maintenanceWindow"`
	// The cluster node type.
	NodeType string `pulumi:"nodeType"`
	// An Amazon Resource Name (ARN) of an
	// SNS topic that ElastiCache notifications get sent to.
	NotificationTopicArn string `pulumi:"notificationTopicArn"`
	// The number of cache nodes that the cache cluster has.
	NumCacheNodes int `pulumi:"numCacheNodes"`
	// Name of the parameter group associated with this cache cluster.
	ParameterGroupName string `pulumi:"parameterGroupName"`
	// The port number on which each of the cache nodes will
	// accept connections.
	Port int `pulumi:"port"`
	// The replication group to which this cache cluster belongs.
	ReplicationGroupId string `pulumi:"replicationGroupId"`
	// List VPC security groups associated with the cache cluster.
	SecurityGroupIds []string `pulumi:"securityGroupIds"`
	// List of security group names associated with this cache cluster.
	SecurityGroupNames []string `pulumi:"securityGroupNames"`
	// The number of days for which ElastiCache will
	// retain automatic cache cluster snapshots before deleting them.
	SnapshotRetentionLimit int `pulumi:"snapshotRetentionLimit"`
	// The daily time range (in UTC) during which ElastiCache will
	// begin taking a daily snapshot of the cache cluster.
	SnapshotWindow string `pulumi:"snapshotWindow"`
	// Name of the subnet group associated to the cache cluster.
	SubnetGroupName string `pulumi:"subnetGroupName"`
	// The tags assigned to the resource
	Tags map[string]interface{} `pulumi:"tags"`
}

A collection of values returned by getCluster.

func LookupCluster

func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)

Use this data source to get information about an Elasticache Cluster

type LookupReplicationGroupArgs

type LookupReplicationGroupArgs struct {
	// The identifier for the replication group.
	ReplicationGroupId string `pulumi:"replicationGroupId"`
}

A collection of arguments for invoking getReplicationGroup.

type LookupReplicationGroupResult

type LookupReplicationGroupResult struct {
	// A flag that enables using an AuthToken (password) when issuing Redis commands.
	AuthTokenEnabled bool `pulumi:"authTokenEnabled"`
	// A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
	AutomaticFailoverEnabled bool `pulumi:"automaticFailoverEnabled"`
	// The configuration endpoint address to allow host discovery.
	ConfigurationEndpointAddress string `pulumi:"configurationEndpointAddress"`
	// id is the provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The identifiers of all the nodes that are part of this replication group.
	MemberClusters []string `pulumi:"memberClusters"`
	// The cluster node type.
	NodeType string `pulumi:"nodeType"`
	// The number of cache clusters that the replication group has.
	NumberCacheClusters int `pulumi:"numberCacheClusters"`
	// The port number on which the configuration endpoint will accept connections.
	Port int `pulumi:"port"`
	// The endpoint of the primary node in this node group (shard).
	PrimaryEndpointAddress string `pulumi:"primaryEndpointAddress"`
	// The description of the replication group.
	ReplicationGroupDescription string `pulumi:"replicationGroupDescription"`
	// The identifier for the replication group.
	ReplicationGroupId string `pulumi:"replicationGroupId"`
	// The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
	SnapshotRetentionLimit int `pulumi:"snapshotRetentionLimit"`
	// The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
	SnapshotWindow string `pulumi:"snapshotWindow"`
}

A collection of values returned by getReplicationGroup.

func LookupReplicationGroup

func LookupReplicationGroup(ctx *pulumi.Context, args *LookupReplicationGroupArgs, opts ...pulumi.InvokeOption) (*LookupReplicationGroupResult, error)

Use this data source to get information about an Elasticache Replication Group.

type ParameterGroup

type ParameterGroup struct {
	pulumi.CustomResourceState

	// The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The family of the ElastiCache parameter group.
	Family pulumi.StringOutput `pulumi:"family"`
	// The name of the ElastiCache parameter.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of ElastiCache parameters to apply.
	Parameters ParameterGroupParameterArrayOutput `pulumi:"parameters"`
}

Provides an ElastiCache parameter group resource.

> **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue.

func GetParameterGroup

func GetParameterGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ParameterGroupState, opts ...pulumi.ResourceOption) (*ParameterGroup, error)

GetParameterGroup gets an existing ParameterGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewParameterGroup

func NewParameterGroup(ctx *pulumi.Context,
	name string, args *ParameterGroupArgs, opts ...pulumi.ResourceOption) (*ParameterGroup, error)

NewParameterGroup registers a new resource with the given unique name, arguments, and options.

type ParameterGroupArgs

type ParameterGroupArgs struct {
	// The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the ElastiCache parameter group.
	Family pulumi.StringInput
	// The name of the ElastiCache parameter.
	Name pulumi.StringPtrInput
	// A list of ElastiCache parameters to apply.
	Parameters ParameterGroupParameterArrayInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupParameter

type ParameterGroupParameter struct {
	// The name of the ElastiCache parameter.
	Name string `pulumi:"name"`
	// The value of the ElastiCache parameter.
	Value string `pulumi:"value"`
}

type ParameterGroupParameterArgs

type ParameterGroupParameterArgs struct {
	// The name of the ElastiCache parameter.
	Name pulumi.StringInput `pulumi:"name"`
	// The value of the ElastiCache parameter.
	Value pulumi.StringInput `pulumi:"value"`
}

func (ParameterGroupParameterArgs) ElementType

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutput

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput

type ParameterGroupParameterArray

type ParameterGroupParameterArray []ParameterGroupParameterInput

func (ParameterGroupParameterArray) ElementType

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput

type ParameterGroupParameterArrayInput

type ParameterGroupParameterArrayInput interface {
	pulumi.Input

	ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
	ToParameterGroupParameterArrayOutputWithContext(context.Context) ParameterGroupParameterArrayOutput
}

type ParameterGroupParameterArrayOutput

type ParameterGroupParameterArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupParameterArrayOutput) ElementType

func (ParameterGroupParameterArrayOutput) Index

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput

type ParameterGroupParameterInput

type ParameterGroupParameterInput interface {
	pulumi.Input

	ToParameterGroupParameterOutput() ParameterGroupParameterOutput
	ToParameterGroupParameterOutputWithContext(context.Context) ParameterGroupParameterOutput
}

type ParameterGroupParameterOutput

type ParameterGroupParameterOutput struct{ *pulumi.OutputState }

func (ParameterGroupParameterOutput) ElementType

func (ParameterGroupParameterOutput) Name

The name of the ElastiCache parameter.

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutput

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) Value

The value of the ElastiCache parameter.

type ParameterGroupState

type ParameterGroupState struct {
	// The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the ElastiCache parameter group.
	Family pulumi.StringPtrInput
	// The name of the ElastiCache parameter.
	Name pulumi.StringPtrInput
	// A list of ElastiCache parameters to apply.
	Parameters ParameterGroupParameterArrayInput
}

func (ParameterGroupState) ElementType

func (ParameterGroupState) ElementType() reflect.Type

type ReplicationGroup

type ReplicationGroup struct {
	pulumi.CustomResourceState

	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"`
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"atRestEncryptionEnabled"`
	// The password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.
	AuthToken pulumi.StringPtrOutput `pulumi:"authToken"`
	// Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrOutput `pulumi:"autoMinorVersionUpgrade"`
	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.
	AutomaticFailoverEnabled pulumi.BoolPtrOutput `pulumi:"automaticFailoverEnabled"`
	// A 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 not important.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// Create a native redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed.
	ClusterMode ReplicationGroupClusterModeOutput `pulumi:"clusterMode"`
	// The address of the replication group configuration endpoint when cluster mode is enabled.
	ConfigurationEndpointAddress pulumi.StringOutput `pulumi:"configurationEndpointAddress"`
	// The name of the cache engine to be used for the clusters in this replication group. e.g. `redis`
	Engine pulumi.StringPtrOutput `pulumi:"engine"`
	// The version number of the cache engine to be used for the cache clusters in this replication group.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// 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`.
	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	// 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`
	MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"`
	// The identifiers of all the nodes that are part of this replication group.
	MemberClusters pulumi.StringArrayOutput `pulumi:"memberClusters"`
	// The compute and memory capacity of the nodes in the node group.
	NodeType pulumi.StringOutput `pulumi:"nodeType"`
	// An Amazon Resource Name (ARN) of an
	// SNS topic to send ElastiCache notifications to. Example:
	// `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"`
	// The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications.
	NumberCacheClusters pulumi.IntOutput `pulumi:"numberCacheClusters"`
	// The 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.
	ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"`
	// The 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.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// (Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
	PrimaryEndpointAddress pulumi.StringOutput `pulumi:"primaryEndpointAddress"`
	// A user-created description for the replication group.
	ReplicationGroupDescription pulumi.StringOutput `pulumi:"replicationGroupDescription"`
	// The replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"`
	// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// A list of cache security group names to associate with this replication group.
	SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"`
	// A single-element string list containing an
	// Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
	// Example: `arn:aws:s3:::my_bucket/snapshot1.rdb`
	SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"`
	// The name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"`
	// The 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 or cache.t2.* cache nodes
	SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"`
	// The 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`
	SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"`
	// The name of the cache subnet group to be used for the replication group.
	SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"`
	// A mapping of tags to assign to the resource
	Tags pulumi.MapOutput `pulumi:"tags"`
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"transitEncryptionEnabled"`
}

Provides an ElastiCache Replication Group resource. For working with Memcached or single primary Redis instances (Cluster Mode Disabled), see the [`elasticache.Cluster` resource](https://www.terraform.io/docs/providers/aws/r/elasticache_cluster.html).

> **Note:** When you change an attribute, such as `engineVersion`, by default the ElastiCache API applies it in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately. Using `applyImmediately` can result in a brief downtime as servers reboots.

func GetReplicationGroup

func GetReplicationGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ReplicationGroupState, opts ...pulumi.ResourceOption) (*ReplicationGroup, error)

GetReplicationGroup gets an existing ReplicationGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewReplicationGroup

func NewReplicationGroup(ctx *pulumi.Context,
	name string, args *ReplicationGroupArgs, opts ...pulumi.ResourceOption) (*ReplicationGroup, error)

NewReplicationGroup registers a new resource with the given unique name, arguments, and options.

type ReplicationGroupArgs

type ReplicationGroupArgs struct {
	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrInput
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled pulumi.BoolPtrInput
	// The password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.
	AuthToken pulumi.StringPtrInput
	// Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.
	AutomaticFailoverEnabled pulumi.BoolPtrInput
	// A 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 not important.
	AvailabilityZones pulumi.StringArrayInput
	// Create a native redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed.
	ClusterMode ReplicationGroupClusterModePtrInput
	// The name of the cache engine to be used for the clusters in this replication group. e.g. `redis`
	Engine pulumi.StringPtrInput
	// The version number of the cache engine to be used for the cache clusters in this replication group.
	EngineVersion pulumi.StringPtrInput
	// 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`.
	KmsKeyId pulumi.StringPtrInput
	// 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`
	MaintenanceWindow pulumi.StringPtrInput
	// The compute and memory capacity of the nodes in the node group.
	NodeType pulumi.StringPtrInput
	// An Amazon Resource Name (ARN) of an
	// SNS topic to send ElastiCache notifications to. Example:
	// `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrInput
	// The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications.
	NumberCacheClusters pulumi.IntPtrInput
	// The 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.
	ParameterGroupName pulumi.StringPtrInput
	// The 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.
	Port pulumi.IntPtrInput
	// A user-created description for the replication group.
	ReplicationGroupDescription pulumi.StringInput
	// The replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId pulumi.StringPtrInput
	// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud
	SecurityGroupIds pulumi.StringArrayInput
	// A list of cache security group names to associate with this replication group.
	SecurityGroupNames pulumi.StringArrayInput
	// A single-element string list containing an
	// Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
	// Example: `arn:aws:s3:::my_bucket/snapshot1.rdb`
	SnapshotArns pulumi.StringArrayInput
	// The name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// The 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 or cache.t2.* cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// The 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`
	SnapshotWindow pulumi.StringPtrInput
	// The name of the cache subnet group to be used for the replication group.
	SubnetGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource
	Tags pulumi.MapInput
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled pulumi.BoolPtrInput
}

The set of arguments for constructing a ReplicationGroup resource.

func (ReplicationGroupArgs) ElementType

func (ReplicationGroupArgs) ElementType() reflect.Type

type ReplicationGroupClusterMode

type ReplicationGroupClusterMode struct {
	// Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications.
	NumNodeGroups int `pulumi:"numNodeGroups"`
	// Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will force a new resource.
	ReplicasPerNodeGroup int `pulumi:"replicasPerNodeGroup"`
}

type ReplicationGroupClusterModeArgs

type ReplicationGroupClusterModeArgs struct {
	// Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications.
	NumNodeGroups pulumi.IntInput `pulumi:"numNodeGroups"`
	// Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will force a new resource.
	ReplicasPerNodeGroup pulumi.IntInput `pulumi:"replicasPerNodeGroup"`
}

func (ReplicationGroupClusterModeArgs) ElementType

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput

func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext

func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput

func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext

func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput

type ReplicationGroupClusterModeInput

type ReplicationGroupClusterModeInput interface {
	pulumi.Input

	ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
	ToReplicationGroupClusterModeOutputWithContext(context.Context) ReplicationGroupClusterModeOutput
}

type ReplicationGroupClusterModeOutput

type ReplicationGroupClusterModeOutput struct{ *pulumi.OutputState }

func (ReplicationGroupClusterModeOutput) ElementType

func (ReplicationGroupClusterModeOutput) NumNodeGroups

Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications.

func (ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup

func (o ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup() pulumi.IntOutput

Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will force a new resource.

func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutput

func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput

func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutputWithContext

func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput

func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutput

func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput

func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutputWithContext

func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput

type ReplicationGroupClusterModePtrInput

type ReplicationGroupClusterModePtrInput interface {
	pulumi.Input

	ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
	ToReplicationGroupClusterModePtrOutputWithContext(context.Context) ReplicationGroupClusterModePtrOutput
}

type ReplicationGroupClusterModePtrOutput

type ReplicationGroupClusterModePtrOutput struct{ *pulumi.OutputState }

func (ReplicationGroupClusterModePtrOutput) Elem

func (ReplicationGroupClusterModePtrOutput) ElementType

func (ReplicationGroupClusterModePtrOutput) NumNodeGroups

Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications.

func (ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup

func (o ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup() pulumi.IntOutput

Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will force a new resource.

func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput

func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput

func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext

func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput

type ReplicationGroupState

type ReplicationGroupState struct {
	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrInput
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled pulumi.BoolPtrInput
	// The password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.
	AuthToken pulumi.StringPtrInput
	// Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.
	AutomaticFailoverEnabled pulumi.BoolPtrInput
	// A 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 not important.
	AvailabilityZones pulumi.StringArrayInput
	// Create a native redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed.
	ClusterMode ReplicationGroupClusterModePtrInput
	// The address of the replication group configuration endpoint when cluster mode is enabled.
	ConfigurationEndpointAddress pulumi.StringPtrInput
	// The name of the cache engine to be used for the clusters in this replication group. e.g. `redis`
	Engine pulumi.StringPtrInput
	// The version number of the cache engine to be used for the cache clusters in this replication group.
	EngineVersion pulumi.StringPtrInput
	// 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`.
	KmsKeyId pulumi.StringPtrInput
	// 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`
	MaintenanceWindow pulumi.StringPtrInput
	// The identifiers of all the nodes that are part of this replication group.
	MemberClusters pulumi.StringArrayInput
	// The compute and memory capacity of the nodes in the node group.
	NodeType pulumi.StringPtrInput
	// An Amazon Resource Name (ARN) of an
	// SNS topic to send ElastiCache notifications to. Example:
	// `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrInput
	// The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications.
	NumberCacheClusters pulumi.IntPtrInput
	// The 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.
	ParameterGroupName pulumi.StringPtrInput
	// The 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.
	Port pulumi.IntPtrInput
	// (Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
	PrimaryEndpointAddress pulumi.StringPtrInput
	// A user-created description for the replication group.
	ReplicationGroupDescription pulumi.StringPtrInput
	// The replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId pulumi.StringPtrInput
	// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud
	SecurityGroupIds pulumi.StringArrayInput
	// A list of cache security group names to associate with this replication group.
	SecurityGroupNames pulumi.StringArrayInput
	// A single-element string list containing an
	// Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3.
	// Example: `arn:aws:s3:::my_bucket/snapshot1.rdb`
	SnapshotArns pulumi.StringArrayInput
	// The name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// The 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 or cache.t2.* cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// The 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`
	SnapshotWindow pulumi.StringPtrInput
	// The name of the cache subnet group to be used for the replication group.
	SubnetGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource
	Tags pulumi.MapInput
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled pulumi.BoolPtrInput
}

func (ReplicationGroupState) ElementType

func (ReplicationGroupState) ElementType() reflect.Type

type SecurityGroup

type SecurityGroup struct {
	pulumi.CustomResourceState

	// description for the cache security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// Name for the cache security group. This value is stored as a lowercase string.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of EC2 security group names to be
	// authorized for ingress to the cache security group
	SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"`
}

Provides an ElastiCache Security Group to control access to one or more cache clusters.

> **NOTE:** ElastiCache Security Groups are for use only when working with an ElastiCache cluster **outside** of a VPC. If you are using a VPC, see the ElastiCache Subnet Group resource.

func GetSecurityGroup

func GetSecurityGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SecurityGroupState, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

GetSecurityGroup gets an existing SecurityGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSecurityGroup

func NewSecurityGroup(ctx *pulumi.Context,
	name string, args *SecurityGroupArgs, opts ...pulumi.ResourceOption) (*SecurityGroup, error)

NewSecurityGroup registers a new resource with the given unique name, arguments, and options.

type SecurityGroupArgs

type SecurityGroupArgs struct {
	// description for the cache security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Name for the cache security group. This value is stored as a lowercase string.
	Name pulumi.StringPtrInput
	// List of EC2 security group names to be
	// authorized for ingress to the cache security group
	SecurityGroupNames pulumi.StringArrayInput
}

The set of arguments for constructing a SecurityGroup resource.

func (SecurityGroupArgs) ElementType

func (SecurityGroupArgs) ElementType() reflect.Type

type SecurityGroupState

type SecurityGroupState struct {
	// description for the cache security group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Name for the cache security group. This value is stored as a lowercase string.
	Name pulumi.StringPtrInput
	// List of EC2 security group names to be
	// authorized for ingress to the cache security group
	SecurityGroupNames pulumi.StringArrayInput
}

func (SecurityGroupState) ElementType

func (SecurityGroupState) ElementType() reflect.Type

type SubnetGroup

type SubnetGroup struct {
	pulumi.CustomResourceState

	// Description for the cache subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// Name for the cache subnet group. Elasticache converts this name to lowercase.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of VPC Subnet IDs for the cache subnet group
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
}

Provides an ElastiCache Subnet Group resource.

> **NOTE:** ElastiCache Subnet Groups are only for use when working with an ElastiCache cluster **inside** of a VPC. If you are on EC2 Classic, see the ElastiCache Security Group resource.

func GetSubnetGroup

func GetSubnetGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SubnetGroupState, opts ...pulumi.ResourceOption) (*SubnetGroup, error)

GetSubnetGroup gets an existing SubnetGroup resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSubnetGroup

func NewSubnetGroup(ctx *pulumi.Context,
	name string, args *SubnetGroupArgs, opts ...pulumi.ResourceOption) (*SubnetGroup, error)

NewSubnetGroup registers a new resource with the given unique name, arguments, and options.

type SubnetGroupArgs

type SubnetGroupArgs struct {
	// Description for the cache subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Name for the cache subnet group. Elasticache converts this name to lowercase.
	Name pulumi.StringPtrInput
	// List of VPC Subnet IDs for the cache subnet group
	SubnetIds pulumi.StringArrayInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupState

type SubnetGroupState struct {
	// Description for the cache subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Name for the cache subnet group. Elasticache converts this name to lowercase.
	Name pulumi.StringPtrInput
	// List of VPC Subnet IDs for the cache subnet group
	SubnetIds pulumi.StringArrayInput
}

func (SubnetGroupState) ElementType

func (SubnetGroupState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL