elasticache

package
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2019 License: Apache-2.0 Imports: 2 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 {
	// contains filtered or unexported fields
}

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

> **Note:** When you change an attribute, such as `node_type`, by default it is applied in the next maintenance window. Because of this, Terraform may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `apply_immediately` flag to instruct the service to apply the change immediately. Using `apply_immediately` 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.ID, state *ClusterState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*Cluster, error)

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

func (*Cluster) ApplyImmediately

func (r *Cluster) ApplyImmediately() *pulumi.BoolOutput

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)

func (*Cluster) AvailabilityZone

func (r *Cluster) AvailabilityZone() *pulumi.StringOutput

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

func (*Cluster) AzMode

func (r *Cluster) AzMode() *pulumi.StringOutput

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`, `num_cache_nodes` must be greater than `1`

func (*Cluster) CacheNodes

func (r *Cluster) CacheNodes() *pulumi.ArrayOutput

List of node objects including `id`, `address`, `port` and `availability_zone`. Referenceable e.g. as `${aws_elasticache_cluster.bar.cache_nodes.0.address}`

func (*Cluster) ClusterAddress

func (r *Cluster) ClusterAddress() *pulumi.StringOutput

(Memcached only) The DNS name of the cache cluster without the port appended.

func (*Cluster) ClusterId

func (r *Cluster) ClusterId() *pulumi.StringOutput

Group identifier. ElastiCache converts this name to lowercase

func (*Cluster) ConfigurationEndpoint

func (r *Cluster) ConfigurationEndpoint() *pulumi.StringOutput

(Memcached only) The configuration endpoint to allow host discovery.

func (*Cluster) Engine

func (r *Cluster) Engine() *pulumi.StringOutput

Name of the cache engine to be used for this cache cluster. Valid values for this parameter are `memcached` or `redis`

func (*Cluster) EngineVersion

func (r *Cluster) EngineVersion() *pulumi.StringOutput

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

func (*Cluster) ID

func (r *Cluster) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*Cluster) MaintenanceWindow

func (r *Cluster) MaintenanceWindow() *pulumi.StringOutput

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`

func (*Cluster) NodeType

func (r *Cluster) NodeType() *pulumi.StringOutput

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

func (*Cluster) NotificationTopicArn

func (r *Cluster) NotificationTopicArn() *pulumi.StringOutput

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`

func (*Cluster) NumCacheNodes

func (r *Cluster) NumCacheNodes() *pulumi.IntOutput

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.

func (*Cluster) ParameterGroupName

func (r *Cluster) ParameterGroupName() *pulumi.StringOutput

Name of the parameter group to associate with this cache cluster

func (*Cluster) Port

func (r *Cluster) Port() *pulumi.IntOutput

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 `replication_group_id`.

func (*Cluster) PreferredAvailabilityZones added in v0.14.1

func (r *Cluster) PreferredAvailabilityZones() *pulumi.ArrayOutput

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 `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.

func (*Cluster) ReplicationGroupId

func (r *Cluster) ReplicationGroupId() *pulumi.StringOutput

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.

func (*Cluster) SecurityGroupIds

func (r *Cluster) SecurityGroupIds() *pulumi.ArrayOutput

One or more VPC security groups associated with the cache cluster

func (*Cluster) SecurityGroupNames

func (r *Cluster) SecurityGroupNames() *pulumi.ArrayOutput

List of security group names to associate with this cache cluster

func (*Cluster) SnapshotArns

func (r *Cluster) SnapshotArns() *pulumi.ArrayOutput

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`

func (*Cluster) SnapshotName

func (r *Cluster) SnapshotName() *pulumi.StringOutput

The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource.

func (*Cluster) SnapshotRetentionLimit

func (r *Cluster) SnapshotRetentionLimit() *pulumi.IntOutput

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 `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes

func (*Cluster) SnapshotWindow

func (r *Cluster) SnapshotWindow() *pulumi.StringOutput

The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00

func (*Cluster) SubnetGroupName

func (r *Cluster) SubnetGroupName() *pulumi.StringOutput

Name of the subnet group to be used for the cache cluster.

func (*Cluster) Tags

func (r *Cluster) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource

func (*Cluster) URN

func (r *Cluster) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

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 interface{}
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferred_availability_zones` instead. Default: System chosen Availability Zone.
	AvailabilityZone interface{}
	// 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`, `num_cache_nodes` must be greater than `1`
	AzMode interface{}
	// Group identifier. ElastiCache converts
	// this name to lowercase
	ClusterId interface{}
	// Name of the cache engine to be used for this cache cluster.
	// Valid values for this parameter are `memcached` or `redis`
	Engine interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// Name of the parameter group to associate
	// with this cache cluster
	ParameterGroupName interface{}
	// 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 `replication_group_id`.
	Port interface{}
	// 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 `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones interface{}
	// 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 interface{}
	// One or more VPC security groups associated
	// with the cache cluster
	SecurityGroupIds interface{}
	// List of security group
	// names to associate with this cache cluster
	SecurityGroupNames interface{}
	// 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 interface{}
	// The name of a snapshot from which to restore data into the new node group.  Changing the `snapshot_name` forces a new resource.
	SnapshotName interface{}
	// 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 `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes
	SnapshotRetentionLimit interface{}
	// 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 interface{}
	// Name of the subnet group to be used
	// for the cache cluster.
	SubnetGroupName interface{}
	// A mapping of tags to assign to the resource
	Tags interface{}
}

The set of arguments for constructing a Cluster resource.

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 interface{}
	// The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferred_availability_zones` instead. Default: System chosen Availability Zone.
	AvailabilityZone interface{}
	// 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`, `num_cache_nodes` must be greater than `1`
	AzMode interface{}
	// List of node objects including `id`, `address`, `port` and `availability_zone`.
	// Referenceable e.g. as `${aws_elasticache_cluster.bar.cache_nodes.0.address}`
	CacheNodes interface{}
	// (Memcached only) The DNS name of the cache cluster without the port appended.
	ClusterAddress interface{}
	// Group identifier. ElastiCache converts
	// this name to lowercase
	ClusterId interface{}
	// (Memcached only) The configuration endpoint to allow host discovery.
	ConfigurationEndpoint interface{}
	// Name of the cache engine to be used for this cache cluster.
	// Valid values for this parameter are `memcached` or `redis`
	Engine interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// Name of the parameter group to associate
	// with this cache cluster
	ParameterGroupName interface{}
	// 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 `replication_group_id`.
	Port interface{}
	// 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 `num_cache_nodes`. If you want all the nodes in the same Availability Zone, use `availability_zone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones interface{}
	// 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 interface{}
	// One or more VPC security groups associated
	// with the cache cluster
	SecurityGroupIds interface{}
	// List of security group
	// names to associate with this cache cluster
	SecurityGroupNames interface{}
	// 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 interface{}
	// The name of a snapshot from which to restore data into the new node group.  Changing the `snapshot_name` forces a new resource.
	SnapshotName interface{}
	// 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 `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes
	SnapshotRetentionLimit interface{}
	// 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 interface{}
	// Name of the subnet group to be used
	// for the cache cluster.
	SubnetGroupName interface{}
	// A mapping of tags to assign to the resource
	Tags interface{}
}

Input properties used for looking up and filtering Cluster resources.

type GetClusterArgs

type GetClusterArgs struct {
	// Group identifier.
	ClusterId interface{}
	Tags      interface{}
}

A collection of arguments for invoking getCluster.

type GetClusterResult

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

A collection of values returned by getCluster.

func LookupCluster

func LookupCluster(ctx *pulumi.Context, args *GetClusterArgs) (*GetClusterResult, error)

Use this data source to get information about an Elasticache Cluster

type GetReplicationGroupArgs

type GetReplicationGroupArgs struct {
	// The identifier for the replication group.
	ReplicationGroupId interface{}
}

A collection of arguments for invoking getReplicationGroup.

type GetReplicationGroupResult

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

A collection of values returned by getReplicationGroup.

func LookupReplicationGroup

func LookupReplicationGroup(ctx *pulumi.Context, args *GetReplicationGroupArgs) (*GetReplicationGroupResult, error)

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

type ParameterGroup

type ParameterGroup struct {
	// contains filtered or unexported fields
}

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 Terraform 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.ID, state *ParameterGroupState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*ParameterGroup, error)

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

func (*ParameterGroup) Description

func (r *ParameterGroup) Description() *pulumi.StringOutput

The description of the ElastiCache parameter group. Defaults to "Managed by Terraform".

func (*ParameterGroup) Family

func (r *ParameterGroup) Family() *pulumi.StringOutput

The family of the ElastiCache parameter group.

func (*ParameterGroup) ID

func (r *ParameterGroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*ParameterGroup) Name

func (r *ParameterGroup) Name() *pulumi.StringOutput

The name of the ElastiCache parameter.

func (*ParameterGroup) Parameters

func (r *ParameterGroup) Parameters() *pulumi.ArrayOutput

A list of ElastiCache parameters to apply.

func (*ParameterGroup) URN

func (r *ParameterGroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ParameterGroupArgs

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

The set of arguments for constructing a ParameterGroup resource.

type ParameterGroupState

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

Input properties used for looking up and filtering ParameterGroup resources.

type ReplicationGroup

type ReplicationGroup struct {
	// contains filtered or unexported fields
}

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

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

func GetReplicationGroup

func GetReplicationGroup(ctx *pulumi.Context,
	name string, id pulumi.ID, state *ReplicationGroupState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*ReplicationGroup, error)

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

func (*ReplicationGroup) ApplyImmediately

func (r *ReplicationGroup) ApplyImmediately() *pulumi.BoolOutput

Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.

func (*ReplicationGroup) AtRestEncryptionEnabled

func (r *ReplicationGroup) AtRestEncryptionEnabled() *pulumi.BoolOutput

Whether to enable encryption at rest.

func (*ReplicationGroup) AuthToken

func (r *ReplicationGroup) AuthToken() *pulumi.StringOutput

The password used to access a password protected server. Can be specified only if `transit_encryption_enabled = true`.

func (*ReplicationGroup) AutoMinorVersionUpgrade

func (r *ReplicationGroup) AutoMinorVersionUpgrade() *pulumi.BoolOutput

Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`.

func (*ReplicationGroup) AutomaticFailoverEnabled

func (r *ReplicationGroup) AutomaticFailoverEnabled() *pulumi.BoolOutput

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`.

func (*ReplicationGroup) AvailabilityZones

func (r *ReplicationGroup) AvailabilityZones() *pulumi.ArrayOutput

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.

func (*ReplicationGroup) ClusterMode

func (r *ReplicationGroup) ClusterMode() *pulumi.Output

Create a native redis cluster. `automatic_failover_enabled` must be set to true. Cluster Mode documented below. Only 1 `cluster_mode` block is allowed.

func (*ReplicationGroup) ConfigurationEndpointAddress

func (r *ReplicationGroup) ConfigurationEndpointAddress() *pulumi.StringOutput

The address of the replication group configuration endpoint when cluster mode is enabled.

func (*ReplicationGroup) Engine

func (r *ReplicationGroup) Engine() *pulumi.StringOutput

The name of the cache engine to be used for the clusters in this replication group. e.g. `redis`

func (*ReplicationGroup) EngineVersion

func (r *ReplicationGroup) EngineVersion() *pulumi.StringOutput

The version number of the cache engine to be used for the cache clusters in this replication group.

func (*ReplicationGroup) ID

func (r *ReplicationGroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*ReplicationGroup) MaintenanceWindow

func (r *ReplicationGroup) MaintenanceWindow() *pulumi.StringOutput

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`

func (*ReplicationGroup) MemberClusters added in v0.14.2

func (r *ReplicationGroup) MemberClusters() *pulumi.ArrayOutput

The identifiers of all the nodes that are part of this replication group.

func (*ReplicationGroup) NodeType

func (r *ReplicationGroup) NodeType() *pulumi.StringOutput

The compute and memory capacity of the nodes in the node group.

func (*ReplicationGroup) NotificationTopicArn

func (r *ReplicationGroup) NotificationTopicArn() *pulumi.StringOutput

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`

func (*ReplicationGroup) NumberCacheClusters

func (r *ReplicationGroup) NumberCacheClusters() *pulumi.IntOutput

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.

func (*ReplicationGroup) ParameterGroupName

func (r *ReplicationGroup) ParameterGroupName() *pulumi.StringOutput

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.

func (*ReplicationGroup) Port

func (r *ReplicationGroup) Port() *pulumi.IntOutput

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.

func (*ReplicationGroup) PrimaryEndpointAddress

func (r *ReplicationGroup) PrimaryEndpointAddress() *pulumi.StringOutput

(Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.

func (*ReplicationGroup) ReplicationGroupDescription

func (r *ReplicationGroup) ReplicationGroupDescription() *pulumi.StringOutput

A user-created description for the replication group.

func (*ReplicationGroup) ReplicationGroupId

func (r *ReplicationGroup) ReplicationGroupId() *pulumi.StringOutput

The replication group identifier. This parameter is stored as a lowercase string.

func (*ReplicationGroup) SecurityGroupIds

func (r *ReplicationGroup) SecurityGroupIds() *pulumi.ArrayOutput

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

func (*ReplicationGroup) SecurityGroupNames

func (r *ReplicationGroup) SecurityGroupNames() *pulumi.ArrayOutput

A list of cache security group names to associate with this replication group.

func (*ReplicationGroup) SnapshotArns

func (r *ReplicationGroup) SnapshotArns() *pulumi.ArrayOutput

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`

func (*ReplicationGroup) SnapshotName

func (r *ReplicationGroup) SnapshotName() *pulumi.StringOutput

The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource.

func (*ReplicationGroup) SnapshotRetentionLimit

func (r *ReplicationGroup) SnapshotRetentionLimit() *pulumi.IntOutput

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 `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes

func (*ReplicationGroup) SnapshotWindow

func (r *ReplicationGroup) SnapshotWindow() *pulumi.StringOutput

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`

func (*ReplicationGroup) SubnetGroupName

func (r *ReplicationGroup) SubnetGroupName() *pulumi.StringOutput

The name of the cache subnet group to be used for the replication group.

func (*ReplicationGroup) Tags

func (r *ReplicationGroup) Tags() *pulumi.MapOutput

A mapping of tags to assign to the resource

func (*ReplicationGroup) TransitEncryptionEnabled

func (r *ReplicationGroup) TransitEncryptionEnabled() *pulumi.BoolOutput

Whether to enable encryption in transit.

func (*ReplicationGroup) URN

func (r *ReplicationGroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type ReplicationGroupArgs

type ReplicationGroupArgs struct {
	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately interface{}
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled interface{}
	// The password used to access a password protected server. Can be specified only if `transit_encryption_enabled = true`.
	AuthToken interface{}
	// Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`.
	AutoMinorVersionUpgrade interface{}
	// 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 interface{}
	// 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 interface{}
	// Create a native redis cluster. `automatic_failover_enabled` must be set to true. Cluster Mode documented below. Only 1 `cluster_mode` block is allowed.
	ClusterMode interface{}
	// The name of the cache engine to be used for the clusters in this replication group. e.g. `redis`
	Engine interface{}
	// The version number of the cache engine to be used for the cache clusters in this replication group.
	EngineVersion interface{}
	// 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 interface{}
	// The compute and memory capacity of the nodes in the node group.
	NodeType interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// A user-created description for the replication group.
	ReplicationGroupDescription interface{}
	// The replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId interface{}
	// 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 interface{}
	// A list of cache security group names to associate with this replication group.
	SecurityGroupNames interface{}
	// 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 interface{}
	// The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource.
	SnapshotName interface{}
	// 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 `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes
	SnapshotRetentionLimit interface{}
	// 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 interface{}
	// The name of the cache subnet group to be used for the replication group.
	SubnetGroupName interface{}
	// A mapping of tags to assign to the resource
	Tags interface{}
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled interface{}
}

The set of arguments for constructing a ReplicationGroup resource.

type ReplicationGroupState

type ReplicationGroupState struct {
	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately interface{}
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled interface{}
	// The password used to access a password protected server. Can be specified only if `transit_encryption_enabled = true`.
	AuthToken interface{}
	// Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Defaults to `true`.
	AutoMinorVersionUpgrade interface{}
	// 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 interface{}
	// 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 interface{}
	// Create a native redis cluster. `automatic_failover_enabled` must be set to true. Cluster Mode documented below. Only 1 `cluster_mode` block is allowed.
	ClusterMode interface{}
	// The address of the replication group configuration endpoint when cluster mode is enabled.
	ConfigurationEndpointAddress interface{}
	// The name of the cache engine to be used for the clusters in this replication group. e.g. `redis`
	Engine interface{}
	// The version number of the cache engine to be used for the cache clusters in this replication group.
	EngineVersion interface{}
	// 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 interface{}
	// The identifiers of all the nodes that are part of this replication group.
	MemberClusters interface{}
	// The compute and memory capacity of the nodes in the node group.
	NodeType interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// 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 interface{}
	// (Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
	PrimaryEndpointAddress interface{}
	// A user-created description for the replication group.
	ReplicationGroupDescription interface{}
	// The replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId interface{}
	// 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 interface{}
	// A list of cache security group names to associate with this replication group.
	SecurityGroupNames interface{}
	// 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 interface{}
	// The name of a snapshot from which to restore data into the new node group. Changing the `snapshot_name` forces a new resource.
	SnapshotName interface{}
	// 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 `snapshot_retention_limit` is not supported on cache.t1.micro or cache.t2.* cache nodes
	SnapshotRetentionLimit interface{}
	// 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 interface{}
	// The name of the cache subnet group to be used for the replication group.
	SubnetGroupName interface{}
	// A mapping of tags to assign to the resource
	Tags interface{}
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled interface{}
}

Input properties used for looking up and filtering ReplicationGroup resources.

type SecurityGroup

type SecurityGroup struct {
	// contains filtered or unexported fields
}

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.ID, state *SecurityGroupState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*SecurityGroup, error)

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

func (*SecurityGroup) Description

func (r *SecurityGroup) Description() *pulumi.StringOutput

description for the cache security group. Defaults to "Managed by Terraform".

func (*SecurityGroup) ID

func (r *SecurityGroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SecurityGroup) Name

func (r *SecurityGroup) Name() *pulumi.StringOutput

Name for the cache security group. This value is stored as a lowercase string.

func (*SecurityGroup) SecurityGroupNames

func (r *SecurityGroup) SecurityGroupNames() *pulumi.ArrayOutput

List of EC2 security group names to be authorized for ingress to the cache security group

func (*SecurityGroup) URN

func (r *SecurityGroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SecurityGroupArgs

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

The set of arguments for constructing a SecurityGroup resource.

type SecurityGroupState

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

Input properties used for looking up and filtering SecurityGroup resources.

type SubnetGroup

type SubnetGroup struct {
	// contains filtered or unexported fields
}

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.ID, state *SubnetGroupState, opts ...pulumi.ResourceOpt) (*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.ResourceOpt) (*SubnetGroup, error)

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

func (*SubnetGroup) Description

func (r *SubnetGroup) Description() *pulumi.StringOutput

Description for the cache subnet group. Defaults to "Managed by Terraform".

func (*SubnetGroup) ID

func (r *SubnetGroup) ID() *pulumi.IDOutput

ID is this resource's unique identifier assigned by its provider.

func (*SubnetGroup) Name

func (r *SubnetGroup) Name() *pulumi.StringOutput

Name for the cache subnet group. Elasticache converts this name to lowercase.

func (*SubnetGroup) SubnetIds

func (r *SubnetGroup) SubnetIds() *pulumi.ArrayOutput

List of VPC Subnet IDs for the cache subnet group

func (*SubnetGroup) URN

func (r *SubnetGroup) URN() *pulumi.URNOutput

URN is this resource's unique name assigned by Pulumi.

type SubnetGroupArgs

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

The set of arguments for constructing a SubnetGroup resource.

type SubnetGroupState

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

Input properties used for looking up and filtering SubnetGroup resources.

Jump to

Keyboard shortcuts

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