Documentation ¶
Index ¶
- func PkgVersion() (semver.Version, error)
- type Cluster
- 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
- 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
- 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
- type GlobalReplicationGroupState
- type LookupClusterArgs
- type LookupClusterOutputArgs
- type LookupClusterResult
- type LookupClusterResultOutput
- func (o LookupClusterResultOutput) Arn() pulumi.StringOutput
- func (o LookupClusterResultOutput) AvailabilityZone() pulumi.StringOutput
- func (o LookupClusterResultOutput) CacheNodes() GetClusterCacheNodeArrayOutput
- func (o LookupClusterResultOutput) ClusterAddress() pulumi.StringOutput
- func (o LookupClusterResultOutput) ClusterId() pulumi.StringOutput
- func (o LookupClusterResultOutput) ConfigurationEndpoint() pulumi.StringOutput
- func (LookupClusterResultOutput) ElementType() reflect.Type
- func (o LookupClusterResultOutput) Engine() pulumi.StringOutput
- func (o LookupClusterResultOutput) EngineVersion() pulumi.StringOutput
- func (o LookupClusterResultOutput) Id() pulumi.StringOutput
- func (o LookupClusterResultOutput) MaintenanceWindow() pulumi.StringOutput
- func (o LookupClusterResultOutput) NodeType() pulumi.StringOutput
- func (o LookupClusterResultOutput) NotificationTopicArn() pulumi.StringOutput
- func (o LookupClusterResultOutput) NumCacheNodes() pulumi.IntOutput
- func (o LookupClusterResultOutput) ParameterGroupName() pulumi.StringOutput
- func (o LookupClusterResultOutput) Port() pulumi.IntOutput
- func (o LookupClusterResultOutput) ReplicationGroupId() pulumi.StringOutput
- func (o LookupClusterResultOutput) SecurityGroupIds() pulumi.StringArrayOutput
- func (o LookupClusterResultOutput) SecurityGroupNames() pulumi.StringArrayOutput
- func (o LookupClusterResultOutput) SnapshotRetentionLimit() pulumi.IntOutput
- func (o LookupClusterResultOutput) SnapshotWindow() pulumi.StringOutput
- func (o LookupClusterResultOutput) SubnetGroupName() pulumi.StringOutput
- func (o LookupClusterResultOutput) Tags() pulumi.StringMapOutput
- func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput
- func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput
- type LookupReplicationGroupArgs
- type LookupReplicationGroupOutputArgs
- type LookupReplicationGroupResult
- type LookupReplicationGroupResultOutput
- func (o LookupReplicationGroupResultOutput) Arn() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) AuthTokenEnabled() pulumi.BoolOutput
- func (o LookupReplicationGroupResultOutput) AutomaticFailoverEnabled() pulumi.BoolOutput
- func (o LookupReplicationGroupResultOutput) ConfigurationEndpointAddress() pulumi.StringOutput
- func (LookupReplicationGroupResultOutput) ElementType() reflect.Type
- func (o LookupReplicationGroupResultOutput) Id() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) MemberClusters() pulumi.StringArrayOutput
- func (o LookupReplicationGroupResultOutput) MultiAzEnabled() pulumi.BoolOutput
- func (o LookupReplicationGroupResultOutput) NodeType() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) NumberCacheClusters() pulumi.IntOutput
- func (o LookupReplicationGroupResultOutput) Port() pulumi.IntOutput
- func (o LookupReplicationGroupResultOutput) PrimaryEndpointAddress() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) ReaderEndpointAddress() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) ReplicationGroupDescription() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) ReplicationGroupId() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) SnapshotRetentionLimit() pulumi.IntOutput
- func (o LookupReplicationGroupResultOutput) SnapshotWindow() pulumi.StringOutput
- func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutput() LookupReplicationGroupResultOutput
- func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutputWithContext(ctx context.Context) LookupReplicationGroupResultOutput
- type LookupUserArgs
- type LookupUserOutputArgs
- type LookupUserResult
- type LookupUserResultOutput
- func (o LookupUserResultOutput) AccessString() pulumi.StringPtrOutput
- func (LookupUserResultOutput) ElementType() reflect.Type
- func (o LookupUserResultOutput) Engine() pulumi.StringPtrOutput
- func (o LookupUserResultOutput) Id() pulumi.StringOutput
- func (o LookupUserResultOutput) NoPasswordRequired() pulumi.BoolPtrOutput
- func (o LookupUserResultOutput) Passwords() pulumi.StringArrayOutput
- func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput
- func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput
- func (o LookupUserResultOutput) UserId() pulumi.StringOutput
- func (o LookupUserResultOutput) UserName() pulumi.StringPtrOutput
- type ParameterGroup
- 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
- 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 ParameterGroupState
- type ReplicationGroup
- 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.IntPtrOutput
- 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
- type ReplicationGroupState
- type SecurityGroup
- 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
- type SecurityGroupState
- type SubnetGroup
- 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
- type SubnetGroupState
- type User
- type UserArgs
- type UserArray
- type UserArrayInput
- type UserArrayOutput
- type UserGroup
- type UserGroupArgs
- type UserGroupArray
- type UserGroupArrayInput
- type UserGroupArrayOutput
- func (UserGroupArrayOutput) ElementType() reflect.Type
- func (o UserGroupArrayOutput) Index(i pulumi.IntInput) UserGroupOutput
- func (o UserGroupArrayOutput) ToUserGroupArrayOutput() UserGroupArrayOutput
- func (o UserGroupArrayOutput) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput
- type UserGroupInput
- type UserGroupMap
- type UserGroupMapInput
- type UserGroupMapOutput
- type UserGroupOutput
- type UserGroupState
- type UserInput
- type UserMap
- type UserMapInput
- type UserMapOutput
- type UserOutput
- type UserState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func PkgVersion ¶ added in v4.37.2
PkgVersion uses reflection to determine the version of the current package.
Types ¶
type Cluster ¶
type Cluster struct { pulumi.CustomResourceState // 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"` // 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"` // 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) 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) 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 for supported versions. When `engine` is `redis` and the version is 6 or higher, only the major version can be set, e.g., `6.x`, otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, defined below. EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // The running version of the cache engine. EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` // 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"` // 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 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. NumCacheNodes pulumi.IntOutput `pulumi:"numCacheNodes"` // The 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"` // 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"` // 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"` // 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"` // 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"` // 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"` // 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"` // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` }
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
type ClusterArgs ¶
type ClusterArgs struct { // 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 // 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 // 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 for supported versions. When `engine` is `redis` and the version is 6 or higher, only the major version can be set, e.g., `6.x`, otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, defined below. EngineVersion pulumi.StringPtrInput // 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 // 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 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. NumCacheNodes pulumi.IntPtrInput // The 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 // 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 // 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 // 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 // Name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // 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 // 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 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. 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"` // 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"` // 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
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
type ClusterState ¶
type ClusterState struct { // 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 // 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 // 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) 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) 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 for supported versions. When `engine` is `redis` and the version is 6 or higher, only the major version can be set, e.g., `6.x`, otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, defined below. EngineVersion pulumi.StringPtrInput // The running version of the cache engine. EngineVersionActual pulumi.StringPtrInput // 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 // 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 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed. NumCacheNodes pulumi.IntPtrInput // The 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 // 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 // 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 // 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 // Name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // 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 // 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 // Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput TagsAll 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 // (**DEPRECATED** use `engineVersionActual` instead) The full version number of the cache engine running on the members of this global replication group. // // Deprecated: Use engine_version_actual instead 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"` // The full version number of the cache engine running on the members of this global replication group. EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` // 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
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
type GlobalReplicationGroupState ¶
type GlobalReplicationGroupState struct { // (**DEPRECATED** use `engineVersionActual` instead) The full version number of the cache engine running on the members of this global replication group. // // Deprecated: Use engine_version_actual instead 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 // The full version number of the cache engine running on the members of this global replication group. EngineVersionActual 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 LookupClusterOutputArgs ¶ added in v4.21.0
type LookupClusterOutputArgs struct { // Group identifier. ClusterId pulumi.StringInput `pulumi:"clusterId"` // The tags assigned to the resource Tags pulumi.StringMapInput `pulumi:"tags"` }
A collection of arguments for invoking getCluster.
func (LookupClusterOutputArgs) ElementType ¶ added in v4.21.0
func (LookupClusterOutputArgs) ElementType() reflect.Type
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 LookupClusterResultOutput ¶ added in v4.21.0
type LookupClusterResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getCluster.
func LookupClusterOutput ¶ added in v4.21.0
func LookupClusterOutput(ctx *pulumi.Context, args LookupClusterOutputArgs, opts ...pulumi.InvokeOption) LookupClusterResultOutput
func (LookupClusterResultOutput) Arn ¶ added in v4.21.0
func (o LookupClusterResultOutput) Arn() pulumi.StringOutput
func (LookupClusterResultOutput) AvailabilityZone ¶ added in v4.21.0
func (o LookupClusterResultOutput) AvailabilityZone() pulumi.StringOutput
The Availability Zone for the cache cluster.
func (LookupClusterResultOutput) CacheNodes ¶ added in v4.21.0
func (o LookupClusterResultOutput) CacheNodes() GetClusterCacheNodeArrayOutput
List of node objects including `id`, `address`, `port` and `availabilityZone`. Referenceable e.g., as `${data.aws_elasticache_cluster.bar.cache_nodes.0.address}`
func (LookupClusterResultOutput) ClusterAddress ¶ added in v4.21.0
func (o LookupClusterResultOutput) ClusterAddress() pulumi.StringOutput
(Memcached only) The DNS name of the cache cluster without the port appended.
func (LookupClusterResultOutput) ClusterId ¶ added in v4.21.0
func (o LookupClusterResultOutput) ClusterId() pulumi.StringOutput
func (LookupClusterResultOutput) ConfigurationEndpoint ¶ added in v4.21.0
func (o LookupClusterResultOutput) ConfigurationEndpoint() pulumi.StringOutput
(Memcached only) The configuration endpoint to allow host discovery.
func (LookupClusterResultOutput) ElementType ¶ added in v4.21.0
func (LookupClusterResultOutput) ElementType() reflect.Type
func (LookupClusterResultOutput) Engine ¶ added in v4.21.0
func (o LookupClusterResultOutput) Engine() pulumi.StringOutput
Name of the cache engine.
func (LookupClusterResultOutput) EngineVersion ¶ added in v4.21.0
func (o LookupClusterResultOutput) EngineVersion() pulumi.StringOutput
Version number of the cache engine.
func (LookupClusterResultOutput) Id ¶ added in v4.21.0
func (o LookupClusterResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (LookupClusterResultOutput) MaintenanceWindow ¶ added in v4.21.0
func (o LookupClusterResultOutput) MaintenanceWindow() pulumi.StringOutput
Specifies the weekly time range for when maintenance on the cache cluster is performed.
func (LookupClusterResultOutput) NodeType ¶ added in v4.21.0
func (o LookupClusterResultOutput) NodeType() pulumi.StringOutput
The cluster node type.
func (LookupClusterResultOutput) NotificationTopicArn ¶ added in v4.21.0
func (o LookupClusterResultOutput) NotificationTopicArn() pulumi.StringOutput
An Amazon Resource Name (ARN) of an SNS topic that ElastiCache notifications get sent to.
func (LookupClusterResultOutput) NumCacheNodes ¶ added in v4.21.0
func (o LookupClusterResultOutput) NumCacheNodes() pulumi.IntOutput
The number of cache nodes that the cache cluster has.
func (LookupClusterResultOutput) ParameterGroupName ¶ added in v4.21.0
func (o LookupClusterResultOutput) ParameterGroupName() pulumi.StringOutput
Name of the parameter group associated with this cache cluster.
func (LookupClusterResultOutput) Port ¶ added in v4.21.0
func (o LookupClusterResultOutput) Port() pulumi.IntOutput
The port number on which each of the cache nodes will accept connections.
func (LookupClusterResultOutput) ReplicationGroupId ¶ added in v4.21.0
func (o LookupClusterResultOutput) ReplicationGroupId() pulumi.StringOutput
The replication group to which this cache cluster belongs.
func (LookupClusterResultOutput) SecurityGroupIds ¶ added in v4.21.0
func (o LookupClusterResultOutput) SecurityGroupIds() pulumi.StringArrayOutput
List VPC security groups associated with the cache cluster.
func (LookupClusterResultOutput) SecurityGroupNames ¶ added in v4.21.0
func (o LookupClusterResultOutput) SecurityGroupNames() pulumi.StringArrayOutput
List of security group names associated with this cache cluster.
func (LookupClusterResultOutput) SnapshotRetentionLimit ¶ added in v4.21.0
func (o LookupClusterResultOutput) SnapshotRetentionLimit() pulumi.IntOutput
The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them.
func (LookupClusterResultOutput) SnapshotWindow ¶ added in v4.21.0
func (o LookupClusterResultOutput) SnapshotWindow() pulumi.StringOutput
The daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of the cache cluster.
func (LookupClusterResultOutput) SubnetGroupName ¶ added in v4.21.0
func (o LookupClusterResultOutput) SubnetGroupName() pulumi.StringOutput
Name of the subnet group associated to the cache cluster.
func (LookupClusterResultOutput) Tags ¶ added in v4.21.0
func (o LookupClusterResultOutput) Tags() pulumi.StringMapOutput
The tags assigned to the resource
func (LookupClusterResultOutput) ToLookupClusterResultOutput ¶ added in v4.21.0
func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput
func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext ¶ added in v4.21.0
func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput
type LookupReplicationGroupArgs ¶
type LookupReplicationGroupArgs struct { // The identifier for the replication group. ReplicationGroupId string `pulumi:"replicationGroupId"` }
A collection of arguments for invoking getReplicationGroup.
type LookupReplicationGroupOutputArgs ¶ added in v4.21.0
type LookupReplicationGroupOutputArgs struct { // The identifier for the replication group. ReplicationGroupId pulumi.StringInput `pulumi:"replicationGroupId"` }
A collection of arguments for invoking getReplicationGroup.
func (LookupReplicationGroupOutputArgs) ElementType ¶ added in v4.21.0
func (LookupReplicationGroupOutputArgs) ElementType() reflect.Type
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 LookupReplicationGroupResultOutput ¶ added in v4.21.0
type LookupReplicationGroupResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getReplicationGroup.
func LookupReplicationGroupOutput ¶ added in v4.21.0
func LookupReplicationGroupOutput(ctx *pulumi.Context, args LookupReplicationGroupOutputArgs, opts ...pulumi.InvokeOption) LookupReplicationGroupResultOutput
func (LookupReplicationGroupResultOutput) Arn ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) Arn() pulumi.StringOutput
The Amazon Resource Name (ARN) of the created ElastiCache Replication Group.
func (LookupReplicationGroupResultOutput) AuthTokenEnabled ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) AuthTokenEnabled() pulumi.BoolOutput
Specifies whether an AuthToken (password) is enabled.
func (LookupReplicationGroupResultOutput) AutomaticFailoverEnabled ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) AutomaticFailoverEnabled() pulumi.BoolOutput
A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.
func (LookupReplicationGroupResultOutput) ConfigurationEndpointAddress ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) ConfigurationEndpointAddress() pulumi.StringOutput
The configuration endpoint address to allow host discovery.
func (LookupReplicationGroupResultOutput) ElementType ¶ added in v4.21.0
func (LookupReplicationGroupResultOutput) ElementType() reflect.Type
func (LookupReplicationGroupResultOutput) Id ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (LookupReplicationGroupResultOutput) MemberClusters ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) MemberClusters() pulumi.StringArrayOutput
The identifiers of all the nodes that are part of this replication group.
func (LookupReplicationGroupResultOutput) MultiAzEnabled ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) MultiAzEnabled() pulumi.BoolOutput
Specifies whether Multi-AZ Support is enabled for the replication group.
func (LookupReplicationGroupResultOutput) NodeType ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) NodeType() pulumi.StringOutput
The cluster node type.
func (LookupReplicationGroupResultOutput) NumberCacheClusters ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) NumberCacheClusters() pulumi.IntOutput
The number of cache clusters that the replication group has.
func (LookupReplicationGroupResultOutput) Port ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) Port() pulumi.IntOutput
The port number on which the configuration endpoint will accept connections.
func (LookupReplicationGroupResultOutput) PrimaryEndpointAddress ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) PrimaryEndpointAddress() pulumi.StringOutput
The endpoint of the primary node in this node group (shard).
func (LookupReplicationGroupResultOutput) ReaderEndpointAddress ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) ReaderEndpointAddress() pulumi.StringOutput
The endpoint of the reader node in this node group (shard).
func (LookupReplicationGroupResultOutput) ReplicationGroupDescription ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) ReplicationGroupDescription() pulumi.StringOutput
The description of the replication group.
func (LookupReplicationGroupResultOutput) ReplicationGroupId ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) ReplicationGroupId() pulumi.StringOutput
func (LookupReplicationGroupResultOutput) SnapshotRetentionLimit ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) SnapshotRetentionLimit() pulumi.IntOutput
The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.
func (LookupReplicationGroupResultOutput) SnapshotWindow ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) SnapshotWindow() pulumi.StringOutput
The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).
func (LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutput ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutput() LookupReplicationGroupResultOutput
func (LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutputWithContext ¶ added in v4.21.0
func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutputWithContext(ctx context.Context) LookupReplicationGroupResultOutput
type LookupUserArgs ¶ added in v4.14.0
type LookupUserArgs struct { // A string for what access a user possesses within the associated ElastiCache replication groups or clusters. AccessString *string `pulumi:"accessString"` Engine *string `pulumi:"engine"` NoPasswordRequired *bool `pulumi:"noPasswordRequired"` Passwords []string `pulumi:"passwords"` // The identifier for the user. UserId string `pulumi:"userId"` // The user name of the user. UserName *string `pulumi:"userName"` }
A collection of arguments for invoking getUser.
type LookupUserOutputArgs ¶ added in v4.21.0
type LookupUserOutputArgs struct { // A string for what access a user possesses within the associated ElastiCache replication groups or clusters. AccessString pulumi.StringPtrInput `pulumi:"accessString"` Engine pulumi.StringPtrInput `pulumi:"engine"` NoPasswordRequired pulumi.BoolPtrInput `pulumi:"noPasswordRequired"` Passwords pulumi.StringArrayInput `pulumi:"passwords"` // The identifier for the user. UserId pulumi.StringInput `pulumi:"userId"` // The user name of the user. UserName pulumi.StringPtrInput `pulumi:"userName"` }
A collection of arguments for invoking getUser.
func (LookupUserOutputArgs) ElementType ¶ added in v4.21.0
func (LookupUserOutputArgs) ElementType() reflect.Type
type LookupUserResult ¶ added in v4.14.0
type LookupUserResult struct { // A string for what access a user possesses within the associated ElastiCache replication groups or clusters. AccessString *string `pulumi:"accessString"` Engine *string `pulumi:"engine"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` NoPasswordRequired *bool `pulumi:"noPasswordRequired"` Passwords []string `pulumi:"passwords"` // The identifier for the user. UserId string `pulumi:"userId"` // The user name of the user. UserName *string `pulumi:"userName"` }
A collection of values returned by getUser.
func LookupUser ¶ added in v4.14.0
func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error)
Use this data source to get information about an Elasticache User.
## 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.LookupUser(ctx, &elasticache.LookupUserArgs{ UserId: "example", }, nil) if err != nil { return err } return nil }) }
```
type LookupUserResultOutput ¶ added in v4.21.0
type LookupUserResultOutput struct{ *pulumi.OutputState }
A collection of values returned by getUser.
func LookupUserOutput ¶ added in v4.21.0
func LookupUserOutput(ctx *pulumi.Context, args LookupUserOutputArgs, opts ...pulumi.InvokeOption) LookupUserResultOutput
func (LookupUserResultOutput) AccessString ¶ added in v4.21.0
func (o LookupUserResultOutput) AccessString() pulumi.StringPtrOutput
A string for what access a user possesses within the associated ElastiCache replication groups or clusters.
func (LookupUserResultOutput) ElementType ¶ added in v4.21.0
func (LookupUserResultOutput) ElementType() reflect.Type
func (LookupUserResultOutput) Engine ¶ added in v4.21.0
func (o LookupUserResultOutput) Engine() pulumi.StringPtrOutput
func (LookupUserResultOutput) Id ¶ added in v4.21.0
func (o LookupUserResultOutput) Id() pulumi.StringOutput
The provider-assigned unique ID for this managed resource.
func (LookupUserResultOutput) NoPasswordRequired ¶ added in v4.21.0
func (o LookupUserResultOutput) NoPasswordRequired() pulumi.BoolPtrOutput
func (LookupUserResultOutput) Passwords ¶ added in v4.21.0
func (o LookupUserResultOutput) Passwords() pulumi.StringArrayOutput
func (LookupUserResultOutput) ToLookupUserResultOutput ¶ added in v4.21.0
func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput
func (LookupUserResultOutput) ToLookupUserResultOutputWithContext ¶ added in v4.21.0
func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput
func (LookupUserResultOutput) UserId ¶ added in v4.21.0
func (o LookupUserResultOutput) UserId() pulumi.StringOutput
The identifier for the user.
func (LookupUserResultOutput) UserName ¶ added in v4.21.0
func (o LookupUserResultOutput) UserName() pulumi.StringPtrOutput
The user name of the user.
type ParameterGroup ¶
type ParameterGroup struct { pulumi.CustomResourceState // The AWS ARN associated with the parameter group. Arn pulumi.StringOutput `pulumi:"arn"` // 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"` // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` }
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
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 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput }
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
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 ParameterGroupState ¶
type ParameterGroupState struct { // The AWS ARN associated with the parameter group. Arn pulumi.StringPtrInput // 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 // Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block. TagsAll pulumi.StringMapInput }
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"` // ARN of the created ElastiCache Replication Group. Arn pulumi.StringOutput `pulumi:"arn"` // Whether to enable encryption at rest. AtRestEncryptionEnabled pulumi.BoolOutput `pulumi:"atRestEncryptionEnabled"` // 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"` // 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. 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"` // Address of the replication group configuration endpoint when cluster mode is enabled. ConfigurationEndpointAddress pulumi.StringOutput `pulumi:"configurationEndpointAddress"` // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes. DataTieringEnabled pulumi.BoolOutput `pulumi:"dataTieringEnabled"` // 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"` // Version number of the cache engine to be used for the cache clusters in this replication group. If the version is 6 or higher, only the major version can be set, e.g., `6.x`, otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, defined below. EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // Running version of the cache engine. EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"` // 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. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter of the `clusterMode` block cannot be set. 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"` // 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"` // 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"` // 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"` // 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"` // 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"` // 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) 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) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. ReaderEndpointAddress pulumi.StringOutput `pulumi:"readerEndpointAddress"` // User-created description for the replication group. ReplicationGroupDescription pulumi.StringOutput `pulumi:"replicationGroupDescription"` // 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"` // List of cache security group names to associate with this replication group. SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"` // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"` // 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"` // 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"` // 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"` // Name of the cache subnet group to be used for the replication group. SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"` Tags pulumi.StringMapOutput `pulumi:"tags"` TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"` // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds pulumi.StringArrayOutput `pulumi:"userGroupIds"` }
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
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 // 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 // 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. 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 // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes. DataTieringEnabled pulumi.BoolPtrInput // Name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`. Engine pulumi.StringPtrInput // Version number of the cache engine to be used for the cache clusters in this replication group. If the version is 6 or higher, only the major version can be set, e.g., `6.x`, otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, defined below. 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. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter of the `clusterMode` block cannot be set. 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 // 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 // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput // 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 // 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 // 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 // User-created description for the replication group. ReplicationGroupDescription pulumi.StringInput // 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 // List of cache security group names to associate with this replication group. SecurityGroupNames pulumi.StringArrayInput // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayInput // Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // 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 // 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 // Name of the cache subnet group to be used for the replication group. SubnetGroupName pulumi.StringPtrInput Tags pulumi.StringMapInput // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolPtrInput // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds pulumi.StringArrayInput }
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 { // Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set. NumNodeGroups *int `pulumi:"numNodeGroups"` // 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 { // Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set. NumNodeGroups pulumi.IntPtrInput `pulumi:"numNodeGroups"` // 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.IntPtrOutput
Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set.
func (ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup ¶
func (o ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup() pulumi.IntOutput
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
Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set.
func (ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup ¶
func (o ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup() pulumi.IntPtrOutput
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
type ReplicationGroupState ¶
type ReplicationGroupState struct { // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. ApplyImmediately pulumi.BoolPtrInput // ARN of the created ElastiCache Replication Group. Arn pulumi.StringPtrInput // Whether to enable encryption at rest. AtRestEncryptionEnabled pulumi.BoolPtrInput // 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 // 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. 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 // Address of the replication group configuration endpoint when cluster mode is enabled. ConfigurationEndpointAddress pulumi.StringPtrInput // Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes. DataTieringEnabled pulumi.BoolPtrInput // Name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`. Engine pulumi.StringPtrInput // Version number of the cache engine to be used for the cache clusters in this replication group. If the version is 6 or higher, only the major version can be set, e.g., `6.x`, otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, defined below. EngineVersion pulumi.StringPtrInput // Running version of the cache engine. EngineVersionActual 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. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter of the `clusterMode` block cannot be set. 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 // 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 // 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 // ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput // 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 // 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 // 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) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled. PrimaryEndpointAddress pulumi.StringPtrInput // (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. ReaderEndpointAddress pulumi.StringPtrInput // User-created description for the replication group. ReplicationGroupDescription pulumi.StringPtrInput // 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 // List of cache security group names to associate with this replication group. SecurityGroupNames pulumi.StringArrayInput // List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayInput // Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // 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 // 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 // Name of the cache subnet group to be used for the replication group. SubnetGroupName pulumi.StringPtrInput Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolPtrInput // User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one. UserGroupIds pulumi.StringArrayInput }
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
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
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 Arn pulumi.StringOutput `pulumi:"arn"` // 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"` // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapOutput `pulumi:"tags"` // A map of tags assigned to the resource, including those inherited from the provider . TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` }
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
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 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput }
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
type SubnetGroupState ¶
type SubnetGroupState struct { Arn pulumi.StringPtrInput // 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 // Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level. Tags pulumi.StringMapInput // A map of tags assigned to the resource, including those inherited from the provider . TagsAll pulumi.StringMapInput }
func (SubnetGroupState) ElementType ¶
func (SubnetGroupState) ElementType() reflect.Type
type User ¶ added in v4.14.0
type User struct { pulumi.CustomResourceState // Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. AccessString pulumi.StringOutput `pulumi:"accessString"` // The ARN of the created ElastiCache User. Arn pulumi.StringOutput `pulumi:"arn"` // The current supported value is `REDIS`. Engine pulumi.StringOutput `pulumi:"engine"` // Indicates a password is not required for this user. NoPasswordRequired pulumi.BoolPtrOutput `pulumi:"noPasswordRequired"` // Passwords used for this user. You can create up to two passwords for each user. Passwords pulumi.StringArrayOutput `pulumi:"passwords"` // A list of tags to be added to this resource. A tag is a key-value pair. Tags pulumi.StringMapOutput `pulumi:"tags"` TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // The ID of the user. UserId pulumi.StringOutput `pulumi:"userId"` // The username of the user. UserName pulumi.StringOutput `pulumi:"userName"` }
## 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.NewUser(ctx, "test", &elasticache.UserArgs{ AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"), Engine: pulumi.String("REDIS"), Passwords: pulumi.StringArray{ pulumi.String("password123456789"), }, UserId: pulumi.String("testUserId"), UserName: pulumi.String("testUserName"), }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache users can be imported using the `user_id`, e.g.,
```sh
$ pulumi import aws:elasticache/user:User my_user userId1
```
func GetUser ¶ added in v4.14.0
func GetUser(ctx *pulumi.Context, name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)
GetUser gets an existing User 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 NewUser ¶ added in v4.14.0
func NewUser(ctx *pulumi.Context, name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)
NewUser registers a new resource with the given unique name, arguments, and options.
func (*User) ElementType ¶ added in v4.14.0
func (*User) ToUserOutput ¶ added in v4.14.0
func (i *User) ToUserOutput() UserOutput
func (*User) ToUserOutputWithContext ¶ added in v4.14.0
func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput
type UserArgs ¶ added in v4.14.0
type UserArgs struct { // Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. AccessString pulumi.StringInput // The ARN of the created ElastiCache User. Arn pulumi.StringPtrInput // The current supported value is `REDIS`. Engine pulumi.StringInput // Indicates a password is not required for this user. NoPasswordRequired pulumi.BoolPtrInput // Passwords used for this user. You can create up to two passwords for each user. Passwords pulumi.StringArrayInput // A list of tags to be added to this resource. A tag is a key-value pair. Tags pulumi.StringMapInput // The ID of the user. UserId pulumi.StringInput // The username of the user. UserName pulumi.StringInput }
The set of arguments for constructing a User resource.
func (UserArgs) ElementType ¶ added in v4.14.0
type UserArray ¶ added in v4.14.0
type UserArray []UserInput
func (UserArray) ElementType ¶ added in v4.14.0
func (UserArray) ToUserArrayOutput ¶ added in v4.14.0
func (i UserArray) ToUserArrayOutput() UserArrayOutput
func (UserArray) ToUserArrayOutputWithContext ¶ added in v4.14.0
func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput
type UserArrayInput ¶ added in v4.14.0
type UserArrayInput interface { pulumi.Input ToUserArrayOutput() UserArrayOutput ToUserArrayOutputWithContext(context.Context) UserArrayOutput }
UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:
UserArray{ UserArgs{...} }
type UserArrayOutput ¶ added in v4.14.0
type UserArrayOutput struct{ *pulumi.OutputState }
func (UserArrayOutput) ElementType ¶ added in v4.14.0
func (UserArrayOutput) ElementType() reflect.Type
func (UserArrayOutput) Index ¶ added in v4.14.0
func (o UserArrayOutput) Index(i pulumi.IntInput) UserOutput
func (UserArrayOutput) ToUserArrayOutput ¶ added in v4.14.0
func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput
func (UserArrayOutput) ToUserArrayOutputWithContext ¶ added in v4.14.0
func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput
type UserGroup ¶ added in v4.14.0
type UserGroup struct { pulumi.CustomResourceState Arn pulumi.StringOutput `pulumi:"arn"` // The current supported value is `REDIS`. Engine pulumi.StringOutput `pulumi:"engine"` Tags pulumi.StringMapOutput `pulumi:"tags"` TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"` // The ID of the user group. UserGroupId pulumi.StringOutput `pulumi:"userGroupId"` // The list of user IDs that belong to the user group. UserIds pulumi.StringArrayOutput `pulumi:"userIds"` }
Provides an ElastiCache user group resource.
## 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 { testUser, err := elasticache.NewUser(ctx, "testUser", &elasticache.UserArgs{ UserId: pulumi.String("testUserId"), UserName: pulumi.String("default"), AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"), Engine: pulumi.String("REDIS"), Passwords: pulumi.StringArray{ pulumi.String("password123456789"), }, }) if err != nil { return err } _, err = elasticache.NewUserGroup(ctx, "testUserGroup", &elasticache.UserGroupArgs{ Engine: pulumi.String("REDIS"), UserGroupId: pulumi.String("userGroupId"), UserIds: pulumi.StringArray{ testUser.UserId, }, }) if err != nil { return err } return nil }) }
```
## Import
ElastiCache user groups can be imported using the `user_group_id`, e.g.,
```sh
$ pulumi import aws:elasticache/userGroup:UserGroup my_user_group userGoupId1
```
func GetUserGroup ¶ added in v4.14.0
func GetUserGroup(ctx *pulumi.Context, name string, id pulumi.IDInput, state *UserGroupState, opts ...pulumi.ResourceOption) (*UserGroup, error)
GetUserGroup gets an existing UserGroup 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 NewUserGroup ¶ added in v4.14.0
func NewUserGroup(ctx *pulumi.Context, name string, args *UserGroupArgs, opts ...pulumi.ResourceOption) (*UserGroup, error)
NewUserGroup registers a new resource with the given unique name, arguments, and options.
func (*UserGroup) ElementType ¶ added in v4.14.0
func (*UserGroup) ToUserGroupOutput ¶ added in v4.14.0
func (i *UserGroup) ToUserGroupOutput() UserGroupOutput
func (*UserGroup) ToUserGroupOutputWithContext ¶ added in v4.14.0
func (i *UserGroup) ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput
type UserGroupArgs ¶ added in v4.14.0
type UserGroupArgs struct { Arn pulumi.StringPtrInput // The current supported value is `REDIS`. Engine pulumi.StringInput Tags pulumi.StringMapInput // The ID of the user group. UserGroupId pulumi.StringInput // The list of user IDs that belong to the user group. UserIds pulumi.StringArrayInput }
The set of arguments for constructing a UserGroup resource.
func (UserGroupArgs) ElementType ¶ added in v4.14.0
func (UserGroupArgs) ElementType() reflect.Type
type UserGroupArray ¶ added in v4.14.0
type UserGroupArray []UserGroupInput
func (UserGroupArray) ElementType ¶ added in v4.14.0
func (UserGroupArray) ElementType() reflect.Type
func (UserGroupArray) ToUserGroupArrayOutput ¶ added in v4.14.0
func (i UserGroupArray) ToUserGroupArrayOutput() UserGroupArrayOutput
func (UserGroupArray) ToUserGroupArrayOutputWithContext ¶ added in v4.14.0
func (i UserGroupArray) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput
type UserGroupArrayInput ¶ added in v4.14.0
type UserGroupArrayInput interface { pulumi.Input ToUserGroupArrayOutput() UserGroupArrayOutput ToUserGroupArrayOutputWithContext(context.Context) UserGroupArrayOutput }
UserGroupArrayInput is an input type that accepts UserGroupArray and UserGroupArrayOutput values. You can construct a concrete instance of `UserGroupArrayInput` via:
UserGroupArray{ UserGroupArgs{...} }
type UserGroupArrayOutput ¶ added in v4.14.0
type UserGroupArrayOutput struct{ *pulumi.OutputState }
func (UserGroupArrayOutput) ElementType ¶ added in v4.14.0
func (UserGroupArrayOutput) ElementType() reflect.Type
func (UserGroupArrayOutput) Index ¶ added in v4.14.0
func (o UserGroupArrayOutput) Index(i pulumi.IntInput) UserGroupOutput
func (UserGroupArrayOutput) ToUserGroupArrayOutput ¶ added in v4.14.0
func (o UserGroupArrayOutput) ToUserGroupArrayOutput() UserGroupArrayOutput
func (UserGroupArrayOutput) ToUserGroupArrayOutputWithContext ¶ added in v4.14.0
func (o UserGroupArrayOutput) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput
type UserGroupInput ¶ added in v4.14.0
type UserGroupInput interface { pulumi.Input ToUserGroupOutput() UserGroupOutput ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput }
type UserGroupMap ¶ added in v4.14.0
type UserGroupMap map[string]UserGroupInput
func (UserGroupMap) ElementType ¶ added in v4.14.0
func (UserGroupMap) ElementType() reflect.Type
func (UserGroupMap) ToUserGroupMapOutput ¶ added in v4.14.0
func (i UserGroupMap) ToUserGroupMapOutput() UserGroupMapOutput
func (UserGroupMap) ToUserGroupMapOutputWithContext ¶ added in v4.14.0
func (i UserGroupMap) ToUserGroupMapOutputWithContext(ctx context.Context) UserGroupMapOutput
type UserGroupMapInput ¶ added in v4.14.0
type UserGroupMapInput interface { pulumi.Input ToUserGroupMapOutput() UserGroupMapOutput ToUserGroupMapOutputWithContext(context.Context) UserGroupMapOutput }
UserGroupMapInput is an input type that accepts UserGroupMap and UserGroupMapOutput values. You can construct a concrete instance of `UserGroupMapInput` via:
UserGroupMap{ "key": UserGroupArgs{...} }
type UserGroupMapOutput ¶ added in v4.14.0
type UserGroupMapOutput struct{ *pulumi.OutputState }
func (UserGroupMapOutput) ElementType ¶ added in v4.14.0
func (UserGroupMapOutput) ElementType() reflect.Type
func (UserGroupMapOutput) MapIndex ¶ added in v4.14.0
func (o UserGroupMapOutput) MapIndex(k pulumi.StringInput) UserGroupOutput
func (UserGroupMapOutput) ToUserGroupMapOutput ¶ added in v4.14.0
func (o UserGroupMapOutput) ToUserGroupMapOutput() UserGroupMapOutput
func (UserGroupMapOutput) ToUserGroupMapOutputWithContext ¶ added in v4.14.0
func (o UserGroupMapOutput) ToUserGroupMapOutputWithContext(ctx context.Context) UserGroupMapOutput
type UserGroupOutput ¶ added in v4.14.0
type UserGroupOutput struct{ *pulumi.OutputState }
func (UserGroupOutput) ElementType ¶ added in v4.14.0
func (UserGroupOutput) ElementType() reflect.Type
func (UserGroupOutput) ToUserGroupOutput ¶ added in v4.14.0
func (o UserGroupOutput) ToUserGroupOutput() UserGroupOutput
func (UserGroupOutput) ToUserGroupOutputWithContext ¶ added in v4.14.0
func (o UserGroupOutput) ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput
type UserGroupState ¶ added in v4.14.0
type UserGroupState struct { Arn pulumi.StringPtrInput // The current supported value is `REDIS`. Engine pulumi.StringPtrInput Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // The ID of the user group. UserGroupId pulumi.StringPtrInput // The list of user IDs that belong to the user group. UserIds pulumi.StringArrayInput }
func (UserGroupState) ElementType ¶ added in v4.14.0
func (UserGroupState) ElementType() reflect.Type
type UserInput ¶ added in v4.14.0
type UserInput interface { pulumi.Input ToUserOutput() UserOutput ToUserOutputWithContext(ctx context.Context) UserOutput }
type UserMap ¶ added in v4.14.0
func (UserMap) ElementType ¶ added in v4.14.0
func (UserMap) ToUserMapOutput ¶ added in v4.14.0
func (i UserMap) ToUserMapOutput() UserMapOutput
func (UserMap) ToUserMapOutputWithContext ¶ added in v4.14.0
func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput
type UserMapInput ¶ added in v4.14.0
type UserMapInput interface { pulumi.Input ToUserMapOutput() UserMapOutput ToUserMapOutputWithContext(context.Context) UserMapOutput }
UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:
UserMap{ "key": UserArgs{...} }
type UserMapOutput ¶ added in v4.14.0
type UserMapOutput struct{ *pulumi.OutputState }
func (UserMapOutput) ElementType ¶ added in v4.14.0
func (UserMapOutput) ElementType() reflect.Type
func (UserMapOutput) MapIndex ¶ added in v4.14.0
func (o UserMapOutput) MapIndex(k pulumi.StringInput) UserOutput
func (UserMapOutput) ToUserMapOutput ¶ added in v4.14.0
func (o UserMapOutput) ToUserMapOutput() UserMapOutput
func (UserMapOutput) ToUserMapOutputWithContext ¶ added in v4.14.0
func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput
type UserOutput ¶ added in v4.14.0
type UserOutput struct{ *pulumi.OutputState }
func (UserOutput) ElementType ¶ added in v4.14.0
func (UserOutput) ElementType() reflect.Type
func (UserOutput) ToUserOutput ¶ added in v4.14.0
func (o UserOutput) ToUserOutput() UserOutput
func (UserOutput) ToUserOutputWithContext ¶ added in v4.14.0
func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput
type UserState ¶ added in v4.14.0
type UserState struct { // Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details. AccessString pulumi.StringPtrInput // The ARN of the created ElastiCache User. Arn pulumi.StringPtrInput // The current supported value is `REDIS`. Engine pulumi.StringPtrInput // Indicates a password is not required for this user. NoPasswordRequired pulumi.BoolPtrInput // Passwords used for this user. You can create up to two passwords for each user. Passwords pulumi.StringArrayInput // A list of tags to be added to this resource. A tag is a key-value pair. Tags pulumi.StringMapInput TagsAll pulumi.StringMapInput // The ID of the user. UserId pulumi.StringPtrInput // The username of the user. UserName pulumi.StringPtrInput }