Documentation ¶
Index ¶
- type Cluster
- func (*Cluster) ElementType() reflect.Type
- func (i *Cluster) ToClusterOutput() ClusterOutput
- func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
- func (i *Cluster) ToClusterPtrOutput() ClusterPtrOutput
- func (i *Cluster) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
- type ClusterArgs
- type ClusterArray
- type ClusterArrayInput
- type ClusterArrayOutput
- type ClusterCacheNode
- type ClusterCacheNodeArgs
- type ClusterCacheNodeArray
- type ClusterCacheNodeArrayInput
- type ClusterCacheNodeArrayOutput
- func (ClusterCacheNodeArrayOutput) ElementType() reflect.Type
- func (o ClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) ClusterCacheNodeOutput
- func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput
- func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext(ctx context.Context) ClusterCacheNodeArrayOutput
- type ClusterCacheNodeInput
- type ClusterCacheNodeOutput
- func (o ClusterCacheNodeOutput) Address() pulumi.StringPtrOutput
- func (o ClusterCacheNodeOutput) AvailabilityZone() pulumi.StringPtrOutput
- func (ClusterCacheNodeOutput) ElementType() reflect.Type
- func (o ClusterCacheNodeOutput) Id() pulumi.StringPtrOutput
- func (o ClusterCacheNodeOutput) Port() pulumi.IntPtrOutput
- func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutput() ClusterCacheNodeOutput
- func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput
- type ClusterInput
- type ClusterMap
- type ClusterMapInput
- type ClusterMapOutput
- type ClusterOutput
- func (ClusterOutput) ElementType() reflect.Type
- func (o ClusterOutput) ToClusterOutput() ClusterOutput
- func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
- func (o ClusterOutput) ToClusterPtrOutput() ClusterPtrOutput
- func (o ClusterOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
- type ClusterPtrInput
- type ClusterPtrOutput
- type ClusterState
- type GetClusterCacheNode
- type GetClusterCacheNodeArgs
- type GetClusterCacheNodeArray
- type GetClusterCacheNodeArrayInput
- type GetClusterCacheNodeArrayOutput
- func (GetClusterCacheNodeArrayOutput) ElementType() reflect.Type
- func (o GetClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) GetClusterCacheNodeOutput
- func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput
- func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext(ctx context.Context) GetClusterCacheNodeArrayOutput
- type GetClusterCacheNodeInput
- type GetClusterCacheNodeOutput
- func (o GetClusterCacheNodeOutput) Address() pulumi.StringOutput
- func (o GetClusterCacheNodeOutput) AvailabilityZone() pulumi.StringOutput
- func (GetClusterCacheNodeOutput) ElementType() reflect.Type
- func (o GetClusterCacheNodeOutput) Id() pulumi.StringOutput
- func (o GetClusterCacheNodeOutput) Port() pulumi.IntOutput
- func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput
- func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext(ctx context.Context) GetClusterCacheNodeOutput
- type GlobalReplicationGroup
- func (*GlobalReplicationGroup) ElementType() reflect.Type
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
- type GlobalReplicationGroupArgs
- type GlobalReplicationGroupArray
- func (GlobalReplicationGroupArray) ElementType() reflect.Type
- func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
- func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
- type GlobalReplicationGroupArrayInput
- type GlobalReplicationGroupArrayOutput
- func (GlobalReplicationGroupArrayOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupArrayOutput) Index(i pulumi.IntInput) GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
- func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
- type GlobalReplicationGroupInput
- type GlobalReplicationGroupMap
- type GlobalReplicationGroupMapInput
- type GlobalReplicationGroupMapOutput
- func (GlobalReplicationGroupMapOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
- func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput
- type GlobalReplicationGroupOutput
- func (GlobalReplicationGroupOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
- type GlobalReplicationGroupPtrInput
- type GlobalReplicationGroupPtrOutput
- func (GlobalReplicationGroupPtrOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
- func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
- type GlobalReplicationGroupState
- type LookupClusterArgs
- type LookupClusterResult
- type LookupReplicationGroupArgs
- type LookupReplicationGroupResult
- type ParameterGroup
- func (*ParameterGroup) ElementType() reflect.Type
- func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput
- func (i *ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
- func (i *ParameterGroup) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
- func (i *ParameterGroup) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
- type ParameterGroupArgs
- type ParameterGroupArray
- type ParameterGroupArrayInput
- type ParameterGroupArrayOutput
- func (ParameterGroupArrayOutput) ElementType() reflect.Type
- func (o ParameterGroupArrayOutput) Index(i pulumi.IntInput) ParameterGroupOutput
- func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput
- func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput
- type ParameterGroupInput
- type ParameterGroupMap
- type ParameterGroupMapInput
- type ParameterGroupMapOutput
- func (ParameterGroupMapOutput) ElementType() reflect.Type
- func (o ParameterGroupMapOutput) MapIndex(k pulumi.StringInput) ParameterGroupOutput
- func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput
- func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput
- type ParameterGroupOutput
- func (ParameterGroupOutput) ElementType() reflect.Type
- func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput
- func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
- func (o ParameterGroupOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
- func (o ParameterGroupOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
- type ParameterGroupParameter
- type ParameterGroupParameterArgs
- type ParameterGroupParameterArray
- func (ParameterGroupParameterArray) ElementType() reflect.Type
- func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
- func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput
- type ParameterGroupParameterArrayInput
- type ParameterGroupParameterArrayOutput
- func (ParameterGroupParameterArrayOutput) ElementType() reflect.Type
- func (o ParameterGroupParameterArrayOutput) Index(i pulumi.IntInput) ParameterGroupParameterOutput
- func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
- func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput
- type ParameterGroupParameterInput
- type ParameterGroupParameterOutput
- func (ParameterGroupParameterOutput) ElementType() reflect.Type
- func (o ParameterGroupParameterOutput) Name() pulumi.StringOutput
- func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput
- func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput
- func (o ParameterGroupParameterOutput) Value() pulumi.StringOutput
- type ParameterGroupPtrInput
- type ParameterGroupPtrOutput
- type ParameterGroupState
- type ReplicationGroup
- func (*ReplicationGroup) ElementType() reflect.Type
- func (i *ReplicationGroup) ToReplicationGroupOutput() ReplicationGroupOutput
- func (i *ReplicationGroup) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
- func (i *ReplicationGroup) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
- func (i *ReplicationGroup) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
- type ReplicationGroupArgs
- type ReplicationGroupArray
- type ReplicationGroupArrayInput
- type ReplicationGroupArrayOutput
- func (ReplicationGroupArrayOutput) ElementType() reflect.Type
- func (o ReplicationGroupArrayOutput) Index(i pulumi.IntInput) ReplicationGroupOutput
- func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
- func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput
- type ReplicationGroupClusterMode
- type ReplicationGroupClusterModeArgs
- func (ReplicationGroupClusterModeArgs) ElementType() reflect.Type
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
- type ReplicationGroupClusterModeInput
- type ReplicationGroupClusterModeOutput
- func (ReplicationGroupClusterModeOutput) ElementType() reflect.Type
- func (o ReplicationGroupClusterModeOutput) NumNodeGroups() pulumi.IntOutput
- func (o ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup() pulumi.IntOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
- type ReplicationGroupClusterModePtrInput
- type ReplicationGroupClusterModePtrOutput
- func (o ReplicationGroupClusterModePtrOutput) Elem() ReplicationGroupClusterModeOutput
- func (ReplicationGroupClusterModePtrOutput) ElementType() reflect.Type
- func (o ReplicationGroupClusterModePtrOutput) NumNodeGroups() pulumi.IntPtrOutput
- func (o ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup() pulumi.IntPtrOutput
- func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
- func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
- type ReplicationGroupInput
- type ReplicationGroupMap
- type ReplicationGroupMapInput
- type ReplicationGroupMapOutput
- func (ReplicationGroupMapOutput) ElementType() reflect.Type
- func (o ReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) ReplicationGroupOutput
- func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutput() ReplicationGroupMapOutput
- func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput
- type ReplicationGroupOutput
- func (ReplicationGroupOutput) ElementType() reflect.Type
- func (o ReplicationGroupOutput) ToReplicationGroupOutput() ReplicationGroupOutput
- func (o ReplicationGroupOutput) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
- func (o ReplicationGroupOutput) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
- func (o ReplicationGroupOutput) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
- type ReplicationGroupPtrInput
- type ReplicationGroupPtrOutput
- type ReplicationGroupState
- type SecurityGroup
- func (*SecurityGroup) ElementType() reflect.Type
- func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput
- func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
- func (i *SecurityGroup) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
- func (i *SecurityGroup) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
- type SecurityGroupArgs
- type SecurityGroupArray
- type SecurityGroupArrayInput
- type SecurityGroupArrayOutput
- func (SecurityGroupArrayOutput) ElementType() reflect.Type
- func (o SecurityGroupArrayOutput) Index(i pulumi.IntInput) SecurityGroupOutput
- func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
- func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput
- type SecurityGroupInput
- type SecurityGroupMap
- type SecurityGroupMapInput
- type SecurityGroupMapOutput
- func (SecurityGroupMapOutput) ElementType() reflect.Type
- func (o SecurityGroupMapOutput) MapIndex(k pulumi.StringInput) SecurityGroupOutput
- func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput
- func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput
- type SecurityGroupOutput
- func (SecurityGroupOutput) ElementType() reflect.Type
- func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput
- func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
- func (o SecurityGroupOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
- func (o SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
- type SecurityGroupPtrInput
- type SecurityGroupPtrOutput
- type SecurityGroupState
- type SubnetGroup
- func (*SubnetGroup) ElementType() reflect.Type
- func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput
- func (i *SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
- func (i *SubnetGroup) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
- func (i *SubnetGroup) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
- type SubnetGroupArgs
- type SubnetGroupArray
- type SubnetGroupArrayInput
- type SubnetGroupArrayOutput
- func (SubnetGroupArrayOutput) ElementType() reflect.Type
- func (o SubnetGroupArrayOutput) Index(i pulumi.IntInput) SubnetGroupOutput
- func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
- func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput
- type SubnetGroupInput
- type SubnetGroupMap
- type SubnetGroupMapInput
- type SubnetGroupMapOutput
- func (SubnetGroupMapOutput) ElementType() reflect.Type
- func (o SubnetGroupMapOutput) MapIndex(k pulumi.StringInput) SubnetGroupOutput
- func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput
- func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput
- type SubnetGroupOutput
- func (SubnetGroupOutput) ElementType() reflect.Type
- func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput
- func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
- func (o SubnetGroupOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
- func (o SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
- type SubnetGroupPtrInput
- type SubnetGroupPtrOutput
- type SubnetGroupState
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.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` // The ARN of the created ElastiCache Cluster. 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. Changing this value will re-create the resource. 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`. 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. Changing this value will re-create the resource. 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 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"` // The name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` // 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 instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. 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 Memcached, 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 Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. 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. Changing this value will re-create the resource. 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. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringPtrOutput `pulumi:"snapshotArns"` // The name of a snapshot from which to restore data into the new node group. Changing `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 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. Changing this value will re-create the resource. SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"` // A map of tags to assign to the resource Tags pulumi.StringMapOutput `pulumi:"tags"` }
Provides an ElastiCache Cluster resource, which manages either a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a [single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a [read replica in a Redis (Cluster Mode Enabled) replication group].
For working with Redis (Cluster Mode Enabled) replication groups, see the `elasticache.ReplicationGroup` resource.
> **Note:** When you change an attribute, such as `numCacheNodes`, 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 Documentation on Modifying an ElastiCache Cache Cluster for [ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or [ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html) for more information.
> **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `applyImmediately`.
## Example Usage ### Memcached Cluster
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.NewCluster(ctx, "example", &elasticache.ClusterArgs{ Engine: pulumi.String("memcached"), NodeType: pulumi.String("cache.m4.large"), NumCacheNodes: pulumi.Int(2), ParameterGroupName: pulumi.String("default.memcached1.4"), Port: pulumi.Int(11211), }) if err != nil { return err } return nil }) }
``` ### Redis Instance
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.NewCluster(ctx, "example", &elasticache.ClusterArgs{ Engine: pulumi.String("redis"), EngineVersion: pulumi.String("3.2.10"), NodeType: pulumi.String("cache.m4.large"), NumCacheNodes: pulumi.Int(1), ParameterGroupName: pulumi.String("default.redis3.2"), Port: pulumi.Int(6379), }) if err != nil { return err } return nil }) }
``` ### Redis Cluster Mode Disabled Read Replica Instance
These inherit their settings from the replication group.
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.NewCluster(ctx, "replica", &elasticache.ClusterArgs{ ReplicationGroupId: pulumi.Any(aws_elasticache_replication_group.Example.Id), }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache Clusters can be imported using the `cluster_id`, e.g.
```sh
$ pulumi import aws:elasticache/cluster:Cluster my_cluster my_cluster
```
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.
func (*Cluster) ElementType ¶
func (*Cluster) ToClusterOutput ¶
func (i *Cluster) ToClusterOutput() ClusterOutput
func (*Cluster) ToClusterOutputWithContext ¶
func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
func (*Cluster) ToClusterPtrOutput ¶
func (i *Cluster) ToClusterPtrOutput() ClusterPtrOutput
func (*Cluster) ToClusterPtrOutputWithContext ¶
func (i *Cluster) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
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.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) 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. Changing this value will re-create the resource. 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. Changing this value will re-create the resource. ClusterId pulumi.StringPtrInput // Name of the cache engine to be used for this cache cluster. Valid values 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 // The name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier 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 instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. 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 Memcached, 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 Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. 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. Changing this value will re-create the resource. SecurityGroupNames pulumi.StringArrayInput // A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringPtrInput // The name of a snapshot from which to restore data into the new node group. Changing `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 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. Changing this value will re-create the resource. SubnetGroupName pulumi.StringPtrInput // A map of tags to assign to the resource Tags pulumi.StringMapInput }
The set of arguments for constructing a Cluster resource.
func (ClusterArgs) ElementType ¶
func (ClusterArgs) ElementType() reflect.Type
type ClusterArray ¶
type ClusterArray []ClusterInput
func (ClusterArray) ElementType ¶
func (ClusterArray) ElementType() reflect.Type
func (ClusterArray) ToClusterArrayOutput ¶
func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput
func (ClusterArray) ToClusterArrayOutputWithContext ¶
func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput
type ClusterArrayInput ¶
type ClusterArrayInput interface { pulumi.Input ToClusterArrayOutput() ClusterArrayOutput ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput }
ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:
ClusterArray{ ClusterArgs{...} }
type ClusterArrayOutput ¶
type ClusterArrayOutput struct{ *pulumi.OutputState }
func (ClusterArrayOutput) ElementType ¶
func (ClusterArrayOutput) ElementType() reflect.Type
func (ClusterArrayOutput) Index ¶
func (o ClusterArrayOutput) Index(i pulumi.IntInput) ClusterOutput
func (ClusterArrayOutput) ToClusterArrayOutput ¶
func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput
func (ClusterArrayOutput) ToClusterArrayOutputWithContext ¶
func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput
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. Changing this value will re-create the resource. AvailabilityZone *string `pulumi:"availabilityZone"` Id *string `pulumi:"id"` // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. 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. Changing this value will re-create the resource. AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` Id pulumi.StringPtrInput `pulumi:"id"` // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. 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 }
ClusterCacheNodeArrayInput is an input type that accepts ClusterCacheNodeArray and ClusterCacheNodeArrayOutput values. You can construct a concrete instance of `ClusterCacheNodeArrayInput` via:
ClusterCacheNodeArray{ ClusterCacheNodeArgs{...} }
type ClusterCacheNodeArrayOutput ¶
type ClusterCacheNodeArrayOutput struct{ *pulumi.OutputState }
func (ClusterCacheNodeArrayOutput) ElementType ¶
func (ClusterCacheNodeArrayOutput) ElementType() reflect.Type
func (ClusterCacheNodeArrayOutput) Index ¶
func (o ClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) ClusterCacheNodeOutput
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 }
ClusterCacheNodeInput is an input type that accepts ClusterCacheNodeArgs and ClusterCacheNodeOutput values. You can construct a concrete instance of `ClusterCacheNodeInput` via:
ClusterCacheNodeArgs{...}
type ClusterCacheNodeOutput ¶
type ClusterCacheNodeOutput struct{ *pulumi.OutputState }
func (ClusterCacheNodeOutput) Address ¶
func (o ClusterCacheNodeOutput) Address() pulumi.StringPtrOutput
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. Changing this value will re-create the resource.
func (ClusterCacheNodeOutput) ElementType ¶
func (ClusterCacheNodeOutput) ElementType() reflect.Type
func (ClusterCacheNodeOutput) Id ¶
func (o ClusterCacheNodeOutput) Id() pulumi.StringPtrOutput
func (ClusterCacheNodeOutput) Port ¶
func (o ClusterCacheNodeOutput) Port() pulumi.IntPtrOutput
The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.
func (ClusterCacheNodeOutput) ToClusterCacheNodeOutput ¶
func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutput() ClusterCacheNodeOutput
func (ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext ¶
func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput
type ClusterInput ¶
type ClusterInput interface { pulumi.Input ToClusterOutput() ClusterOutput ToClusterOutputWithContext(ctx context.Context) ClusterOutput }
type ClusterMap ¶
type ClusterMap map[string]ClusterInput
func (ClusterMap) ElementType ¶
func (ClusterMap) ElementType() reflect.Type
func (ClusterMap) ToClusterMapOutput ¶
func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput
func (ClusterMap) ToClusterMapOutputWithContext ¶
func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput
type ClusterMapInput ¶
type ClusterMapInput interface { pulumi.Input ToClusterMapOutput() ClusterMapOutput ToClusterMapOutputWithContext(context.Context) ClusterMapOutput }
ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:
ClusterMap{ "key": ClusterArgs{...} }
type ClusterMapOutput ¶
type ClusterMapOutput struct{ *pulumi.OutputState }
func (ClusterMapOutput) ElementType ¶
func (ClusterMapOutput) ElementType() reflect.Type
func (ClusterMapOutput) MapIndex ¶
func (o ClusterMapOutput) MapIndex(k pulumi.StringInput) ClusterOutput
func (ClusterMapOutput) ToClusterMapOutput ¶
func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput
func (ClusterMapOutput) ToClusterMapOutputWithContext ¶
func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput
type ClusterOutput ¶
type ClusterOutput struct {
*pulumi.OutputState
}
func (ClusterOutput) ElementType ¶
func (ClusterOutput) ElementType() reflect.Type
func (ClusterOutput) ToClusterOutput ¶
func (o ClusterOutput) ToClusterOutput() ClusterOutput
func (ClusterOutput) ToClusterOutputWithContext ¶
func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
func (ClusterOutput) ToClusterPtrOutput ¶
func (o ClusterOutput) ToClusterPtrOutput() ClusterPtrOutput
func (ClusterOutput) ToClusterPtrOutputWithContext ¶
func (o ClusterOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
type ClusterPtrInput ¶
type ClusterPtrInput interface { pulumi.Input ToClusterPtrOutput() ClusterPtrOutput ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput }
type ClusterPtrOutput ¶
type ClusterPtrOutput struct {
*pulumi.OutputState
}
func (ClusterPtrOutput) ElementType ¶
func (ClusterPtrOutput) ElementType() reflect.Type
func (ClusterPtrOutput) ToClusterPtrOutput ¶
func (o ClusterPtrOutput) ToClusterPtrOutput() ClusterPtrOutput
func (ClusterPtrOutput) ToClusterPtrOutputWithContext ¶
func (o ClusterPtrOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
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.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) ApplyImmediately pulumi.BoolPtrInput // The ARN of the created ElastiCache Cluster. 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. Changing this value will re-create the resource. 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`. 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. Changing this value will re-create the resource. 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 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 // The name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier 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 instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. 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 Memcached, 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 Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. 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. Changing this value will re-create the resource. SecurityGroupNames pulumi.StringArrayInput // A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringPtrInput // The name of a snapshot from which to restore data into the new node group. Changing `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 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. Changing this value will re-create the resource. SubnetGroupName pulumi.StringPtrInput // A map of tags to assign to the resource Tags pulumi.StringMapInput }
func (ClusterState) ElementType ¶
func (ClusterState) ElementType() reflect.Type
type GetClusterCacheNode ¶
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 }
GetClusterCacheNodeArrayInput is an input type that accepts GetClusterCacheNodeArray and GetClusterCacheNodeArrayOutput values. You can construct a concrete instance of `GetClusterCacheNodeArrayInput` via:
GetClusterCacheNodeArray{ GetClusterCacheNodeArgs{...} }
type GetClusterCacheNodeArrayOutput ¶
type GetClusterCacheNodeArrayOutput struct{ *pulumi.OutputState }
func (GetClusterCacheNodeArrayOutput) ElementType ¶
func (GetClusterCacheNodeArrayOutput) ElementType() reflect.Type
func (GetClusterCacheNodeArrayOutput) Index ¶
func (o GetClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) GetClusterCacheNodeOutput
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 }
GetClusterCacheNodeInput is an input type that accepts GetClusterCacheNodeArgs and GetClusterCacheNodeOutput values. You can construct a concrete instance of `GetClusterCacheNodeInput` via:
GetClusterCacheNodeArgs{...}
type GetClusterCacheNodeOutput ¶
type GetClusterCacheNodeOutput struct{ *pulumi.OutputState }
func (GetClusterCacheNodeOutput) Address ¶
func (o GetClusterCacheNodeOutput) Address() pulumi.StringOutput
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 (o GetClusterCacheNodeOutput) Id() pulumi.StringOutput
func (GetClusterCacheNodeOutput) Port ¶
func (o GetClusterCacheNodeOutput) Port() pulumi.IntOutput
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 GlobalReplicationGroup ¶
type GlobalReplicationGroup struct { pulumi.CustomResourceState // The full version number of the cache engine running on the members of this global replication group. ActualEngineVersion pulumi.StringOutput `pulumi:"actualEngineVersion"` // The ARN of the ElastiCache Global Replication Group. Arn pulumi.StringOutput `pulumi:"arn"` // A flag that indicate whether the encryption at rest is enabled. AtRestEncryptionEnabled pulumi.BoolOutput `pulumi:"atRestEncryptionEnabled"` // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled pulumi.BoolOutput `pulumi:"authTokenEnabled"` // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). CacheNodeType pulumi.StringOutput `pulumi:"cacheNodeType"` // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"` // The name of the cache engine to be used for the clusters in this global replication group. Engine pulumi.StringOutput `pulumi:"engine"` // A user-created description for the global replication group. GlobalReplicationGroupDescription pulumi.StringPtrOutput `pulumi:"globalReplicationGroupDescription"` // The full ID of the global replication group. GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"` // The suffix name of a Global Datastore. If `globalReplicationGroupIdSuffix` is changed, creates a new resource. GlobalReplicationGroupIdSuffix pulumi.StringOutput `pulumi:"globalReplicationGroupIdSuffix"` // The ID of the primary cluster that accepts writes and will replicate updates to the secondary cluster. If `primaryReplicationGroupId` is changed, creates a new resource. PrimaryReplicationGroupId pulumi.StringOutput `pulumi:"primaryReplicationGroupId"` // A flag that indicates whether the encryption in transit is enabled. TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"` }
Provides an ElastiCache Global Replication Group resource, which manages replication between two or more Replication Groups in different regions. For more information, see the [ElastiCache User Guide](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html).
## Example Usage ### Global replication group with one secondary replication group
The global replication group depends on the primary group existing. Secondary replication groups depend on the global replication group. the provider dependency management will handle this transparently using resource value references.
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { primary, err := elasticache.NewReplicationGroup(ctx, "primary", &elasticache.ReplicationGroupArgs{ ReplicationGroupDescription: pulumi.String("primary replication group"), Engine: pulumi.String("redis"), EngineVersion: pulumi.String("5.0.6"), NodeType: pulumi.String("cache.m5.large"), NumberCacheClusters: pulumi.Int(1), }) if err != nil { return err } example, err := elasticache.NewGlobalReplicationGroup(ctx, "example", &elasticache.GlobalReplicationGroupArgs{ GlobalReplicationGroupIdSuffix: pulumi.String("example"), PrimaryReplicationGroupId: primary.ID(), }) if err != nil { return err } _, err = elasticache.NewReplicationGroup(ctx, "secondary", &elasticache.ReplicationGroupArgs{ ReplicationGroupDescription: pulumi.String("secondary replication group"), GlobalReplicationGroupId: example.GlobalReplicationGroupId, NumberCacheClusters: pulumi.Int(1), }, pulumi.Provider(aws.Other_region)) if err != nil { return err } return nil }) }
```
## Import
ElastiCache Global Replication Groups can be imported using the `global_replication_group_id`, e.g.
```sh
$ pulumi import aws:elasticache/globalReplicationGroup:GlobalReplicationGroup my_global_replication_group okuqm-global-replication-group-1
```
func GetGlobalReplicationGroup ¶
func GetGlobalReplicationGroup(ctx *pulumi.Context, name string, id pulumi.IDInput, state *GlobalReplicationGroupState, opts ...pulumi.ResourceOption) (*GlobalReplicationGroup, error)
GetGlobalReplicationGroup gets an existing GlobalReplicationGroup 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 NewGlobalReplicationGroup ¶
func NewGlobalReplicationGroup(ctx *pulumi.Context, name string, args *GlobalReplicationGroupArgs, opts ...pulumi.ResourceOption) (*GlobalReplicationGroup, error)
NewGlobalReplicationGroup registers a new resource with the given unique name, arguments, and options.
func (*GlobalReplicationGroup) ElementType ¶
func (*GlobalReplicationGroup) ElementType() reflect.Type
func (*GlobalReplicationGroup) ToGlobalReplicationGroupOutput ¶
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
func (*GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext ¶
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
func (*GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutput ¶
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
func (*GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutputWithContext ¶
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
type GlobalReplicationGroupArgs ¶
type GlobalReplicationGroupArgs struct { // A user-created description for the global replication group. GlobalReplicationGroupDescription pulumi.StringPtrInput // The suffix name of a Global Datastore. If `globalReplicationGroupIdSuffix` is changed, creates a new resource. GlobalReplicationGroupIdSuffix pulumi.StringInput // The ID of the primary cluster that accepts writes and will replicate updates to the secondary cluster. If `primaryReplicationGroupId` is changed, creates a new resource. PrimaryReplicationGroupId pulumi.StringInput }
The set of arguments for constructing a GlobalReplicationGroup resource.
func (GlobalReplicationGroupArgs) ElementType ¶
func (GlobalReplicationGroupArgs) ElementType() reflect.Type
type GlobalReplicationGroupArray ¶
type GlobalReplicationGroupArray []GlobalReplicationGroupInput
func (GlobalReplicationGroupArray) ElementType ¶
func (GlobalReplicationGroupArray) ElementType() reflect.Type
func (GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput ¶
func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
func (GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext ¶
func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
type GlobalReplicationGroupArrayInput ¶
type GlobalReplicationGroupArrayInput interface { pulumi.Input ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput ToGlobalReplicationGroupArrayOutputWithContext(context.Context) GlobalReplicationGroupArrayOutput }
GlobalReplicationGroupArrayInput is an input type that accepts GlobalReplicationGroupArray and GlobalReplicationGroupArrayOutput values. You can construct a concrete instance of `GlobalReplicationGroupArrayInput` via:
GlobalReplicationGroupArray{ GlobalReplicationGroupArgs{...} }
type GlobalReplicationGroupArrayOutput ¶
type GlobalReplicationGroupArrayOutput struct{ *pulumi.OutputState }
func (GlobalReplicationGroupArrayOutput) ElementType ¶
func (GlobalReplicationGroupArrayOutput) ElementType() reflect.Type
func (GlobalReplicationGroupArrayOutput) Index ¶
func (o GlobalReplicationGroupArrayOutput) Index(i pulumi.IntInput) GlobalReplicationGroupOutput
func (GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput ¶
func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
func (GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext ¶
func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
type GlobalReplicationGroupInput ¶
type GlobalReplicationGroupInput interface { pulumi.Input ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput }
type GlobalReplicationGroupMap ¶
type GlobalReplicationGroupMap map[string]GlobalReplicationGroupInput
func (GlobalReplicationGroupMap) ElementType ¶
func (GlobalReplicationGroupMap) ElementType() reflect.Type
func (GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutput ¶
func (i GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
func (GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutputWithContext ¶
func (i GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput
type GlobalReplicationGroupMapInput ¶
type GlobalReplicationGroupMapInput interface { pulumi.Input ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput ToGlobalReplicationGroupMapOutputWithContext(context.Context) GlobalReplicationGroupMapOutput }
GlobalReplicationGroupMapInput is an input type that accepts GlobalReplicationGroupMap and GlobalReplicationGroupMapOutput values. You can construct a concrete instance of `GlobalReplicationGroupMapInput` via:
GlobalReplicationGroupMap{ "key": GlobalReplicationGroupArgs{...} }
type GlobalReplicationGroupMapOutput ¶
type GlobalReplicationGroupMapOutput struct{ *pulumi.OutputState }
func (GlobalReplicationGroupMapOutput) ElementType ¶
func (GlobalReplicationGroupMapOutput) ElementType() reflect.Type
func (GlobalReplicationGroupMapOutput) MapIndex ¶
func (o GlobalReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) GlobalReplicationGroupOutput
func (GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput ¶
func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
func (GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext ¶
func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput
type GlobalReplicationGroupOutput ¶
type GlobalReplicationGroupOutput struct {
*pulumi.OutputState
}
func (GlobalReplicationGroupOutput) ElementType ¶
func (GlobalReplicationGroupOutput) ElementType() reflect.Type
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput ¶
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext ¶
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutput ¶
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutputWithContext ¶
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
type GlobalReplicationGroupPtrInput ¶
type GlobalReplicationGroupPtrInput interface { pulumi.Input ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput }
type GlobalReplicationGroupPtrOutput ¶
type GlobalReplicationGroupPtrOutput struct {
*pulumi.OutputState
}
func (GlobalReplicationGroupPtrOutput) ElementType ¶
func (GlobalReplicationGroupPtrOutput) ElementType() reflect.Type
func (GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutput ¶
func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
func (GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutputWithContext ¶
func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
type GlobalReplicationGroupState ¶
type GlobalReplicationGroupState struct { // The full version number of the cache engine running on the members of this global replication group. ActualEngineVersion pulumi.StringPtrInput // The ARN of the ElastiCache Global Replication Group. Arn pulumi.StringPtrInput // A flag that indicate whether the encryption at rest is enabled. AtRestEncryptionEnabled pulumi.BoolPtrInput // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled pulumi.BoolPtrInput // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). CacheNodeType pulumi.StringPtrInput // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled pulumi.BoolPtrInput // The name of the cache engine to be used for the clusters in this global replication group. Engine pulumi.StringPtrInput // A user-created description for the global replication group. GlobalReplicationGroupDescription pulumi.StringPtrInput // The full ID of the global replication group. GlobalReplicationGroupId pulumi.StringPtrInput // The suffix name of a Global Datastore. If `globalReplicationGroupIdSuffix` is changed, creates a new resource. GlobalReplicationGroupIdSuffix pulumi.StringPtrInput // The ID of the primary cluster that accepts writes and will replicate updates to the secondary cluster. If `primaryReplicationGroupId` is changed, creates a new resource. PrimaryReplicationGroupId pulumi.StringPtrInput // A flag that indicates whether the encryption in transit is enabled. TransitEncryptionEnabled pulumi.BoolPtrInput }
func (GlobalReplicationGroupState) ElementType ¶
func (GlobalReplicationGroupState) ElementType() reflect.Type
type LookupClusterArgs ¶
type LookupClusterArgs struct { // Group identifier. ClusterId string `pulumi:"clusterId"` // The tags assigned to the resource Tags map[string]string `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"` // 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]string `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
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.LookupCluster(ctx, &elasticache.LookupClusterArgs{ ClusterId: "my-cluster-id", }, nil) if err != nil { return err } return nil }) }
```
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 { // The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. Arn string `pulumi:"arn"` // Specifies whether an AuthToken (password) is enabled. 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"` // 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"` // Specifies whether Multi-AZ Support is enabled for the replication group. MultiAzEnabled bool `pulumi:"multiAzEnabled"` // 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 endpoint of the reader node in this node group (shard). ReaderEndpointAddress string `pulumi:"readerEndpointAddress"` // The description of the replication group. ReplicationGroupDescription string `pulumi:"replicationGroupDescription"` 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.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.LookupReplicationGroup(ctx, &elasticache.LookupReplicationGroupArgs{ ReplicationGroupId: "example", }, nil) if err != nil { return err } return nil }) }
```
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.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.NewParameterGroup(ctx, "_default", &elasticache.ParameterGroupArgs{ Family: pulumi.String("redis2.8"), Parameters: elasticache.ParameterGroupParameterArray{ &elasticache.ParameterGroupParameterArgs{ Name: pulumi.String("activerehashing"), Value: pulumi.String("yes"), }, &elasticache.ParameterGroupParameterArgs{ Name: pulumi.String("min-slaves-to-write"), Value: pulumi.String("2"), }, }, }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache Parameter Groups can be imported using the `name`, e.g.
```sh
$ pulumi import aws:elasticache/parameterGroup:ParameterGroup default redis-params
```
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.
func (*ParameterGroup) ElementType ¶
func (*ParameterGroup) ElementType() reflect.Type
func (*ParameterGroup) ToParameterGroupOutput ¶
func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput
func (*ParameterGroup) ToParameterGroupOutputWithContext ¶
func (i *ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
func (*ParameterGroup) ToParameterGroupPtrOutput ¶
func (i *ParameterGroup) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
func (*ParameterGroup) ToParameterGroupPtrOutputWithContext ¶
func (i *ParameterGroup) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
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 ParameterGroupArray ¶
type ParameterGroupArray []ParameterGroupInput
func (ParameterGroupArray) ElementType ¶
func (ParameterGroupArray) ElementType() reflect.Type
func (ParameterGroupArray) ToParameterGroupArrayOutput ¶
func (i ParameterGroupArray) ToParameterGroupArrayOutput() ParameterGroupArrayOutput
func (ParameterGroupArray) ToParameterGroupArrayOutputWithContext ¶
func (i ParameterGroupArray) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput
type ParameterGroupArrayInput ¶
type ParameterGroupArrayInput interface { pulumi.Input ToParameterGroupArrayOutput() ParameterGroupArrayOutput ToParameterGroupArrayOutputWithContext(context.Context) ParameterGroupArrayOutput }
ParameterGroupArrayInput is an input type that accepts ParameterGroupArray and ParameterGroupArrayOutput values. You can construct a concrete instance of `ParameterGroupArrayInput` via:
ParameterGroupArray{ ParameterGroupArgs{...} }
type ParameterGroupArrayOutput ¶
type ParameterGroupArrayOutput struct{ *pulumi.OutputState }
func (ParameterGroupArrayOutput) ElementType ¶
func (ParameterGroupArrayOutput) ElementType() reflect.Type
func (ParameterGroupArrayOutput) Index ¶
func (o ParameterGroupArrayOutput) Index(i pulumi.IntInput) ParameterGroupOutput
func (ParameterGroupArrayOutput) ToParameterGroupArrayOutput ¶
func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput
func (ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext ¶
func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput
type ParameterGroupInput ¶
type ParameterGroupInput interface { pulumi.Input ToParameterGroupOutput() ParameterGroupOutput ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput }
type ParameterGroupMap ¶
type ParameterGroupMap map[string]ParameterGroupInput
func (ParameterGroupMap) ElementType ¶
func (ParameterGroupMap) ElementType() reflect.Type
func (ParameterGroupMap) ToParameterGroupMapOutput ¶
func (i ParameterGroupMap) ToParameterGroupMapOutput() ParameterGroupMapOutput
func (ParameterGroupMap) ToParameterGroupMapOutputWithContext ¶
func (i ParameterGroupMap) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput
type ParameterGroupMapInput ¶
type ParameterGroupMapInput interface { pulumi.Input ToParameterGroupMapOutput() ParameterGroupMapOutput ToParameterGroupMapOutputWithContext(context.Context) ParameterGroupMapOutput }
ParameterGroupMapInput is an input type that accepts ParameterGroupMap and ParameterGroupMapOutput values. You can construct a concrete instance of `ParameterGroupMapInput` via:
ParameterGroupMap{ "key": ParameterGroupArgs{...} }
type ParameterGroupMapOutput ¶
type ParameterGroupMapOutput struct{ *pulumi.OutputState }
func (ParameterGroupMapOutput) ElementType ¶
func (ParameterGroupMapOutput) ElementType() reflect.Type
func (ParameterGroupMapOutput) MapIndex ¶
func (o ParameterGroupMapOutput) MapIndex(k pulumi.StringInput) ParameterGroupOutput
func (ParameterGroupMapOutput) ToParameterGroupMapOutput ¶
func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput
func (ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext ¶
func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput
type ParameterGroupOutput ¶
type ParameterGroupOutput struct {
*pulumi.OutputState
}
func (ParameterGroupOutput) ElementType ¶
func (ParameterGroupOutput) ElementType() reflect.Type
func (ParameterGroupOutput) ToParameterGroupOutput ¶
func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput
func (ParameterGroupOutput) ToParameterGroupOutputWithContext ¶
func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
func (ParameterGroupOutput) ToParameterGroupPtrOutput ¶
func (o ParameterGroupOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
func (ParameterGroupOutput) ToParameterGroupPtrOutputWithContext ¶
func (o ParameterGroupOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
type ParameterGroupParameter ¶
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) ElementType() reflect.Type
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) ElementType() reflect.Type
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 }
ParameterGroupParameterArrayInput is an input type that accepts ParameterGroupParameterArray and ParameterGroupParameterArrayOutput values. You can construct a concrete instance of `ParameterGroupParameterArrayInput` via:
ParameterGroupParameterArray{ ParameterGroupParameterArgs{...} }
type ParameterGroupParameterArrayOutput ¶
type ParameterGroupParameterArrayOutput struct{ *pulumi.OutputState }
func (ParameterGroupParameterArrayOutput) ElementType ¶
func (ParameterGroupParameterArrayOutput) ElementType() reflect.Type
func (ParameterGroupParameterArrayOutput) Index ¶
func (o ParameterGroupParameterArrayOutput) Index(i pulumi.IntInput) ParameterGroupParameterOutput
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 }
ParameterGroupParameterInput is an input type that accepts ParameterGroupParameterArgs and ParameterGroupParameterOutput values. You can construct a concrete instance of `ParameterGroupParameterInput` via:
ParameterGroupParameterArgs{...}
type ParameterGroupParameterOutput ¶
type ParameterGroupParameterOutput struct{ *pulumi.OutputState }
func (ParameterGroupParameterOutput) ElementType ¶
func (ParameterGroupParameterOutput) ElementType() reflect.Type
func (ParameterGroupParameterOutput) Name ¶
func (o ParameterGroupParameterOutput) Name() pulumi.StringOutput
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 ¶
func (o ParameterGroupParameterOutput) Value() pulumi.StringOutput
The value of the ElastiCache parameter.
type ParameterGroupPtrInput ¶
type ParameterGroupPtrInput interface { pulumi.Input ToParameterGroupPtrOutput() ParameterGroupPtrOutput ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput }
type ParameterGroupPtrOutput ¶
type ParameterGroupPtrOutput struct {
*pulumi.OutputState
}
func (ParameterGroupPtrOutput) ElementType ¶
func (ParameterGroupPtrOutput) ElementType() reflect.Type
func (ParameterGroupPtrOutput) ToParameterGroupPtrOutput ¶
func (o ParameterGroupPtrOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
func (ParameterGroupPtrOutput) ToParameterGroupPtrOutputWithContext ¶
func (o ParameterGroupPtrOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
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"` // The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. Arn pulumi.StringOutput `pulumi:"arn"` // Whether to enable encryption at rest. AtRestEncryptionEnabled pulumi.BoolOutput `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. This parameter is currently not supported by the AWS API. 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 enabled, `numberCacheClusters` must be greater than 1. 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"` // Indicates if cluster mode is enabled. ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"` // Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. One of `numberCacheClusters` or `clusterMode` is required. Note that configuring this block does not enable cluster mode, i.e. data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true. 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. The only valid value is `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 name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"` // 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"` // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrOutput `pulumi:"multiAzEnabled"` // The instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. 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. One of `numberCacheClusters` or `clusterMode` is required. 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. To enable "cluster mode", i.e. data sharding, use a parameter group that has the parameter `cluster-enabled` set to true. 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"` // (Redis only) The address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. ReaderEndpointAddress pulumi.StringOutput `pulumi:"readerEndpointAddress"` // 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 list of // Amazon Resource Names (ARNs) that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. 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 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 map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. Tags pulumi.StringMapOutput `pulumi:"tags"` // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"` }
Provides an ElastiCache Replication Group resource.
For working with a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) or a [single-node Redis instance (Cluster Mode Disabled)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), see the `elasticache.Cluster` resource.
> **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. See the AWS Documentation on [Modifying an ElastiCache Cache Cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html) for more information.
> **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `applyImmediately`.
> **Note:** Be aware of the terminology collision around "cluster" for `elasticache.ReplicationGroup`. For example, it is possible to create a ["Cluster Mode Disabled [Redis] Cluster"](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Create.CON.Redis.html). With "Cluster Mode Enabled", the data will be stored in shards (called "node groups"). See [Redis Cluster Configuration](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration) for a diagram of the differences. To enable cluster mode, use a parameter group that has cluster mode enabled. The default parameter groups provided by AWS end with ".cluster.on", for example `default.redis6.x.cluster.on`.
## Example Usage ### Redis Cluster Mode Disabled
To create a single shard primary with single read replica:
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{ AutomaticFailoverEnabled: pulumi.Bool(true), AvailabilityZones: pulumi.StringArray{ pulumi.String("us-west-2a"), pulumi.String("us-west-2b"), }, NodeType: pulumi.String("cache.m4.large"), NumberCacheClusters: pulumi.Int(2), ParameterGroupName: pulumi.String("default.redis3.2"), Port: pulumi.Int(6379), ReplicationGroupDescription: pulumi.String("test description"), }) if err != nil { return err } return nil }) }
```
You have two options for adjusting the number of replicas:
* Adjusting `numberCacheClusters` directly. This will attempt to automatically add or remove replicas, but provides no granular control (e.g. preferred availability zone, cache cluster ID) for the added or removed replicas. This also currently expects cache cluster IDs in the form of `replication_group_id-00#`. * Otherwise for fine grained control of the underlying cache clusters, they can be added or removed with the `elasticache.Cluster` resource and its `replicationGroupId` attribute. In this situation, you will need to utilize [`ignoreChanges`](https://www.pulumi.com/docs/intro/concepts/programming-model/#ignorechanges) to prevent perpetual differences with the `numberCacheCluster` attribute.
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { example, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{ AutomaticFailoverEnabled: pulumi.Bool(true), AvailabilityZones: pulumi.StringArray{ pulumi.String("us-west-2a"), pulumi.String("us-west-2b"), }, ReplicationGroupDescription: pulumi.String("test description"), NodeType: pulumi.String("cache.m4.large"), NumberCacheClusters: pulumi.Int(2), ParameterGroupName: pulumi.String("default.redis3.2"), Port: pulumi.Int(6379), }) if err != nil { return err } var replica []*elasticache.Cluster for key0, _ := range 1 == true { __res, err := elasticache.NewCluster(ctx, fmt.Sprintf("replica-%v", key0), &elasticache.ClusterArgs{ ReplicationGroupId: example.ID(), }) if err != nil { return err } replica = append(replica, __res) } return nil }) }
``` ### Redis Cluster Mode Enabled
To create two shards with a primary and a single read replica each:
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.NewReplicationGroup(ctx, "baz", &elasticache.ReplicationGroupArgs{ AutomaticFailoverEnabled: pulumi.Bool(true), ClusterMode: &elasticache.ReplicationGroupClusterModeArgs{ NumNodeGroups: pulumi.Int(2), ReplicasPerNodeGroup: pulumi.Int(1), }, NodeType: pulumi.String("cache.t2.small"), ParameterGroupName: pulumi.String("default.redis3.2.cluster.on"), Port: pulumi.Int(6379), ReplicationGroupDescription: pulumi.String("test description"), }) if err != nil { return err } return nil }) }
```
> **Note:** We currently do not support passing a `primaryClusterId` in order to create the Replication Group.
> **Note:** Automatic Failover is unavailable for Redis versions earlier than 2.8.6, and unavailable on T1 node types. For T2 node types, it is only available on Redis version 3.2.4 or later with cluster mode enabled. See the [High Availability Using Replication Groups](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.html) guide for full details on using Replication Groups. ### Creating a secondary replication group for a global replication group
A Global Replication Group can have one one two secondary Replication Groups in different regions. These are added to an existing Global Replication Group.
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { primary, err := elasticache.NewReplicationGroup(ctx, "primary", &elasticache.ReplicationGroupArgs{ ReplicationGroupDescription: pulumi.String("primary replication group"), Engine: pulumi.String("redis"), EngineVersion: pulumi.String("5.0.6"), NodeType: pulumi.String("cache.m5.large"), NumberCacheClusters: pulumi.Int(1), }, pulumi.Provider(aws.Other_region)) if err != nil { return err } example, err := elasticache.NewGlobalReplicationGroup(ctx, "example", &elasticache.GlobalReplicationGroupArgs{ GlobalReplicationGroupIdSuffix: pulumi.String("example"), PrimaryReplicationGroupId: primary.ID(), }, pulumi.Provider(aws.Other_region)) if err != nil { return err } _, err = elasticache.NewReplicationGroup(ctx, "secondary", &elasticache.ReplicationGroupArgs{ ReplicationGroupDescription: pulumi.String("secondary replication group"), GlobalReplicationGroupId: example.GlobalReplicationGroupId, NumberCacheClusters: pulumi.Int(1), }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache Replication Groups can be imported using the `replication_group_id`, e.g.
```sh
$ pulumi import aws:elasticache/replicationGroup:ReplicationGroup my_replication_group replication-group-1
```
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.
func (*ReplicationGroup) ElementType ¶
func (*ReplicationGroup) ElementType() reflect.Type
func (*ReplicationGroup) ToReplicationGroupOutput ¶
func (i *ReplicationGroup) ToReplicationGroupOutput() ReplicationGroupOutput
func (*ReplicationGroup) ToReplicationGroupOutputWithContext ¶
func (i *ReplicationGroup) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
func (*ReplicationGroup) ToReplicationGroupPtrOutput ¶
func (i *ReplicationGroup) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
func (*ReplicationGroup) ToReplicationGroupPtrOutputWithContext ¶
func (i *ReplicationGroup) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
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. This parameter is currently not supported by the AWS API. 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 enabled, `numberCacheClusters` must be greater than 1. 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. One of `numberCacheClusters` or `clusterMode` is required. Note that configuring this block does not enable cluster mode, i.e. data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true. ClusterMode ReplicationGroupClusterModePtrInput // The name of the cache engine to be used for the clusters in this replication group. The only valid value is `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 name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. GlobalReplicationGroupId 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 // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrInput // The instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. 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. One of `numberCacheClusters` or `clusterMode` is required. 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. To enable "cluster mode", i.e. data sharding, use a parameter group that has the parameter `cluster-enabled` set to true. 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 list of // Amazon Resource Names (ARNs) that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. 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 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 map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. Tags pulumi.StringMapInput // 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 ReplicationGroupArray ¶
type ReplicationGroupArray []ReplicationGroupInput
func (ReplicationGroupArray) ElementType ¶
func (ReplicationGroupArray) ElementType() reflect.Type
func (ReplicationGroupArray) ToReplicationGroupArrayOutput ¶
func (i ReplicationGroupArray) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
func (ReplicationGroupArray) ToReplicationGroupArrayOutputWithContext ¶
func (i ReplicationGroupArray) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput
type ReplicationGroupArrayInput ¶
type ReplicationGroupArrayInput interface { pulumi.Input ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput ToReplicationGroupArrayOutputWithContext(context.Context) ReplicationGroupArrayOutput }
ReplicationGroupArrayInput is an input type that accepts ReplicationGroupArray and ReplicationGroupArrayOutput values. You can construct a concrete instance of `ReplicationGroupArrayInput` via:
ReplicationGroupArray{ ReplicationGroupArgs{...} }
type ReplicationGroupArrayOutput ¶
type ReplicationGroupArrayOutput struct{ *pulumi.OutputState }
func (ReplicationGroupArrayOutput) ElementType ¶
func (ReplicationGroupArrayOutput) ElementType() reflect.Type
func (ReplicationGroupArrayOutput) Index ¶
func (o ReplicationGroupArrayOutput) Index(i pulumi.IntInput) ReplicationGroupOutput
func (ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput ¶
func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
func (ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext ¶
func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput
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 trigger an online resizing operation before other settings modifications. 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 trigger an online resizing operation before other settings modifications. ReplicasPerNodeGroup pulumi.IntInput `pulumi:"replicasPerNodeGroup"` }
func (ReplicationGroupClusterModeArgs) ElementType ¶
func (ReplicationGroupClusterModeArgs) ElementType() reflect.Type
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 }
ReplicationGroupClusterModeInput is an input type that accepts ReplicationGroupClusterModeArgs and ReplicationGroupClusterModeOutput values. You can construct a concrete instance of `ReplicationGroupClusterModeInput` via:
ReplicationGroupClusterModeArgs{...}
type ReplicationGroupClusterModeOutput ¶
type ReplicationGroupClusterModeOutput struct{ *pulumi.OutputState }
func (ReplicationGroupClusterModeOutput) ElementType ¶
func (ReplicationGroupClusterModeOutput) ElementType() reflect.Type
func (ReplicationGroupClusterModeOutput) NumNodeGroups ¶
func (o ReplicationGroupClusterModeOutput) NumNodeGroups() pulumi.IntOutput
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 trigger an online resizing operation before other settings modifications.
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 }
ReplicationGroupClusterModePtrInput is an input type that accepts ReplicationGroupClusterModeArgs, ReplicationGroupClusterModePtr and ReplicationGroupClusterModePtrOutput values. You can construct a concrete instance of `ReplicationGroupClusterModePtrInput` via:
ReplicationGroupClusterModeArgs{...} or: nil
func ReplicationGroupClusterModePtr ¶
func ReplicationGroupClusterModePtr(v *ReplicationGroupClusterModeArgs) ReplicationGroupClusterModePtrInput
type ReplicationGroupClusterModePtrOutput ¶
type ReplicationGroupClusterModePtrOutput struct{ *pulumi.OutputState }
func (ReplicationGroupClusterModePtrOutput) ElementType ¶
func (ReplicationGroupClusterModePtrOutput) ElementType() reflect.Type
func (ReplicationGroupClusterModePtrOutput) NumNodeGroups ¶
func (o ReplicationGroupClusterModePtrOutput) NumNodeGroups() pulumi.IntPtrOutput
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.IntPtrOutput
Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.
func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput ¶
func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext ¶
func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
type ReplicationGroupInput ¶
type ReplicationGroupInput interface { pulumi.Input ToReplicationGroupOutput() ReplicationGroupOutput ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput }
type ReplicationGroupMap ¶
type ReplicationGroupMap map[string]ReplicationGroupInput
func (ReplicationGroupMap) ElementType ¶
func (ReplicationGroupMap) ElementType() reflect.Type
func (ReplicationGroupMap) ToReplicationGroupMapOutput ¶
func (i ReplicationGroupMap) ToReplicationGroupMapOutput() ReplicationGroupMapOutput
func (ReplicationGroupMap) ToReplicationGroupMapOutputWithContext ¶
func (i ReplicationGroupMap) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput
type ReplicationGroupMapInput ¶
type ReplicationGroupMapInput interface { pulumi.Input ToReplicationGroupMapOutput() ReplicationGroupMapOutput ToReplicationGroupMapOutputWithContext(context.Context) ReplicationGroupMapOutput }
ReplicationGroupMapInput is an input type that accepts ReplicationGroupMap and ReplicationGroupMapOutput values. You can construct a concrete instance of `ReplicationGroupMapInput` via:
ReplicationGroupMap{ "key": ReplicationGroupArgs{...} }
type ReplicationGroupMapOutput ¶
type ReplicationGroupMapOutput struct{ *pulumi.OutputState }
func (ReplicationGroupMapOutput) ElementType ¶
func (ReplicationGroupMapOutput) ElementType() reflect.Type
func (ReplicationGroupMapOutput) MapIndex ¶
func (o ReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) ReplicationGroupOutput
func (ReplicationGroupMapOutput) ToReplicationGroupMapOutput ¶
func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutput() ReplicationGroupMapOutput
func (ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext ¶
func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput
type ReplicationGroupOutput ¶
type ReplicationGroupOutput struct {
*pulumi.OutputState
}
func (ReplicationGroupOutput) ElementType ¶
func (ReplicationGroupOutput) ElementType() reflect.Type
func (ReplicationGroupOutput) ToReplicationGroupOutput ¶
func (o ReplicationGroupOutput) ToReplicationGroupOutput() ReplicationGroupOutput
func (ReplicationGroupOutput) ToReplicationGroupOutputWithContext ¶
func (o ReplicationGroupOutput) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
func (ReplicationGroupOutput) ToReplicationGroupPtrOutput ¶
func (o ReplicationGroupOutput) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
func (ReplicationGroupOutput) ToReplicationGroupPtrOutputWithContext ¶
func (o ReplicationGroupOutput) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
type ReplicationGroupPtrInput ¶
type ReplicationGroupPtrInput interface { pulumi.Input ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput }
type ReplicationGroupPtrOutput ¶
type ReplicationGroupPtrOutput struct {
*pulumi.OutputState
}
func (ReplicationGroupPtrOutput) ElementType ¶
func (ReplicationGroupPtrOutput) ElementType() reflect.Type
func (ReplicationGroupPtrOutput) ToReplicationGroupPtrOutput ¶
func (o ReplicationGroupPtrOutput) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
func (ReplicationGroupPtrOutput) ToReplicationGroupPtrOutputWithContext ¶
func (o ReplicationGroupPtrOutput) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
type ReplicationGroupState ¶
type ReplicationGroupState struct { // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. ApplyImmediately pulumi.BoolPtrInput // The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. Arn pulumi.StringPtrInput // 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. This parameter is currently not supported by the AWS API. 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 enabled, `numberCacheClusters` must be greater than 1. 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 // Indicates if cluster mode is enabled. ClusterEnabled pulumi.BoolPtrInput // Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. One of `numberCacheClusters` or `clusterMode` is required. Note that configuring this block does not enable cluster mode, i.e. data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true. 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. The only valid value is `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 name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput // The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. GlobalReplicationGroupId 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 // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrInput // The instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. 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. One of `numberCacheClusters` or `clusterMode` is required. 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. To enable "cluster mode", i.e. data sharding, use a parameter group that has the parameter `cluster-enabled` set to true. 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 // (Redis only) The address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. ReaderEndpointAddress 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 list of // Amazon Resource Names (ARNs) that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. 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 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 map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. Tags pulumi.StringMapInput // 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.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { barSecurityGroup, err := ec2.NewSecurityGroup(ctx, "barSecurityGroup", nil) if err != nil { return err } _, err = elasticache.NewSecurityGroup(ctx, "barElasticache_securityGroupSecurityGroup", &elasticache.SecurityGroupArgs{ SecurityGroupNames: pulumi.StringArray{ barSecurityGroup.Name, }, }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache Security Groups can be imported by name, e.g.
```sh
$ pulumi import aws:elasticache/securityGroup:SecurityGroup my_ec_security_group ec-security-group-1
```
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.
func (*SecurityGroup) ElementType ¶
func (*SecurityGroup) ElementType() reflect.Type
func (*SecurityGroup) ToSecurityGroupOutput ¶
func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput
func (*SecurityGroup) ToSecurityGroupOutputWithContext ¶
func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
func (*SecurityGroup) ToSecurityGroupPtrOutput ¶
func (i *SecurityGroup) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
func (*SecurityGroup) ToSecurityGroupPtrOutputWithContext ¶
func (i *SecurityGroup) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
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 SecurityGroupArray ¶
type SecurityGroupArray []SecurityGroupInput
func (SecurityGroupArray) ElementType ¶
func (SecurityGroupArray) ElementType() reflect.Type
func (SecurityGroupArray) ToSecurityGroupArrayOutput ¶
func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext ¶
func (i SecurityGroupArray) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput
type SecurityGroupArrayInput ¶
type SecurityGroupArrayInput interface { pulumi.Input ToSecurityGroupArrayOutput() SecurityGroupArrayOutput ToSecurityGroupArrayOutputWithContext(context.Context) SecurityGroupArrayOutput }
SecurityGroupArrayInput is an input type that accepts SecurityGroupArray and SecurityGroupArrayOutput values. You can construct a concrete instance of `SecurityGroupArrayInput` via:
SecurityGroupArray{ SecurityGroupArgs{...} }
type SecurityGroupArrayOutput ¶
type SecurityGroupArrayOutput struct{ *pulumi.OutputState }
func (SecurityGroupArrayOutput) ElementType ¶
func (SecurityGroupArrayOutput) ElementType() reflect.Type
func (SecurityGroupArrayOutput) Index ¶
func (o SecurityGroupArrayOutput) Index(i pulumi.IntInput) SecurityGroupOutput
func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput ¶
func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext ¶
func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput
type SecurityGroupInput ¶
type SecurityGroupInput interface { pulumi.Input ToSecurityGroupOutput() SecurityGroupOutput ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput }
type SecurityGroupMap ¶
type SecurityGroupMap map[string]SecurityGroupInput
func (SecurityGroupMap) ElementType ¶
func (SecurityGroupMap) ElementType() reflect.Type
func (SecurityGroupMap) ToSecurityGroupMapOutput ¶
func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput
func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext ¶
func (i SecurityGroupMap) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput
type SecurityGroupMapInput ¶
type SecurityGroupMapInput interface { pulumi.Input ToSecurityGroupMapOutput() SecurityGroupMapOutput ToSecurityGroupMapOutputWithContext(context.Context) SecurityGroupMapOutput }
SecurityGroupMapInput is an input type that accepts SecurityGroupMap and SecurityGroupMapOutput values. You can construct a concrete instance of `SecurityGroupMapInput` via:
SecurityGroupMap{ "key": SecurityGroupArgs{...} }
type SecurityGroupMapOutput ¶
type SecurityGroupMapOutput struct{ *pulumi.OutputState }
func (SecurityGroupMapOutput) ElementType ¶
func (SecurityGroupMapOutput) ElementType() reflect.Type
func (SecurityGroupMapOutput) MapIndex ¶
func (o SecurityGroupMapOutput) MapIndex(k pulumi.StringInput) SecurityGroupOutput
func (SecurityGroupMapOutput) ToSecurityGroupMapOutput ¶
func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput
func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext ¶
func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput
type SecurityGroupOutput ¶
type SecurityGroupOutput struct {
*pulumi.OutputState
}
func (SecurityGroupOutput) ElementType ¶
func (SecurityGroupOutput) ElementType() reflect.Type
func (SecurityGroupOutput) ToSecurityGroupOutput ¶
func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput
func (SecurityGroupOutput) ToSecurityGroupOutputWithContext ¶
func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
func (SecurityGroupOutput) ToSecurityGroupPtrOutput ¶
func (o SecurityGroupOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
func (SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext ¶
func (o SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
type SecurityGroupPtrInput ¶
type SecurityGroupPtrInput interface { pulumi.Input ToSecurityGroupPtrOutput() SecurityGroupPtrOutput ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput }
type SecurityGroupPtrOutput ¶
type SecurityGroupPtrOutput struct {
*pulumi.OutputState
}
func (SecurityGroupPtrOutput) ElementType ¶
func (SecurityGroupPtrOutput) ElementType() reflect.Type
func (SecurityGroupPtrOutput) ToSecurityGroupPtrOutput ¶
func (o SecurityGroupPtrOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
func (SecurityGroupPtrOutput) ToSecurityGroupPtrOutputWithContext ¶
func (o SecurityGroupPtrOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
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.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2" "github.com/pulumi/pulumi-aws/sdk/v4/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { fooVpc, err := ec2.NewVpc(ctx, "fooVpc", &ec2.VpcArgs{ CidrBlock: pulumi.String("10.0.0.0/16"), Tags: pulumi.StringMap{ "Name": pulumi.String("tf-test"), }, }) if err != nil { return err } fooSubnet, err := ec2.NewSubnet(ctx, "fooSubnet", &ec2.SubnetArgs{ VpcId: fooVpc.ID(), CidrBlock: pulumi.String("10.0.0.0/24"), AvailabilityZone: pulumi.String("us-west-2a"), Tags: pulumi.StringMap{ "Name": pulumi.String("tf-test"), }, }) if err != nil { return err } _, err = elasticache.NewSubnetGroup(ctx, "bar", &elasticache.SubnetGroupArgs{ SubnetIds: pulumi.StringArray{ fooSubnet.ID(), }, }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache Subnet Groups can be imported using the `name`, e.g.
```sh
$ pulumi import aws:elasticache/subnetGroup:SubnetGroup bar tf-test-cache-subnet
```
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.
func (*SubnetGroup) ElementType ¶
func (*SubnetGroup) ElementType() reflect.Type
func (*SubnetGroup) ToSubnetGroupOutput ¶
func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput
func (*SubnetGroup) ToSubnetGroupOutputWithContext ¶
func (i *SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
func (*SubnetGroup) ToSubnetGroupPtrOutput ¶
func (i *SubnetGroup) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
func (*SubnetGroup) ToSubnetGroupPtrOutputWithContext ¶
func (i *SubnetGroup) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
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 SubnetGroupArray ¶
type SubnetGroupArray []SubnetGroupInput
func (SubnetGroupArray) ElementType ¶
func (SubnetGroupArray) ElementType() reflect.Type
func (SubnetGroupArray) ToSubnetGroupArrayOutput ¶
func (i SubnetGroupArray) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
func (SubnetGroupArray) ToSubnetGroupArrayOutputWithContext ¶
func (i SubnetGroupArray) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput
type SubnetGroupArrayInput ¶
type SubnetGroupArrayInput interface { pulumi.Input ToSubnetGroupArrayOutput() SubnetGroupArrayOutput ToSubnetGroupArrayOutputWithContext(context.Context) SubnetGroupArrayOutput }
SubnetGroupArrayInput is an input type that accepts SubnetGroupArray and SubnetGroupArrayOutput values. You can construct a concrete instance of `SubnetGroupArrayInput` via:
SubnetGroupArray{ SubnetGroupArgs{...} }
type SubnetGroupArrayOutput ¶
type SubnetGroupArrayOutput struct{ *pulumi.OutputState }
func (SubnetGroupArrayOutput) ElementType ¶
func (SubnetGroupArrayOutput) ElementType() reflect.Type
func (SubnetGroupArrayOutput) Index ¶
func (o SubnetGroupArrayOutput) Index(i pulumi.IntInput) SubnetGroupOutput
func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutput ¶
func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext ¶
func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput
type SubnetGroupInput ¶
type SubnetGroupInput interface { pulumi.Input ToSubnetGroupOutput() SubnetGroupOutput ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput }
type SubnetGroupMap ¶
type SubnetGroupMap map[string]SubnetGroupInput
func (SubnetGroupMap) ElementType ¶
func (SubnetGroupMap) ElementType() reflect.Type
func (SubnetGroupMap) ToSubnetGroupMapOutput ¶
func (i SubnetGroupMap) ToSubnetGroupMapOutput() SubnetGroupMapOutput
func (SubnetGroupMap) ToSubnetGroupMapOutputWithContext ¶
func (i SubnetGroupMap) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput
type SubnetGroupMapInput ¶
type SubnetGroupMapInput interface { pulumi.Input ToSubnetGroupMapOutput() SubnetGroupMapOutput ToSubnetGroupMapOutputWithContext(context.Context) SubnetGroupMapOutput }
SubnetGroupMapInput is an input type that accepts SubnetGroupMap and SubnetGroupMapOutput values. You can construct a concrete instance of `SubnetGroupMapInput` via:
SubnetGroupMap{ "key": SubnetGroupArgs{...} }
type SubnetGroupMapOutput ¶
type SubnetGroupMapOutput struct{ *pulumi.OutputState }
func (SubnetGroupMapOutput) ElementType ¶
func (SubnetGroupMapOutput) ElementType() reflect.Type
func (SubnetGroupMapOutput) MapIndex ¶
func (o SubnetGroupMapOutput) MapIndex(k pulumi.StringInput) SubnetGroupOutput
func (SubnetGroupMapOutput) ToSubnetGroupMapOutput ¶
func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput
func (SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext ¶
func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput
type SubnetGroupOutput ¶
type SubnetGroupOutput struct {
*pulumi.OutputState
}
func (SubnetGroupOutput) ElementType ¶
func (SubnetGroupOutput) ElementType() reflect.Type
func (SubnetGroupOutput) ToSubnetGroupOutput ¶
func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput
func (SubnetGroupOutput) ToSubnetGroupOutputWithContext ¶
func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
func (SubnetGroupOutput) ToSubnetGroupPtrOutput ¶
func (o SubnetGroupOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
func (SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext ¶
func (o SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
type SubnetGroupPtrInput ¶
type SubnetGroupPtrInput interface { pulumi.Input ToSubnetGroupPtrOutput() SubnetGroupPtrOutput ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput }
type SubnetGroupPtrOutput ¶
type SubnetGroupPtrOutput struct {
*pulumi.OutputState
}
func (SubnetGroupPtrOutput) ElementType ¶
func (SubnetGroupPtrOutput) ElementType() reflect.Type
func (SubnetGroupPtrOutput) ToSubnetGroupPtrOutput ¶
func (o SubnetGroupPtrOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
func (SubnetGroupPtrOutput) ToSubnetGroupPtrOutputWithContext ¶
func (o SubnetGroupPtrOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
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