Documentation ¶
Index ¶
- type Cluster
- func (*Cluster) ElementType() reflect.Type
- func (i *Cluster) ToClusterOutput() ClusterOutput
- func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
- func (i *Cluster) ToClusterPtrOutput() ClusterPtrOutput
- func (i *Cluster) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
- type ClusterArgs
- type ClusterArray
- type ClusterArrayInput
- type ClusterArrayOutput
- type ClusterCacheNode
- type ClusterCacheNodeArgs
- type ClusterCacheNodeArray
- type ClusterCacheNodeArrayInput
- type ClusterCacheNodeArrayOutput
- func (ClusterCacheNodeArrayOutput) ElementType() reflect.Type
- func (o ClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) ClusterCacheNodeOutput
- func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput
- func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext(ctx context.Context) ClusterCacheNodeArrayOutput
- type ClusterCacheNodeInput
- type ClusterCacheNodeOutput
- func (o ClusterCacheNodeOutput) Address() pulumi.StringPtrOutput
- func (o ClusterCacheNodeOutput) AvailabilityZone() pulumi.StringPtrOutput
- func (ClusterCacheNodeOutput) ElementType() reflect.Type
- func (o ClusterCacheNodeOutput) Id() pulumi.StringPtrOutput
- func (o ClusterCacheNodeOutput) Port() pulumi.IntPtrOutput
- func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutput() ClusterCacheNodeOutput
- func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput
- type ClusterInput
- type ClusterMap
- type ClusterMapInput
- type ClusterMapOutput
- type ClusterOutput
- func (ClusterOutput) ElementType() reflect.Type
- func (o ClusterOutput) ToClusterOutput() ClusterOutput
- func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
- func (o ClusterOutput) ToClusterPtrOutput() ClusterPtrOutput
- func (o ClusterOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
- type ClusterPtrInput
- type ClusterPtrOutput
- type ClusterState
- type GetClusterCacheNode
- type GetClusterCacheNodeArgs
- type GetClusterCacheNodeArray
- type GetClusterCacheNodeArrayInput
- type GetClusterCacheNodeArrayOutput
- func (GetClusterCacheNodeArrayOutput) ElementType() reflect.Type
- func (o GetClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) GetClusterCacheNodeOutput
- func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput
- func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext(ctx context.Context) GetClusterCacheNodeArrayOutput
- type GetClusterCacheNodeInput
- type GetClusterCacheNodeOutput
- func (o GetClusterCacheNodeOutput) Address() pulumi.StringOutput
- func (o GetClusterCacheNodeOutput) AvailabilityZone() pulumi.StringOutput
- func (GetClusterCacheNodeOutput) ElementType() reflect.Type
- func (o GetClusterCacheNodeOutput) Id() pulumi.StringOutput
- func (o GetClusterCacheNodeOutput) Port() pulumi.IntOutput
- func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput
- func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext(ctx context.Context) GetClusterCacheNodeOutput
- type GlobalReplicationGroup
- func (*GlobalReplicationGroup) ElementType() reflect.Type
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
- func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
- type GlobalReplicationGroupArgs
- type GlobalReplicationGroupArray
- func (GlobalReplicationGroupArray) ElementType() reflect.Type
- func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
- func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
- type GlobalReplicationGroupArrayInput
- type GlobalReplicationGroupArrayOutput
- func (GlobalReplicationGroupArrayOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupArrayOutput) Index(i pulumi.IntInput) GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
- func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
- type GlobalReplicationGroupInput
- type GlobalReplicationGroupMap
- type GlobalReplicationGroupMapInput
- type GlobalReplicationGroupMapOutput
- func (GlobalReplicationGroupMapOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
- func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput
- type GlobalReplicationGroupOutput
- func (GlobalReplicationGroupOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
- func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
- type GlobalReplicationGroupPtrInput
- type GlobalReplicationGroupPtrOutput
- func (GlobalReplicationGroupPtrOutput) ElementType() reflect.Type
- func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
- func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
- type GlobalReplicationGroupState
- type LookupClusterArgs
- type LookupClusterResult
- type LookupReplicationGroupArgs
- type LookupReplicationGroupResult
- type ParameterGroup
- func (*ParameterGroup) ElementType() reflect.Type
- func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput
- func (i *ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
- func (i *ParameterGroup) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
- func (i *ParameterGroup) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
- type ParameterGroupArgs
- type ParameterGroupArray
- type ParameterGroupArrayInput
- type ParameterGroupArrayOutput
- func (ParameterGroupArrayOutput) ElementType() reflect.Type
- func (o ParameterGroupArrayOutput) Index(i pulumi.IntInput) ParameterGroupOutput
- func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput
- func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput
- type ParameterGroupInput
- type ParameterGroupMap
- type ParameterGroupMapInput
- type ParameterGroupMapOutput
- func (ParameterGroupMapOutput) ElementType() reflect.Type
- func (o ParameterGroupMapOutput) MapIndex(k pulumi.StringInput) ParameterGroupOutput
- func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput
- func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput
- type ParameterGroupOutput
- func (ParameterGroupOutput) ElementType() reflect.Type
- func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput
- func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
- func (o ParameterGroupOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
- func (o ParameterGroupOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
- type ParameterGroupParameter
- type ParameterGroupParameterArgs
- type ParameterGroupParameterArray
- func (ParameterGroupParameterArray) ElementType() reflect.Type
- func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
- func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput
- type ParameterGroupParameterArrayInput
- type ParameterGroupParameterArrayOutput
- func (ParameterGroupParameterArrayOutput) ElementType() reflect.Type
- func (o ParameterGroupParameterArrayOutput) Index(i pulumi.IntInput) ParameterGroupParameterOutput
- func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
- func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput
- type ParameterGroupParameterInput
- type ParameterGroupParameterOutput
- func (ParameterGroupParameterOutput) ElementType() reflect.Type
- func (o ParameterGroupParameterOutput) Name() pulumi.StringOutput
- func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput
- func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput
- func (o ParameterGroupParameterOutput) Value() pulumi.StringOutput
- type ParameterGroupPtrInput
- type ParameterGroupPtrOutput
- type ParameterGroupState
- type ReplicationGroup
- func (*ReplicationGroup) ElementType() reflect.Type
- func (i *ReplicationGroup) ToReplicationGroupOutput() ReplicationGroupOutput
- func (i *ReplicationGroup) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
- func (i *ReplicationGroup) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
- func (i *ReplicationGroup) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
- type ReplicationGroupArgs
- type ReplicationGroupArray
- type ReplicationGroupArrayInput
- type ReplicationGroupArrayOutput
- func (ReplicationGroupArrayOutput) ElementType() reflect.Type
- func (o ReplicationGroupArrayOutput) Index(i pulumi.IntInput) ReplicationGroupOutput
- func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
- func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput
- type ReplicationGroupClusterMode
- type ReplicationGroupClusterModeArgs
- func (ReplicationGroupClusterModeArgs) ElementType() reflect.Type
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
- func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
- type ReplicationGroupClusterModeInput
- type ReplicationGroupClusterModeOutput
- func (ReplicationGroupClusterModeOutput) ElementType() reflect.Type
- func (o ReplicationGroupClusterModeOutput) NumNodeGroups() pulumi.IntOutput
- func (o ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup() pulumi.IntOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
- func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
- type ReplicationGroupClusterModePtrInput
- type ReplicationGroupClusterModePtrOutput
- func (o ReplicationGroupClusterModePtrOutput) Elem() ReplicationGroupClusterModeOutput
- func (ReplicationGroupClusterModePtrOutput) ElementType() reflect.Type
- func (o ReplicationGroupClusterModePtrOutput) NumNodeGroups() pulumi.IntPtrOutput
- func (o ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup() pulumi.IntPtrOutput
- func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
- func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
- type ReplicationGroupInput
- type ReplicationGroupMap
- type ReplicationGroupMapInput
- type ReplicationGroupMapOutput
- func (ReplicationGroupMapOutput) ElementType() reflect.Type
- func (o ReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) ReplicationGroupOutput
- func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutput() ReplicationGroupMapOutput
- func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput
- type ReplicationGroupOutput
- func (ReplicationGroupOutput) ElementType() reflect.Type
- func (o ReplicationGroupOutput) ToReplicationGroupOutput() ReplicationGroupOutput
- func (o ReplicationGroupOutput) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
- func (o ReplicationGroupOutput) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
- func (o ReplicationGroupOutput) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
- type ReplicationGroupPtrInput
- type ReplicationGroupPtrOutput
- type ReplicationGroupState
- type SecurityGroup
- func (*SecurityGroup) ElementType() reflect.Type
- func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput
- func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
- func (i *SecurityGroup) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
- func (i *SecurityGroup) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
- type SecurityGroupArgs
- type SecurityGroupArray
- type SecurityGroupArrayInput
- type SecurityGroupArrayOutput
- func (SecurityGroupArrayOutput) ElementType() reflect.Type
- func (o SecurityGroupArrayOutput) Index(i pulumi.IntInput) SecurityGroupOutput
- func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
- func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput
- type SecurityGroupInput
- type SecurityGroupMap
- type SecurityGroupMapInput
- type SecurityGroupMapOutput
- func (SecurityGroupMapOutput) ElementType() reflect.Type
- func (o SecurityGroupMapOutput) MapIndex(k pulumi.StringInput) SecurityGroupOutput
- func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput
- func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput
- type SecurityGroupOutput
- func (SecurityGroupOutput) ElementType() reflect.Type
- func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput
- func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
- func (o SecurityGroupOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
- func (o SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
- type SecurityGroupPtrInput
- type SecurityGroupPtrOutput
- type SecurityGroupState
- type SubnetGroup
- func (*SubnetGroup) ElementType() reflect.Type
- func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput
- func (i *SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
- func (i *SubnetGroup) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
- func (i *SubnetGroup) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
- type SubnetGroupArgs
- type SubnetGroupArray
- type SubnetGroupArrayInput
- type SubnetGroupArrayOutput
- func (SubnetGroupArrayOutput) ElementType() reflect.Type
- func (o SubnetGroupArrayOutput) Index(i pulumi.IntInput) SubnetGroupOutput
- func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
- func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput
- type SubnetGroupInput
- type SubnetGroupMap
- type SubnetGroupMapInput
- type SubnetGroupMapOutput
- func (SubnetGroupMapOutput) ElementType() reflect.Type
- func (o SubnetGroupMapOutput) MapIndex(k pulumi.StringInput) SubnetGroupOutput
- func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput
- func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput
- type SubnetGroupOutput
- func (SubnetGroupOutput) ElementType() reflect.Type
- func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput
- func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
- func (o SubnetGroupOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
- func (o SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
- type SubnetGroupPtrInput
- type SubnetGroupPtrOutput
- type SubnetGroupState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct { pulumi.CustomResourceState // Specifies whether any database modifications // are applied immediately, or during the next maintenance window. Default is // `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` // The ARN of the created ElastiCache Cluster. Arn pulumi.StringOutput `pulumi:"arn"` // The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource. AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `numCacheNodes` must be greater than `1` AzMode pulumi.StringOutput `pulumi:"azMode"` // List of node objects including `id`, `address`, `port` and `availabilityZone`. CacheNodes ClusterCacheNodeArrayOutput `pulumi:"cacheNodes"` // (Memcached only) The DNS name of the cache cluster without the port appended. ClusterAddress pulumi.StringOutput `pulumi:"clusterAddress"` // Group identifier. ElastiCache converts // this name to lowercase. Changing this value will re-create the resource. ClusterId pulumi.StringOutput `pulumi:"clusterId"` // (Memcached only) The configuration endpoint to allow host discovery. ConfigurationEndpoint pulumi.StringOutput `pulumi:"configurationEndpoint"` // Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`. Engine pulumi.StringOutput `pulumi:"engine"` // Version number of the cache engine to be used. // See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) // in the AWS Documentation center for supported versions EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // The name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` // Specifies the weekly time range for when maintenance // on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). // The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"` // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. NodeType pulumi.StringOutput `pulumi:"nodeType"` // An Amazon Resource Name (ARN) of an // SNS topic to send ElastiCache notifications to. Example: // `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"` // The initial number of cache nodes that the // cache cluster will have. For Redis, this value must be 1. For Memcached, this // value must be between 1 and 20. If this number is reduced on subsequent runs, // the highest numbered nodes will be removed. NumCacheNodes pulumi.IntOutput `pulumi:"numCacheNodes"` // Name of the parameter group to associate // with this cache cluster ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"` // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. Port pulumi.IntOutput `pulumi:"port"` // A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. PreferredAvailabilityZones pulumi.StringArrayOutput `pulumi:"preferredAvailabilityZones"` // The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"` // One or more VPC security groups associated with the cache cluster SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` // List of security group names to associate with this cache cluster. Changing this value will re-create the resource. SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"` // A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"` // The name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"` // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. For example, if you set // SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days // before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. // Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"` // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"` // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"` // A map of tags to assign to the resource Tags pulumi.StringMapOutput `pulumi:"tags"` }
Provides an ElastiCache Cluster resource, which manages either a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a [single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a [read replica in a Redis (Cluster Mode Enabled) replication group].
For working with Redis (Cluster Mode Enabled) replication groups, see the `elasticache.ReplicationGroup` resource.
> **Note:** When you change an attribute, such as `numCacheNodes`, by default it is applied in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately. Using `applyImmediately` can result in a brief downtime as the server reboots. See the AWS Documentation on Modifying an ElastiCache Cache Cluster for [ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or [ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html) for more information.
> **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `applyImmediately`.
## Example Usage ### Memcached Cluster
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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 ¶ added in v3.13.0
func (*Cluster) ToClusterOutput ¶ added in v3.13.0
func (i *Cluster) ToClusterOutput() ClusterOutput
func (*Cluster) ToClusterOutputWithContext ¶ added in v3.13.0
func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
func (*Cluster) ToClusterPtrOutput ¶ added in v3.25.0
func (i *Cluster) ToClusterPtrOutput() ClusterPtrOutput
func (*Cluster) ToClusterPtrOutputWithContext ¶ added in v3.25.0
func (i *Cluster) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
type ClusterArgs ¶
type ClusterArgs struct { // Specifies whether any database modifications // are applied immediately, or during the next maintenance window. Default is // `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) ApplyImmediately pulumi.BoolPtrInput // The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource. AvailabilityZone pulumi.StringPtrInput // Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `numCacheNodes` must be greater than `1` AzMode pulumi.StringPtrInput // Group identifier. ElastiCache converts // this name to lowercase. Changing this value will re-create the resource. ClusterId pulumi.StringPtrInput // Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`. Engine pulumi.StringPtrInput // Version number of the cache engine to be used. // See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) // in the AWS Documentation center for supported versions EngineVersion pulumi.StringPtrInput // The name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput // Specifies the weekly time range for when maintenance // on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). // The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` MaintenanceWindow pulumi.StringPtrInput // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. NodeType pulumi.StringPtrInput // An Amazon Resource Name (ARN) of an // SNS topic to send ElastiCache notifications to. Example: // `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput // The initial number of cache nodes that the // cache cluster will have. For Redis, this value must be 1. For Memcached, this // value must be between 1 and 20. If this number is reduced on subsequent runs, // the highest numbered nodes will be removed. NumCacheNodes pulumi.IntPtrInput // Name of the parameter group to associate // with this cache cluster ParameterGroupName pulumi.StringPtrInput // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. Port pulumi.IntPtrInput // A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. PreferredAvailabilityZones pulumi.StringArrayInput // The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId pulumi.StringPtrInput // One or more VPC security groups associated with the cache cluster SecurityGroupIds pulumi.StringArrayInput // List of security group names to associate with this cache cluster. Changing this value will re-create the resource. SecurityGroupNames pulumi.StringArrayInput // A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringArrayInput // The name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. For example, if you set // SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days // before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. // Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes SnapshotRetentionLimit pulumi.IntPtrInput // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow pulumi.StringPtrInput // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. SubnetGroupName pulumi.StringPtrInput // A map of tags to assign to the resource Tags pulumi.StringMapInput }
The set of arguments for constructing a Cluster resource.
func (ClusterArgs) ElementType ¶
func (ClusterArgs) ElementType() reflect.Type
type ClusterArray ¶ added in v3.25.0
type ClusterArray []ClusterInput
func (ClusterArray) ElementType ¶ added in v3.25.0
func (ClusterArray) ElementType() reflect.Type
func (ClusterArray) ToClusterArrayOutput ¶ added in v3.25.0
func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput
func (ClusterArray) ToClusterArrayOutputWithContext ¶ added in v3.25.0
func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput
type ClusterArrayInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type ClusterArrayOutput struct{ *pulumi.OutputState }
func (ClusterArrayOutput) ElementType ¶ added in v3.25.0
func (ClusterArrayOutput) ElementType() reflect.Type
func (ClusterArrayOutput) Index ¶ added in v3.25.0
func (o ClusterArrayOutput) Index(i pulumi.IntInput) ClusterOutput
func (ClusterArrayOutput) ToClusterArrayOutput ¶ added in v3.25.0
func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput
func (ClusterArrayOutput) ToClusterArrayOutputWithContext ¶ added in v3.25.0
func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput
type ClusterCacheNode ¶
type ClusterCacheNode struct { Address *string `pulumi:"address"` // The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource. AvailabilityZone *string `pulumi:"availabilityZone"` Id *string `pulumi:"id"` // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. Port *int `pulumi:"port"` }
type ClusterCacheNodeArgs ¶
type ClusterCacheNodeArgs struct { Address pulumi.StringPtrInput `pulumi:"address"` // The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource. AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"` Id pulumi.StringPtrInput `pulumi:"id"` // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. Port pulumi.IntPtrInput `pulumi:"port"` }
func (ClusterCacheNodeArgs) ElementType ¶
func (ClusterCacheNodeArgs) ElementType() reflect.Type
func (ClusterCacheNodeArgs) ToClusterCacheNodeOutput ¶
func (i ClusterCacheNodeArgs) ToClusterCacheNodeOutput() ClusterCacheNodeOutput
func (ClusterCacheNodeArgs) ToClusterCacheNodeOutputWithContext ¶
func (i ClusterCacheNodeArgs) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput
type ClusterCacheNodeArray ¶
type ClusterCacheNodeArray []ClusterCacheNodeInput
func (ClusterCacheNodeArray) ElementType ¶
func (ClusterCacheNodeArray) ElementType() reflect.Type
func (ClusterCacheNodeArray) ToClusterCacheNodeArrayOutput ¶
func (i ClusterCacheNodeArray) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput
func (ClusterCacheNodeArray) ToClusterCacheNodeArrayOutputWithContext ¶
func (i ClusterCacheNodeArray) ToClusterCacheNodeArrayOutputWithContext(ctx context.Context) ClusterCacheNodeArrayOutput
type ClusterCacheNodeArrayInput ¶
type ClusterCacheNodeArrayInput interface { pulumi.Input ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput ToClusterCacheNodeArrayOutputWithContext(context.Context) ClusterCacheNodeArrayOutput }
ClusterCacheNodeArrayInput is an input type that accepts ClusterCacheNodeArray and ClusterCacheNodeArrayOutput values. You can construct a concrete instance of `ClusterCacheNodeArrayInput` via:
ClusterCacheNodeArray{ ClusterCacheNodeArgs{...} }
type ClusterCacheNodeArrayOutput ¶
type ClusterCacheNodeArrayOutput struct{ *pulumi.OutputState }
func (ClusterCacheNodeArrayOutput) ElementType ¶
func (ClusterCacheNodeArrayOutput) ElementType() reflect.Type
func (ClusterCacheNodeArrayOutput) Index ¶
func (o ClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) ClusterCacheNodeOutput
func (ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput ¶
func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput
func (ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext ¶
func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext(ctx context.Context) ClusterCacheNodeArrayOutput
type ClusterCacheNodeInput ¶
type ClusterCacheNodeInput interface { pulumi.Input ToClusterCacheNodeOutput() ClusterCacheNodeOutput ToClusterCacheNodeOutputWithContext(context.Context) ClusterCacheNodeOutput }
ClusterCacheNodeInput is an input type that accepts ClusterCacheNodeArgs and ClusterCacheNodeOutput values. You can construct a concrete instance of `ClusterCacheNodeInput` via:
ClusterCacheNodeArgs{...}
type ClusterCacheNodeOutput ¶
type ClusterCacheNodeOutput struct{ *pulumi.OutputState }
func (ClusterCacheNodeOutput) Address ¶
func (o ClusterCacheNodeOutput) Address() pulumi.StringPtrOutput
func (ClusterCacheNodeOutput) AvailabilityZone ¶
func (o ClusterCacheNodeOutput) AvailabilityZone() pulumi.StringPtrOutput
The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
func (ClusterCacheNodeOutput) ElementType ¶
func (ClusterCacheNodeOutput) ElementType() reflect.Type
func (ClusterCacheNodeOutput) Id ¶
func (o ClusterCacheNodeOutput) Id() pulumi.StringPtrOutput
func (ClusterCacheNodeOutput) Port ¶
func (o ClusterCacheNodeOutput) Port() pulumi.IntPtrOutput
The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.
func (ClusterCacheNodeOutput) ToClusterCacheNodeOutput ¶
func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutput() ClusterCacheNodeOutput
func (ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext ¶
func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext(ctx context.Context) ClusterCacheNodeOutput
type ClusterInput ¶ added in v3.13.0
type ClusterInput interface { pulumi.Input ToClusterOutput() ClusterOutput ToClusterOutputWithContext(ctx context.Context) ClusterOutput }
type ClusterMap ¶ added in v3.25.0
type ClusterMap map[string]ClusterInput
func (ClusterMap) ElementType ¶ added in v3.25.0
func (ClusterMap) ElementType() reflect.Type
func (ClusterMap) ToClusterMapOutput ¶ added in v3.25.0
func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput
func (ClusterMap) ToClusterMapOutputWithContext ¶ added in v3.25.0
func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput
type ClusterMapInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type ClusterMapOutput struct{ *pulumi.OutputState }
func (ClusterMapOutput) ElementType ¶ added in v3.25.0
func (ClusterMapOutput) ElementType() reflect.Type
func (ClusterMapOutput) MapIndex ¶ added in v3.25.0
func (o ClusterMapOutput) MapIndex(k pulumi.StringInput) ClusterOutput
func (ClusterMapOutput) ToClusterMapOutput ¶ added in v3.25.0
func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput
func (ClusterMapOutput) ToClusterMapOutputWithContext ¶ added in v3.25.0
func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput
type ClusterOutput ¶ added in v3.13.0
type ClusterOutput struct {
*pulumi.OutputState
}
func (ClusterOutput) ElementType ¶ added in v3.13.0
func (ClusterOutput) ElementType() reflect.Type
func (ClusterOutput) ToClusterOutput ¶ added in v3.13.0
func (o ClusterOutput) ToClusterOutput() ClusterOutput
func (ClusterOutput) ToClusterOutputWithContext ¶ added in v3.13.0
func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput
func (ClusterOutput) ToClusterPtrOutput ¶ added in v3.25.0
func (o ClusterOutput) ToClusterPtrOutput() ClusterPtrOutput
func (ClusterOutput) ToClusterPtrOutputWithContext ¶ added in v3.25.0
func (o ClusterOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
type ClusterPtrInput ¶ added in v3.25.0
type ClusterPtrInput interface { pulumi.Input ToClusterPtrOutput() ClusterPtrOutput ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput }
type ClusterPtrOutput ¶ added in v3.25.0
type ClusterPtrOutput struct {
*pulumi.OutputState
}
func (ClusterPtrOutput) ElementType ¶ added in v3.25.0
func (ClusterPtrOutput) ElementType() reflect.Type
func (ClusterPtrOutput) ToClusterPtrOutput ¶ added in v3.25.0
func (o ClusterPtrOutput) ToClusterPtrOutput() ClusterPtrOutput
func (ClusterPtrOutput) ToClusterPtrOutputWithContext ¶ added in v3.25.0
func (o ClusterPtrOutput) ToClusterPtrOutputWithContext(ctx context.Context) ClusterPtrOutput
type ClusterState ¶
type ClusterState struct { // Specifies whether any database modifications // are applied immediately, or during the next maintenance window. Default is // `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) ApplyImmediately pulumi.BoolPtrInput // The ARN of the created ElastiCache Cluster. Arn pulumi.StringPtrInput // The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource. AvailabilityZone pulumi.StringPtrInput // Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `numCacheNodes` must be greater than `1` AzMode pulumi.StringPtrInput // List of node objects including `id`, `address`, `port` and `availabilityZone`. CacheNodes ClusterCacheNodeArrayInput // (Memcached only) The DNS name of the cache cluster without the port appended. ClusterAddress pulumi.StringPtrInput // Group identifier. ElastiCache converts // this name to lowercase. Changing this value will re-create the resource. ClusterId pulumi.StringPtrInput // (Memcached only) The configuration endpoint to allow host discovery. ConfigurationEndpoint pulumi.StringPtrInput // Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`. Engine pulumi.StringPtrInput // Version number of the cache engine to be used. // See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) // in the AWS Documentation center for supported versions EngineVersion pulumi.StringPtrInput // The name of your final cluster snapshot. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput // Specifies the weekly time range for when maintenance // on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). // The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` MaintenanceWindow pulumi.StringPtrInput // The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource. NodeType pulumi.StringPtrInput // An Amazon Resource Name (ARN) of an // SNS topic to send ElastiCache notifications to. Example: // `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput // The initial number of cache nodes that the // cache cluster will have. For Redis, this value must be 1. For Memcached, this // value must be between 1 and 20. If this number is reduced on subsequent runs, // the highest numbered nodes will be removed. NumCacheNodes pulumi.IntPtrInput // Name of the parameter group to associate // with this cache cluster ParameterGroupName pulumi.StringPtrInput // The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource. Port pulumi.IntPtrInput // A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference. PreferredAvailabilityZones pulumi.StringArrayInput // The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group. ReplicationGroupId pulumi.StringPtrInput // One or more VPC security groups associated with the cache cluster SecurityGroupIds pulumi.StringArrayInput // List of security group names to associate with this cache cluster. Changing this value will re-create the resource. SecurityGroupNames pulumi.StringArrayInput // A single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource. SnapshotArns pulumi.StringArrayInput // The name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. For example, if you set // SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days // before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. // Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes SnapshotRetentionLimit pulumi.IntPtrInput // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00 SnapshotWindow pulumi.StringPtrInput // Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource. SubnetGroupName pulumi.StringPtrInput // A map of tags to assign to the resource Tags pulumi.StringMapInput }
func (ClusterState) ElementType ¶
func (ClusterState) ElementType() reflect.Type
type GetClusterCacheNode ¶
type GetClusterCacheNodeArgs ¶
type GetClusterCacheNodeArgs struct { Address pulumi.StringInput `pulumi:"address"` // The Availability Zone for the cache cluster. AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"` Id pulumi.StringInput `pulumi:"id"` // The port number on which each of the cache nodes will // accept connections. Port pulumi.IntInput `pulumi:"port"` }
func (GetClusterCacheNodeArgs) ElementType ¶
func (GetClusterCacheNodeArgs) ElementType() reflect.Type
func (GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutput ¶
func (i GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput
func (GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutputWithContext ¶
func (i GetClusterCacheNodeArgs) ToGetClusterCacheNodeOutputWithContext(ctx context.Context) GetClusterCacheNodeOutput
type GetClusterCacheNodeArray ¶
type GetClusterCacheNodeArray []GetClusterCacheNodeInput
func (GetClusterCacheNodeArray) ElementType ¶
func (GetClusterCacheNodeArray) ElementType() reflect.Type
func (GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutput ¶
func (i GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput
func (GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutputWithContext ¶
func (i GetClusterCacheNodeArray) ToGetClusterCacheNodeArrayOutputWithContext(ctx context.Context) GetClusterCacheNodeArrayOutput
type GetClusterCacheNodeArrayInput ¶
type GetClusterCacheNodeArrayInput interface { pulumi.Input ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput ToGetClusterCacheNodeArrayOutputWithContext(context.Context) GetClusterCacheNodeArrayOutput }
GetClusterCacheNodeArrayInput is an input type that accepts GetClusterCacheNodeArray and GetClusterCacheNodeArrayOutput values. You can construct a concrete instance of `GetClusterCacheNodeArrayInput` via:
GetClusterCacheNodeArray{ GetClusterCacheNodeArgs{...} }
type GetClusterCacheNodeArrayOutput ¶
type GetClusterCacheNodeArrayOutput struct{ *pulumi.OutputState }
func (GetClusterCacheNodeArrayOutput) ElementType ¶
func (GetClusterCacheNodeArrayOutput) ElementType() reflect.Type
func (GetClusterCacheNodeArrayOutput) Index ¶
func (o GetClusterCacheNodeArrayOutput) Index(i pulumi.IntInput) GetClusterCacheNodeOutput
func (GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput ¶
func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput
func (GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext ¶
func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext(ctx context.Context) GetClusterCacheNodeArrayOutput
type GetClusterCacheNodeInput ¶
type GetClusterCacheNodeInput interface { pulumi.Input ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput ToGetClusterCacheNodeOutputWithContext(context.Context) GetClusterCacheNodeOutput }
GetClusterCacheNodeInput is an input type that accepts GetClusterCacheNodeArgs and GetClusterCacheNodeOutput values. You can construct a concrete instance of `GetClusterCacheNodeInput` via:
GetClusterCacheNodeArgs{...}
type GetClusterCacheNodeOutput ¶
type GetClusterCacheNodeOutput struct{ *pulumi.OutputState }
func (GetClusterCacheNodeOutput) Address ¶
func (o GetClusterCacheNodeOutput) Address() pulumi.StringOutput
func (GetClusterCacheNodeOutput) AvailabilityZone ¶
func (o GetClusterCacheNodeOutput) AvailabilityZone() pulumi.StringOutput
The Availability Zone for the cache cluster.
func (GetClusterCacheNodeOutput) ElementType ¶
func (GetClusterCacheNodeOutput) ElementType() reflect.Type
func (GetClusterCacheNodeOutput) Id ¶
func (o GetClusterCacheNodeOutput) Id() pulumi.StringOutput
func (GetClusterCacheNodeOutput) Port ¶
func (o GetClusterCacheNodeOutput) Port() pulumi.IntOutput
The port number on which each of the cache nodes will accept connections.
func (GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput ¶
func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput
func (GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext ¶
func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext(ctx context.Context) GetClusterCacheNodeOutput
type GlobalReplicationGroup ¶ added in v3.30.0
type GlobalReplicationGroup struct { pulumi.CustomResourceState // The full version number of the cache engine running on the members of this global replication group. ActualEngineVersion pulumi.StringOutput `pulumi:"actualEngineVersion"` // The ARN of the ElastiCache Global Replication Group. Arn pulumi.StringOutput `pulumi:"arn"` // A flag that indicate whether the encryption at rest is enabled. AtRestEncryptionEnabled pulumi.BoolOutput `pulumi:"atRestEncryptionEnabled"` // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled pulumi.BoolOutput `pulumi:"authTokenEnabled"` // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). CacheNodeType pulumi.StringOutput `pulumi:"cacheNodeType"` // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"` // The name of the cache engine to be used for the clusters in this global replication group. Engine pulumi.StringOutput `pulumi:"engine"` // A user-created description for the global replication group. GlobalReplicationGroupDescription pulumi.StringPtrOutput `pulumi:"globalReplicationGroupDescription"` // The full ID of the global replication group. GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"` // The suffix name of a Global Datastore. If `globalReplicationGroupIdSuffix` is changed, creates a new resource. GlobalReplicationGroupIdSuffix pulumi.StringOutput `pulumi:"globalReplicationGroupIdSuffix"` // The ID of the primary cluster that accepts writes and will replicate updates to the secondary cluster. If `primaryReplicationGroupId` is changed, creates a new resource. PrimaryReplicationGroupId pulumi.StringOutput `pulumi:"primaryReplicationGroupId"` // A flag that indicates whether the encryption in transit is enabled. TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"` }
Provides an ElastiCache Global Replication Group resource, which manages replication between two or more Replication Groups in different regions. For more information, see the [ElastiCache User Guide](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Redis-Global-Datastore.html).
## Example Usage ### Global replication group with one secondary replication group
The global replication group depends on the primary group existing. Secondary replication groups depend on the global replication group. the provider dependency management will handle this transparently using resource value references.
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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 ¶ added in v3.30.0
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 ¶ added in v3.30.0
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 ¶ added in v3.30.0
func (*GlobalReplicationGroup) ElementType() reflect.Type
func (*GlobalReplicationGroup) ToGlobalReplicationGroupOutput ¶ added in v3.30.0
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
func (*GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext ¶ added in v3.30.0
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
func (*GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutput ¶ added in v3.30.0
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
func (*GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutputWithContext ¶ added in v3.30.0
func (i *GlobalReplicationGroup) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
type GlobalReplicationGroupArgs ¶ added in v3.30.0
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 ¶ added in v3.30.0
func (GlobalReplicationGroupArgs) ElementType() reflect.Type
type GlobalReplicationGroupArray ¶ added in v3.30.0
type GlobalReplicationGroupArray []GlobalReplicationGroupInput
func (GlobalReplicationGroupArray) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupArray) ElementType() reflect.Type
func (GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput ¶ added in v3.30.0
func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
func (GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext ¶ added in v3.30.0
func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
type GlobalReplicationGroupArrayInput ¶ added in v3.30.0
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 ¶ added in v3.30.0
type GlobalReplicationGroupArrayOutput struct{ *pulumi.OutputState }
func (GlobalReplicationGroupArrayOutput) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupArrayOutput) ElementType() reflect.Type
func (GlobalReplicationGroupArrayOutput) Index ¶ added in v3.30.0
func (o GlobalReplicationGroupArrayOutput) Index(i pulumi.IntInput) GlobalReplicationGroupOutput
func (GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput ¶ added in v3.30.0
func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
func (GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext ¶ added in v3.30.0
func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput
type GlobalReplicationGroupInput ¶ added in v3.30.0
type GlobalReplicationGroupInput interface { pulumi.Input ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput }
type GlobalReplicationGroupMap ¶ added in v3.30.0
type GlobalReplicationGroupMap map[string]GlobalReplicationGroupInput
func (GlobalReplicationGroupMap) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupMap) ElementType() reflect.Type
func (GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutput ¶ added in v3.30.0
func (i GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
func (GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutputWithContext ¶ added in v3.30.0
func (i GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput
type GlobalReplicationGroupMapInput ¶ added in v3.30.0
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 ¶ added in v3.30.0
type GlobalReplicationGroupMapOutput struct{ *pulumi.OutputState }
func (GlobalReplicationGroupMapOutput) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupMapOutput) ElementType() reflect.Type
func (GlobalReplicationGroupMapOutput) MapIndex ¶ added in v3.30.0
func (o GlobalReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) GlobalReplicationGroupOutput
func (GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput ¶ added in v3.30.0
func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
func (GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext ¶ added in v3.30.0
func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput
type GlobalReplicationGroupOutput ¶ added in v3.30.0
type GlobalReplicationGroupOutput struct {
*pulumi.OutputState
}
func (GlobalReplicationGroupOutput) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupOutput) ElementType() reflect.Type
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput ¶ added in v3.30.0
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext ¶ added in v3.30.0
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutput ¶ added in v3.30.0
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutputWithContext ¶ added in v3.30.0
func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
type GlobalReplicationGroupPtrInput ¶ added in v3.30.0
type GlobalReplicationGroupPtrInput interface { pulumi.Input ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput }
type GlobalReplicationGroupPtrOutput ¶ added in v3.30.0
type GlobalReplicationGroupPtrOutput struct {
*pulumi.OutputState
}
func (GlobalReplicationGroupPtrOutput) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupPtrOutput) ElementType() reflect.Type
func (GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutput ¶ added in v3.30.0
func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutput() GlobalReplicationGroupPtrOutput
func (GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutputWithContext ¶ added in v3.30.0
func (o GlobalReplicationGroupPtrOutput) ToGlobalReplicationGroupPtrOutputWithContext(ctx context.Context) GlobalReplicationGroupPtrOutput
type GlobalReplicationGroupState ¶ added in v3.30.0
type GlobalReplicationGroupState struct { // The full version number of the cache engine running on the members of this global replication group. ActualEngineVersion pulumi.StringPtrInput // The ARN of the ElastiCache Global Replication Group. Arn pulumi.StringPtrInput // A flag that indicate whether the encryption at rest is enabled. AtRestEncryptionEnabled pulumi.BoolPtrInput // A flag that indicate whether AuthToken (password) is enabled. AuthTokenEnabled pulumi.BoolPtrInput // The instance class used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). CacheNodeType pulumi.StringPtrInput // Indicates whether the Global Datastore is cluster enabled. ClusterEnabled pulumi.BoolPtrInput // The name of the cache engine to be used for the clusters in this global replication group. Engine pulumi.StringPtrInput // A user-created description for the global replication group. GlobalReplicationGroupDescription pulumi.StringPtrInput // The full ID of the global replication group. GlobalReplicationGroupId pulumi.StringPtrInput // The suffix name of a Global Datastore. If `globalReplicationGroupIdSuffix` is changed, creates a new resource. GlobalReplicationGroupIdSuffix pulumi.StringPtrInput // The ID of the primary cluster that accepts writes and will replicate updates to the secondary cluster. If `primaryReplicationGroupId` is changed, creates a new resource. PrimaryReplicationGroupId pulumi.StringPtrInput // A flag that indicates whether the encryption in transit is enabled. TransitEncryptionEnabled pulumi.BoolPtrInput }
func (GlobalReplicationGroupState) ElementType ¶ added in v3.30.0
func (GlobalReplicationGroupState) ElementType() reflect.Type
type LookupClusterArgs ¶
type LookupClusterArgs struct { // Group identifier. ClusterId string `pulumi:"clusterId"` // The tags assigned to the resource Tags map[string]string `pulumi:"tags"` }
A collection of arguments for invoking getCluster.
type LookupClusterResult ¶
type LookupClusterResult struct { Arn string `pulumi:"arn"` // The Availability Zone for the cache cluster. AvailabilityZone string `pulumi:"availabilityZone"` // List of node objects including `id`, `address`, `port` and `availabilityZone`. // Referenceable e.g. as `${data.aws_elasticache_cluster.bar.cache_nodes.0.address}` CacheNodes []GetClusterCacheNode `pulumi:"cacheNodes"` // (Memcached only) The DNS name of the cache cluster without the port appended. ClusterAddress string `pulumi:"clusterAddress"` ClusterId string `pulumi:"clusterId"` // (Memcached only) The configuration endpoint to allow host discovery. ConfigurationEndpoint string `pulumi:"configurationEndpoint"` // Name of the cache engine. Engine string `pulumi:"engine"` // Version number of the cache engine. EngineVersion string `pulumi:"engineVersion"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // Specifies the weekly time range for when maintenance // on the cache cluster is performed. MaintenanceWindow string `pulumi:"maintenanceWindow"` // The cluster node type. NodeType string `pulumi:"nodeType"` // An Amazon Resource Name (ARN) of an // SNS topic that ElastiCache notifications get sent to. NotificationTopicArn string `pulumi:"notificationTopicArn"` // The number of cache nodes that the cache cluster has. NumCacheNodes int `pulumi:"numCacheNodes"` // Name of the parameter group associated with this cache cluster. ParameterGroupName string `pulumi:"parameterGroupName"` // The port number on which each of the cache nodes will // accept connections. Port int `pulumi:"port"` // The replication group to which this cache cluster belongs. ReplicationGroupId string `pulumi:"replicationGroupId"` // List VPC security groups associated with the cache cluster. SecurityGroupIds []string `pulumi:"securityGroupIds"` // List of security group names associated with this cache cluster. SecurityGroupNames []string `pulumi:"securityGroupNames"` // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. SnapshotRetentionLimit int `pulumi:"snapshotRetentionLimit"` // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of the cache cluster. SnapshotWindow string `pulumi:"snapshotWindow"` // Name of the subnet group associated to the cache cluster. SubnetGroupName string `pulumi:"subnetGroupName"` // The tags assigned to the resource Tags map[string]string `pulumi:"tags"` }
A collection of values returned by getCluster.
func LookupCluster ¶
func LookupCluster(ctx *pulumi.Context, args *LookupClusterArgs, opts ...pulumi.InvokeOption) (*LookupClusterResult, error)
Use this data source to get information about an Elasticache Cluster
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.LookupCluster(ctx, &elasticache.LookupClusterArgs{ ClusterId: "my-cluster-id", }, nil) if err != nil { return err } return nil }) }
```
type LookupReplicationGroupArgs ¶
type LookupReplicationGroupArgs struct { // The identifier for the replication group. ReplicationGroupId string `pulumi:"replicationGroupId"` }
A collection of arguments for invoking getReplicationGroup.
type LookupReplicationGroupResult ¶
type LookupReplicationGroupResult struct { // The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. Arn string `pulumi:"arn"` // Specifies whether an AuthToken (password) is enabled. AuthTokenEnabled bool `pulumi:"authTokenEnabled"` // A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. AutomaticFailoverEnabled bool `pulumi:"automaticFailoverEnabled"` // The configuration endpoint address to allow host discovery. ConfigurationEndpointAddress string `pulumi:"configurationEndpointAddress"` // The provider-assigned unique ID for this managed resource. Id string `pulumi:"id"` // The identifiers of all the nodes that are part of this replication group. MemberClusters []string `pulumi:"memberClusters"` // Specifies whether Multi-AZ Support is enabled for the replication group. MultiAzEnabled bool `pulumi:"multiAzEnabled"` // The cluster node type. NodeType string `pulumi:"nodeType"` // The number of cache clusters that the replication group has. NumberCacheClusters int `pulumi:"numberCacheClusters"` // The port number on which the configuration endpoint will accept connections. Port int `pulumi:"port"` // The endpoint of the primary node in this node group (shard). PrimaryEndpointAddress string `pulumi:"primaryEndpointAddress"` // The endpoint of the reader node in this node group (shard). ReaderEndpointAddress string `pulumi:"readerEndpointAddress"` // The description of the replication group. ReplicationGroupDescription string `pulumi:"replicationGroupDescription"` ReplicationGroupId string `pulumi:"replicationGroupId"` // The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them. SnapshotRetentionLimit int `pulumi:"snapshotRetentionLimit"` // The daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard). SnapshotWindow string `pulumi:"snapshotWindow"` }
A collection of values returned by getReplicationGroup.
func LookupReplicationGroup ¶
func LookupReplicationGroup(ctx *pulumi.Context, args *LookupReplicationGroupArgs, opts ...pulumi.InvokeOption) (*LookupReplicationGroupResult, error)
Use this data source to get information about an Elasticache Replication Group.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() { pulumi.Run(func(ctx *pulumi.Context) error { _, err := elasticache.LookupReplicationGroup(ctx, &elasticache.LookupReplicationGroupArgs{ ReplicationGroupId: "example", }, nil) if err != nil { return err } return nil }) }
```
type ParameterGroup ¶
type ParameterGroup struct { pulumi.CustomResourceState // The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi". Description pulumi.StringOutput `pulumi:"description"` // The family of the ElastiCache parameter group. Family pulumi.StringOutput `pulumi:"family"` // The name of the ElastiCache parameter. Name pulumi.StringOutput `pulumi:"name"` // A list of ElastiCache parameters to apply. Parameters ParameterGroupParameterArrayOutput `pulumi:"parameters"` }
Provides an ElastiCache parameter group resource.
> **NOTE:** Attempting to remove the `reserved-memory` parameter when `family` is set to `redis2.6` or `redis2.8` may show a perpetual difference in this provider due to an Elasticache API limitation. Leave that parameter configured with any value to workaround the issue.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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 ¶ added in v3.13.0
func (*ParameterGroup) ElementType() reflect.Type
func (*ParameterGroup) ToParameterGroupOutput ¶ added in v3.13.0
func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput
func (*ParameterGroup) ToParameterGroupOutputWithContext ¶ added in v3.13.0
func (i *ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
func (*ParameterGroup) ToParameterGroupPtrOutput ¶ added in v3.25.0
func (i *ParameterGroup) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
func (*ParameterGroup) ToParameterGroupPtrOutputWithContext ¶ added in v3.25.0
func (i *ParameterGroup) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
type ParameterGroupArgs ¶
type ParameterGroupArgs struct { // The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // The family of the ElastiCache parameter group. Family pulumi.StringInput // The name of the ElastiCache parameter. Name pulumi.StringPtrInput // A list of ElastiCache parameters to apply. Parameters ParameterGroupParameterArrayInput }
The set of arguments for constructing a ParameterGroup resource.
func (ParameterGroupArgs) ElementType ¶
func (ParameterGroupArgs) ElementType() reflect.Type
type ParameterGroupArray ¶ added in v3.25.0
type ParameterGroupArray []ParameterGroupInput
func (ParameterGroupArray) ElementType ¶ added in v3.25.0
func (ParameterGroupArray) ElementType() reflect.Type
func (ParameterGroupArray) ToParameterGroupArrayOutput ¶ added in v3.25.0
func (i ParameterGroupArray) ToParameterGroupArrayOutput() ParameterGroupArrayOutput
func (ParameterGroupArray) ToParameterGroupArrayOutputWithContext ¶ added in v3.25.0
func (i ParameterGroupArray) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput
type ParameterGroupArrayInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type ParameterGroupArrayOutput struct{ *pulumi.OutputState }
func (ParameterGroupArrayOutput) ElementType ¶ added in v3.25.0
func (ParameterGroupArrayOutput) ElementType() reflect.Type
func (ParameterGroupArrayOutput) Index ¶ added in v3.25.0
func (o ParameterGroupArrayOutput) Index(i pulumi.IntInput) ParameterGroupOutput
func (ParameterGroupArrayOutput) ToParameterGroupArrayOutput ¶ added in v3.25.0
func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput
func (ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext ¶ added in v3.25.0
func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput
type ParameterGroupInput ¶ added in v3.13.0
type ParameterGroupInput interface { pulumi.Input ToParameterGroupOutput() ParameterGroupOutput ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput }
type ParameterGroupMap ¶ added in v3.25.0
type ParameterGroupMap map[string]ParameterGroupInput
func (ParameterGroupMap) ElementType ¶ added in v3.25.0
func (ParameterGroupMap) ElementType() reflect.Type
func (ParameterGroupMap) ToParameterGroupMapOutput ¶ added in v3.25.0
func (i ParameterGroupMap) ToParameterGroupMapOutput() ParameterGroupMapOutput
func (ParameterGroupMap) ToParameterGroupMapOutputWithContext ¶ added in v3.25.0
func (i ParameterGroupMap) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput
type ParameterGroupMapInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type ParameterGroupMapOutput struct{ *pulumi.OutputState }
func (ParameterGroupMapOutput) ElementType ¶ added in v3.25.0
func (ParameterGroupMapOutput) ElementType() reflect.Type
func (ParameterGroupMapOutput) MapIndex ¶ added in v3.25.0
func (o ParameterGroupMapOutput) MapIndex(k pulumi.StringInput) ParameterGroupOutput
func (ParameterGroupMapOutput) ToParameterGroupMapOutput ¶ added in v3.25.0
func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput
func (ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext ¶ added in v3.25.0
func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput
type ParameterGroupOutput ¶ added in v3.13.0
type ParameterGroupOutput struct {
*pulumi.OutputState
}
func (ParameterGroupOutput) ElementType ¶ added in v3.13.0
func (ParameterGroupOutput) ElementType() reflect.Type
func (ParameterGroupOutput) ToParameterGroupOutput ¶ added in v3.13.0
func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput
func (ParameterGroupOutput) ToParameterGroupOutputWithContext ¶ added in v3.13.0
func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
func (ParameterGroupOutput) ToParameterGroupPtrOutput ¶ added in v3.25.0
func (o ParameterGroupOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
func (ParameterGroupOutput) ToParameterGroupPtrOutputWithContext ¶ added in v3.25.0
func (o ParameterGroupOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
type ParameterGroupParameter ¶
type ParameterGroupParameterArgs ¶
type ParameterGroupParameterArgs struct { // The name of the ElastiCache parameter. Name pulumi.StringInput `pulumi:"name"` // The value of the ElastiCache parameter. Value pulumi.StringInput `pulumi:"value"` }
func (ParameterGroupParameterArgs) ElementType ¶
func (ParameterGroupParameterArgs) ElementType() reflect.Type
func (ParameterGroupParameterArgs) ToParameterGroupParameterOutput ¶
func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutput() ParameterGroupParameterOutput
func (ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext ¶
func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput
type ParameterGroupParameterArray ¶
type ParameterGroupParameterArray []ParameterGroupParameterInput
func (ParameterGroupParameterArray) ElementType ¶
func (ParameterGroupParameterArray) ElementType() reflect.Type
func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput ¶
func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext ¶
func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput
type ParameterGroupParameterArrayInput ¶
type ParameterGroupParameterArrayInput interface { pulumi.Input ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput ToParameterGroupParameterArrayOutputWithContext(context.Context) ParameterGroupParameterArrayOutput }
ParameterGroupParameterArrayInput is an input type that accepts ParameterGroupParameterArray and ParameterGroupParameterArrayOutput values. You can construct a concrete instance of `ParameterGroupParameterArrayInput` via:
ParameterGroupParameterArray{ ParameterGroupParameterArgs{...} }
type ParameterGroupParameterArrayOutput ¶
type ParameterGroupParameterArrayOutput struct{ *pulumi.OutputState }
func (ParameterGroupParameterArrayOutput) ElementType ¶
func (ParameterGroupParameterArrayOutput) ElementType() reflect.Type
func (ParameterGroupParameterArrayOutput) Index ¶
func (o ParameterGroupParameterArrayOutput) Index(i pulumi.IntInput) ParameterGroupParameterOutput
func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput ¶
func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput
func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext ¶
func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext(ctx context.Context) ParameterGroupParameterArrayOutput
type ParameterGroupParameterInput ¶
type ParameterGroupParameterInput interface { pulumi.Input ToParameterGroupParameterOutput() ParameterGroupParameterOutput ToParameterGroupParameterOutputWithContext(context.Context) ParameterGroupParameterOutput }
ParameterGroupParameterInput is an input type that accepts ParameterGroupParameterArgs and ParameterGroupParameterOutput values. You can construct a concrete instance of `ParameterGroupParameterInput` via:
ParameterGroupParameterArgs{...}
type ParameterGroupParameterOutput ¶
type ParameterGroupParameterOutput struct{ *pulumi.OutputState }
func (ParameterGroupParameterOutput) ElementType ¶
func (ParameterGroupParameterOutput) ElementType() reflect.Type
func (ParameterGroupParameterOutput) Name ¶
func (o ParameterGroupParameterOutput) Name() pulumi.StringOutput
The name of the ElastiCache parameter.
func (ParameterGroupParameterOutput) ToParameterGroupParameterOutput ¶
func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput
func (ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext ¶
func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext(ctx context.Context) ParameterGroupParameterOutput
func (ParameterGroupParameterOutput) Value ¶
func (o ParameterGroupParameterOutput) Value() pulumi.StringOutput
The value of the ElastiCache parameter.
type ParameterGroupPtrInput ¶ added in v3.25.0
type ParameterGroupPtrInput interface { pulumi.Input ToParameterGroupPtrOutput() ParameterGroupPtrOutput ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput }
type ParameterGroupPtrOutput ¶ added in v3.25.0
type ParameterGroupPtrOutput struct {
*pulumi.OutputState
}
func (ParameterGroupPtrOutput) ElementType ¶ added in v3.25.0
func (ParameterGroupPtrOutput) ElementType() reflect.Type
func (ParameterGroupPtrOutput) ToParameterGroupPtrOutput ¶ added in v3.25.0
func (o ParameterGroupPtrOutput) ToParameterGroupPtrOutput() ParameterGroupPtrOutput
func (ParameterGroupPtrOutput) ToParameterGroupPtrOutputWithContext ¶ added in v3.25.0
func (o ParameterGroupPtrOutput) ToParameterGroupPtrOutputWithContext(ctx context.Context) ParameterGroupPtrOutput
type ParameterGroupState ¶
type ParameterGroupState struct { // The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // The family of the ElastiCache parameter group. Family pulumi.StringPtrInput // The name of the ElastiCache parameter. Name pulumi.StringPtrInput // A list of ElastiCache parameters to apply. Parameters ParameterGroupParameterArrayInput }
func (ParameterGroupState) ElementType ¶
func (ParameterGroupState) ElementType() reflect.Type
type ReplicationGroup ¶
type ReplicationGroup struct { pulumi.CustomResourceState // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"` // The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. Arn pulumi.StringOutput `pulumi:"arn"` // Whether to enable encryption at rest. AtRestEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"atRestEncryptionEnabled"` // The password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`. AuthToken pulumi.StringPtrOutput `pulumi:"authToken"` // Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. 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 true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`. AutomaticFailoverEnabled pulumi.BoolPtrOutput `pulumi:"automaticFailoverEnabled"` // A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important. AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"` // Indicates if cluster mode is enabled. ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"` // Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. One of `numberCacheClusters` or `clusterMode` is required. Note that configuring this block does not enable cluster mode, i.e. data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true. ClusterMode ReplicationGroupClusterModeOutput `pulumi:"clusterMode"` // The address of the replication group configuration endpoint when cluster mode is enabled. ConfigurationEndpointAddress pulumi.StringOutput `pulumi:"configurationEndpointAddress"` // The name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`. Engine pulumi.StringPtrOutput `pulumi:"engine"` // The version number of the cache engine to be used for the cache clusters in this replication group. EngineVersion pulumi.StringOutput `pulumi:"engineVersion"` // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"` GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"` // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"` // Specifies the weekly time range for when maintenance // on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). // The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"` // The identifiers of all the nodes that are part of this replication group. MemberClusters pulumi.StringArrayOutput `pulumi:"memberClusters"` // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrOutput `pulumi:"multiAzEnabled"` // The instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringOutput `pulumi:"nodeType"` // An Amazon Resource Name (ARN) of an // SNS topic to send ElastiCache notifications to. Example: // `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"` // The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. One of `numberCacheClusters` or `clusterMode` is required. NumberCacheClusters pulumi.IntOutput `pulumi:"numberCacheClusters"` // The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e. data sharding, use a parameter group that has the parameter `cluster-enabled` set to true. ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"` // The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Port pulumi.IntPtrOutput `pulumi:"port"` // (Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled. PrimaryEndpointAddress pulumi.StringOutput `pulumi:"primaryEndpointAddress"` // (Redis only) The address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. ReaderEndpointAddress pulumi.StringOutput `pulumi:"readerEndpointAddress"` // A user-created description for the replication group. ReplicationGroupDescription pulumi.StringOutput `pulumi:"replicationGroupDescription"` // The replication group identifier. This parameter is stored as a lowercase string. ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"` // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"` // A list of cache security group names to associate with this replication group. SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"` // A list of // Amazon Resource Names (ARNs) that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"` // The name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"` // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. For example, if you set // SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days // before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. // Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"` // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00` SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"` // The name of the cache subnet group to be used for the replication group. SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"` // A map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. Tags pulumi.StringMapOutput `pulumi:"tags"` // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolPtrOutput `pulumi:"transitEncryptionEnabled"` }
Provides an ElastiCache Replication Group resource.
For working with a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) or a [single-node Redis instance (Cluster Mode Disabled)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), see the `elasticache.Cluster` resource.
> **Note:** When you change an attribute, such as `engineVersion`, by default the ElastiCache API applies it in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately. Using `applyImmediately` can result in a brief downtime as servers reboots. See the AWS Documentation on [Modifying an ElastiCache Cache Cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html) for more information.
> **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `applyImmediately`.
> **Note:** Be aware of the terminology collision around "cluster" for `elasticache.ReplicationGroup`. For example, it is possible to create a ["Cluster Mode Disabled [Redis] Cluster"](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Create.CON.Redis.html). With "Cluster Mode Enabled", the data will be stored in shards (called "node groups"). See [Redis Cluster Configuration](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration) for a diagram of the differences. To enable cluster mode, use a parameter group that has cluster mode enabled. The default parameter groups provided by AWS end with ".cluster.on", for example `default.redis6.x.cluster.on`.
## Example Usage ### Redis Cluster Mode Disabled
To create a single shard primary with single read replica:
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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 ¶ added in v3.13.0
func (*ReplicationGroup) ElementType() reflect.Type
func (*ReplicationGroup) ToReplicationGroupOutput ¶ added in v3.13.0
func (i *ReplicationGroup) ToReplicationGroupOutput() ReplicationGroupOutput
func (*ReplicationGroup) ToReplicationGroupOutputWithContext ¶ added in v3.13.0
func (i *ReplicationGroup) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
func (*ReplicationGroup) ToReplicationGroupPtrOutput ¶ added in v3.25.0
func (i *ReplicationGroup) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
func (*ReplicationGroup) ToReplicationGroupPtrOutputWithContext ¶ added in v3.25.0
func (i *ReplicationGroup) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
type ReplicationGroupArgs ¶
type ReplicationGroupArgs struct { // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. ApplyImmediately pulumi.BoolPtrInput // Whether to enable encryption at rest. AtRestEncryptionEnabled pulumi.BoolPtrInput // The password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`. AuthToken pulumi.StringPtrInput // Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. This parameter is currently not supported by the AWS API. Defaults to `true`. AutoMinorVersionUpgrade pulumi.BoolPtrInput // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`. AutomaticFailoverEnabled pulumi.BoolPtrInput // A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important. AvailabilityZones pulumi.StringArrayInput // Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. One of `numberCacheClusters` or `clusterMode` is required. Note that configuring this block does not enable cluster mode, i.e. data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true. ClusterMode ReplicationGroupClusterModePtrInput // The name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`. Engine pulumi.StringPtrInput // The version number of the cache engine to be used for the cache clusters in this replication group. EngineVersion pulumi.StringPtrInput // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput GlobalReplicationGroupId pulumi.StringPtrInput // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId pulumi.StringPtrInput // Specifies the weekly time range for when maintenance // on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). // The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` MaintenanceWindow pulumi.StringPtrInput // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrInput // The instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringPtrInput // An Amazon Resource Name (ARN) of an // SNS topic to send ElastiCache notifications to. Example: // `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput // The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. One of `numberCacheClusters` or `clusterMode` is required. NumberCacheClusters pulumi.IntPtrInput // The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e. data sharding, use a parameter group that has the parameter `cluster-enabled` set to true. ParameterGroupName pulumi.StringPtrInput // The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Port pulumi.IntPtrInput // A user-created description for the replication group. ReplicationGroupDescription pulumi.StringInput // The replication group identifier. This parameter is stored as a lowercase string. ReplicationGroupId pulumi.StringPtrInput // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud SecurityGroupIds pulumi.StringArrayInput // A list of cache security group names to associate with this replication group. SecurityGroupNames pulumi.StringArrayInput // A list of // Amazon Resource Names (ARNs) that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayInput // The name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. For example, if you set // SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days // before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. // Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes SnapshotRetentionLimit pulumi.IntPtrInput // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00` SnapshotWindow pulumi.StringPtrInput // The name of the cache subnet group to be used for the replication group. SubnetGroupName pulumi.StringPtrInput // A map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. Tags pulumi.StringMapInput // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolPtrInput }
The set of arguments for constructing a ReplicationGroup resource.
func (ReplicationGroupArgs) ElementType ¶
func (ReplicationGroupArgs) ElementType() reflect.Type
type ReplicationGroupArray ¶ added in v3.25.0
type ReplicationGroupArray []ReplicationGroupInput
func (ReplicationGroupArray) ElementType ¶ added in v3.25.0
func (ReplicationGroupArray) ElementType() reflect.Type
func (ReplicationGroupArray) ToReplicationGroupArrayOutput ¶ added in v3.25.0
func (i ReplicationGroupArray) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
func (ReplicationGroupArray) ToReplicationGroupArrayOutputWithContext ¶ added in v3.25.0
func (i ReplicationGroupArray) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput
type ReplicationGroupArrayInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type ReplicationGroupArrayOutput struct{ *pulumi.OutputState }
func (ReplicationGroupArrayOutput) ElementType ¶ added in v3.25.0
func (ReplicationGroupArrayOutput) ElementType() reflect.Type
func (ReplicationGroupArrayOutput) Index ¶ added in v3.25.0
func (o ReplicationGroupArrayOutput) Index(i pulumi.IntInput) ReplicationGroupOutput
func (ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput ¶ added in v3.25.0
func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
func (ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext ¶ added in v3.25.0
func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput
type ReplicationGroupClusterMode ¶
type ReplicationGroupClusterMode struct { // Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. NumNodeGroups int `pulumi:"numNodeGroups"` // Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications. ReplicasPerNodeGroup int `pulumi:"replicasPerNodeGroup"` }
type ReplicationGroupClusterModeArgs ¶
type ReplicationGroupClusterModeArgs struct { // Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. NumNodeGroups pulumi.IntInput `pulumi:"numNodeGroups"` // Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications. ReplicasPerNodeGroup pulumi.IntInput `pulumi:"replicasPerNodeGroup"` }
func (ReplicationGroupClusterModeArgs) ElementType ¶
func (ReplicationGroupClusterModeArgs) ElementType() reflect.Type
func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput ¶
func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext ¶
func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput
func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput ¶
func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext ¶
func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
type ReplicationGroupClusterModeInput ¶
type ReplicationGroupClusterModeInput interface { pulumi.Input ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput ToReplicationGroupClusterModeOutputWithContext(context.Context) ReplicationGroupClusterModeOutput }
ReplicationGroupClusterModeInput is an input type that accepts ReplicationGroupClusterModeArgs and ReplicationGroupClusterModeOutput values. You can construct a concrete instance of `ReplicationGroupClusterModeInput` via:
ReplicationGroupClusterModeArgs{...}
type ReplicationGroupClusterModeOutput ¶
type ReplicationGroupClusterModeOutput struct{ *pulumi.OutputState }
func (ReplicationGroupClusterModeOutput) ElementType ¶
func (ReplicationGroupClusterModeOutput) ElementType() reflect.Type
func (ReplicationGroupClusterModeOutput) NumNodeGroups ¶
func (o ReplicationGroupClusterModeOutput) NumNodeGroups() pulumi.IntOutput
Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications.
func (ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup ¶
func (o ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup() pulumi.IntOutput
Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.
func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutput ¶
func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput
func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutputWithContext ¶
func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModeOutputWithContext(ctx context.Context) ReplicationGroupClusterModeOutput
func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutput ¶
func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
func (ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutputWithContext ¶
func (o ReplicationGroupClusterModeOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
type ReplicationGroupClusterModePtrInput ¶
type ReplicationGroupClusterModePtrInput interface { pulumi.Input ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput ToReplicationGroupClusterModePtrOutputWithContext(context.Context) ReplicationGroupClusterModePtrOutput }
ReplicationGroupClusterModePtrInput is an input type that accepts ReplicationGroupClusterModeArgs, ReplicationGroupClusterModePtr and ReplicationGroupClusterModePtrOutput values. You can construct a concrete instance of `ReplicationGroupClusterModePtrInput` via:
ReplicationGroupClusterModeArgs{...} or: nil
func ReplicationGroupClusterModePtr ¶
func ReplicationGroupClusterModePtr(v *ReplicationGroupClusterModeArgs) ReplicationGroupClusterModePtrInput
type ReplicationGroupClusterModePtrOutput ¶
type ReplicationGroupClusterModePtrOutput struct{ *pulumi.OutputState }
func (ReplicationGroupClusterModePtrOutput) ElementType ¶
func (ReplicationGroupClusterModePtrOutput) ElementType() reflect.Type
func (ReplicationGroupClusterModePtrOutput) NumNodeGroups ¶
func (o ReplicationGroupClusterModePtrOutput) NumNodeGroups() pulumi.IntPtrOutput
Specify the number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications.
func (ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup ¶
func (o ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup() pulumi.IntPtrOutput
Specify the number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.
func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput ¶
func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput
func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext ¶
func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext(ctx context.Context) ReplicationGroupClusterModePtrOutput
type ReplicationGroupInput ¶ added in v3.13.0
type ReplicationGroupInput interface { pulumi.Input ToReplicationGroupOutput() ReplicationGroupOutput ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput }
type ReplicationGroupMap ¶ added in v3.25.0
type ReplicationGroupMap map[string]ReplicationGroupInput
func (ReplicationGroupMap) ElementType ¶ added in v3.25.0
func (ReplicationGroupMap) ElementType() reflect.Type
func (ReplicationGroupMap) ToReplicationGroupMapOutput ¶ added in v3.25.0
func (i ReplicationGroupMap) ToReplicationGroupMapOutput() ReplicationGroupMapOutput
func (ReplicationGroupMap) ToReplicationGroupMapOutputWithContext ¶ added in v3.25.0
func (i ReplicationGroupMap) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput
type ReplicationGroupMapInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type ReplicationGroupMapOutput struct{ *pulumi.OutputState }
func (ReplicationGroupMapOutput) ElementType ¶ added in v3.25.0
func (ReplicationGroupMapOutput) ElementType() reflect.Type
func (ReplicationGroupMapOutput) MapIndex ¶ added in v3.25.0
func (o ReplicationGroupMapOutput) MapIndex(k pulumi.StringInput) ReplicationGroupOutput
func (ReplicationGroupMapOutput) ToReplicationGroupMapOutput ¶ added in v3.25.0
func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutput() ReplicationGroupMapOutput
func (ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext ¶ added in v3.25.0
func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput
type ReplicationGroupOutput ¶ added in v3.13.0
type ReplicationGroupOutput struct {
*pulumi.OutputState
}
func (ReplicationGroupOutput) ElementType ¶ added in v3.13.0
func (ReplicationGroupOutput) ElementType() reflect.Type
func (ReplicationGroupOutput) ToReplicationGroupOutput ¶ added in v3.13.0
func (o ReplicationGroupOutput) ToReplicationGroupOutput() ReplicationGroupOutput
func (ReplicationGroupOutput) ToReplicationGroupOutputWithContext ¶ added in v3.13.0
func (o ReplicationGroupOutput) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
func (ReplicationGroupOutput) ToReplicationGroupPtrOutput ¶ added in v3.25.0
func (o ReplicationGroupOutput) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
func (ReplicationGroupOutput) ToReplicationGroupPtrOutputWithContext ¶ added in v3.25.0
func (o ReplicationGroupOutput) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
type ReplicationGroupPtrInput ¶ added in v3.25.0
type ReplicationGroupPtrInput interface { pulumi.Input ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput }
type ReplicationGroupPtrOutput ¶ added in v3.25.0
type ReplicationGroupPtrOutput struct {
*pulumi.OutputState
}
func (ReplicationGroupPtrOutput) ElementType ¶ added in v3.25.0
func (ReplicationGroupPtrOutput) ElementType() reflect.Type
func (ReplicationGroupPtrOutput) ToReplicationGroupPtrOutput ¶ added in v3.25.0
func (o ReplicationGroupPtrOutput) ToReplicationGroupPtrOutput() ReplicationGroupPtrOutput
func (ReplicationGroupPtrOutput) ToReplicationGroupPtrOutputWithContext ¶ added in v3.25.0
func (o ReplicationGroupPtrOutput) ToReplicationGroupPtrOutputWithContext(ctx context.Context) ReplicationGroupPtrOutput
type ReplicationGroupState ¶
type ReplicationGroupState struct { // Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`. ApplyImmediately pulumi.BoolPtrInput // The Amazon Resource Name (ARN) of the created ElastiCache Replication Group. Arn pulumi.StringPtrInput // Whether to enable encryption at rest. AtRestEncryptionEnabled pulumi.BoolPtrInput // The password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`. AuthToken pulumi.StringPtrInput // Specifies whether a minor engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. This parameter is currently not supported by the AWS API. Defaults to `true`. AutoMinorVersionUpgrade pulumi.BoolPtrInput // Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ is disabled for this replication group. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`. AutomaticFailoverEnabled pulumi.BoolPtrInput // A list of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not important. AvailabilityZones pulumi.StringArrayInput // Indicates if cluster mode is enabled. ClusterEnabled pulumi.BoolPtrInput // Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. One of `numberCacheClusters` or `clusterMode` is required. Note that configuring this block does not enable cluster mode, i.e. data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true. ClusterMode ReplicationGroupClusterModePtrInput // The address of the replication group configuration endpoint when cluster mode is enabled. ConfigurationEndpointAddress pulumi.StringPtrInput // The name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`. Engine pulumi.StringPtrInput // The version number of the cache engine to be used for the cache clusters in this replication group. EngineVersion pulumi.StringPtrInput // The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made. FinalSnapshotIdentifier pulumi.StringPtrInput GlobalReplicationGroupId pulumi.StringPtrInput // The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`. KmsKeyId pulumi.StringPtrInput // Specifies the weekly time range for when maintenance // on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). // The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00` MaintenanceWindow pulumi.StringPtrInput // The identifiers of all the nodes that are part of this replication group. MemberClusters pulumi.StringArrayInput // Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`. MultiAzEnabled pulumi.BoolPtrInput // The instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set. NodeType pulumi.StringPtrInput // An Amazon Resource Name (ARN) of an // SNS topic to send ElastiCache notifications to. Example: // `arn:aws:sns:us-east-1:012345678999:my_sns_topic` NotificationTopicArn pulumi.StringPtrInput // The number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. One of `numberCacheClusters` or `clusterMode` is required. NumberCacheClusters pulumi.IntPtrInput // The name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e. data sharding, use a parameter group that has the parameter `cluster-enabled` set to true. ParameterGroupName pulumi.StringPtrInput // The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Port pulumi.IntPtrInput // (Redis only) The address of the endpoint for the primary node in the replication group, if the cluster mode is disabled. PrimaryEndpointAddress pulumi.StringPtrInput // (Redis only) The address of the endpoint for the reader node in the replication group, if the cluster mode is disabled. ReaderEndpointAddress pulumi.StringPtrInput // A user-created description for the replication group. ReplicationGroupDescription pulumi.StringPtrInput // The replication group identifier. This parameter is stored as a lowercase string. ReplicationGroupId pulumi.StringPtrInput // One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud SecurityGroupIds pulumi.StringArrayInput // A list of cache security group names to associate with this replication group. SecurityGroupNames pulumi.StringArrayInput // A list of // Amazon Resource Names (ARNs) that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas. SnapshotArns pulumi.StringArrayInput // The name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource. SnapshotName pulumi.StringPtrInput // The number of days for which ElastiCache will // retain automatic cache cluster snapshots before deleting them. For example, if you set // SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days // before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. // Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes SnapshotRetentionLimit pulumi.IntPtrInput // The daily time range (in UTC) during which ElastiCache will // begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00` SnapshotWindow pulumi.StringPtrInput // The name of the cache subnet group to be used for the replication group. SubnetGroupName pulumi.StringPtrInput // A map of tags to assign to the resource. Adding tags to this resource will add or overwrite any existing tags on the clusters in the replication group and not to the group itself. Tags pulumi.StringMapInput // Whether to enable encryption in transit. TransitEncryptionEnabled pulumi.BoolPtrInput }
func (ReplicationGroupState) ElementType ¶
func (ReplicationGroupState) ElementType() reflect.Type
type SecurityGroup ¶
type SecurityGroup struct { pulumi.CustomResourceState // description for the cache security group. Defaults to "Managed by Pulumi". Description pulumi.StringOutput `pulumi:"description"` // Name for the cache security group. This value is stored as a lowercase string. Name pulumi.StringOutput `pulumi:"name"` // List of EC2 security group names to be // authorized for ingress to the cache security group SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"` }
Provides an ElastiCache Security Group to control access to one or more cache clusters.
> **NOTE:** ElastiCache Security Groups are for use only when working with an ElastiCache cluster **outside** of a VPC. If you are using a VPC, see the ElastiCache Subnet Group resource.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2" "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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 ¶ added in v3.13.0
func (*SecurityGroup) ElementType() reflect.Type
func (*SecurityGroup) ToSecurityGroupOutput ¶ added in v3.13.0
func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput
func (*SecurityGroup) ToSecurityGroupOutputWithContext ¶ added in v3.13.0
func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
func (*SecurityGroup) ToSecurityGroupPtrOutput ¶ added in v3.25.0
func (i *SecurityGroup) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
func (*SecurityGroup) ToSecurityGroupPtrOutputWithContext ¶ added in v3.25.0
func (i *SecurityGroup) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
type SecurityGroupArgs ¶
type SecurityGroupArgs struct { // description for the cache security group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // Name for the cache security group. This value is stored as a lowercase string. Name pulumi.StringPtrInput // List of EC2 security group names to be // authorized for ingress to the cache security group SecurityGroupNames pulumi.StringArrayInput }
The set of arguments for constructing a SecurityGroup resource.
func (SecurityGroupArgs) ElementType ¶
func (SecurityGroupArgs) ElementType() reflect.Type
type SecurityGroupArray ¶ added in v3.25.0
type SecurityGroupArray []SecurityGroupInput
func (SecurityGroupArray) ElementType ¶ added in v3.25.0
func (SecurityGroupArray) ElementType() reflect.Type
func (SecurityGroupArray) ToSecurityGroupArrayOutput ¶ added in v3.25.0
func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext ¶ added in v3.25.0
func (i SecurityGroupArray) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput
type SecurityGroupArrayInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type SecurityGroupArrayOutput struct{ *pulumi.OutputState }
func (SecurityGroupArrayOutput) ElementType ¶ added in v3.25.0
func (SecurityGroupArrayOutput) ElementType() reflect.Type
func (SecurityGroupArrayOutput) Index ¶ added in v3.25.0
func (o SecurityGroupArrayOutput) Index(i pulumi.IntInput) SecurityGroupOutput
func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput ¶ added in v3.25.0
func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext ¶ added in v3.25.0
func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput
type SecurityGroupInput ¶ added in v3.13.0
type SecurityGroupInput interface { pulumi.Input ToSecurityGroupOutput() SecurityGroupOutput ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput }
type SecurityGroupMap ¶ added in v3.25.0
type SecurityGroupMap map[string]SecurityGroupInput
func (SecurityGroupMap) ElementType ¶ added in v3.25.0
func (SecurityGroupMap) ElementType() reflect.Type
func (SecurityGroupMap) ToSecurityGroupMapOutput ¶ added in v3.25.0
func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput
func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext ¶ added in v3.25.0
func (i SecurityGroupMap) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput
type SecurityGroupMapInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type SecurityGroupMapOutput struct{ *pulumi.OutputState }
func (SecurityGroupMapOutput) ElementType ¶ added in v3.25.0
func (SecurityGroupMapOutput) ElementType() reflect.Type
func (SecurityGroupMapOutput) MapIndex ¶ added in v3.25.0
func (o SecurityGroupMapOutput) MapIndex(k pulumi.StringInput) SecurityGroupOutput
func (SecurityGroupMapOutput) ToSecurityGroupMapOutput ¶ added in v3.25.0
func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput
func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext ¶ added in v3.25.0
func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput
type SecurityGroupOutput ¶ added in v3.13.0
type SecurityGroupOutput struct {
*pulumi.OutputState
}
func (SecurityGroupOutput) ElementType ¶ added in v3.13.0
func (SecurityGroupOutput) ElementType() reflect.Type
func (SecurityGroupOutput) ToSecurityGroupOutput ¶ added in v3.13.0
func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput
func (SecurityGroupOutput) ToSecurityGroupOutputWithContext ¶ added in v3.13.0
func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
func (SecurityGroupOutput) ToSecurityGroupPtrOutput ¶ added in v3.25.0
func (o SecurityGroupOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
func (SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext ¶ added in v3.25.0
func (o SecurityGroupOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
type SecurityGroupPtrInput ¶ added in v3.25.0
type SecurityGroupPtrInput interface { pulumi.Input ToSecurityGroupPtrOutput() SecurityGroupPtrOutput ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput }
type SecurityGroupPtrOutput ¶ added in v3.25.0
type SecurityGroupPtrOutput struct {
*pulumi.OutputState
}
func (SecurityGroupPtrOutput) ElementType ¶ added in v3.25.0
func (SecurityGroupPtrOutput) ElementType() reflect.Type
func (SecurityGroupPtrOutput) ToSecurityGroupPtrOutput ¶ added in v3.25.0
func (o SecurityGroupPtrOutput) ToSecurityGroupPtrOutput() SecurityGroupPtrOutput
func (SecurityGroupPtrOutput) ToSecurityGroupPtrOutputWithContext ¶ added in v3.25.0
func (o SecurityGroupPtrOutput) ToSecurityGroupPtrOutputWithContext(ctx context.Context) SecurityGroupPtrOutput
type SecurityGroupState ¶
type SecurityGroupState struct { // description for the cache security group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // Name for the cache security group. This value is stored as a lowercase string. Name pulumi.StringPtrInput // List of EC2 security group names to be // authorized for ingress to the cache security group SecurityGroupNames pulumi.StringArrayInput }
func (SecurityGroupState) ElementType ¶
func (SecurityGroupState) ElementType() reflect.Type
type SubnetGroup ¶
type SubnetGroup struct { pulumi.CustomResourceState // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description pulumi.StringOutput `pulumi:"description"` // Name for the cache subnet group. Elasticache converts this name to lowercase. Name pulumi.StringOutput `pulumi:"name"` // List of VPC Subnet IDs for the cache subnet group SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"` }
Provides an ElastiCache Subnet Group resource.
> **NOTE:** ElastiCache Subnet Groups are only for use when working with an ElastiCache cluster **inside** of a VPC. If you are on EC2 Classic, see the ElastiCache Security Group resource.
## Example Usage
```go package main
import (
"github.com/pulumi/pulumi-aws/sdk/v3/go/aws/ec2" "github.com/pulumi/pulumi-aws/sdk/v3/go/aws/elasticache" "github.com/pulumi/pulumi/sdk/v2/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 ¶ added in v3.13.0
func (*SubnetGroup) ElementType() reflect.Type
func (*SubnetGroup) ToSubnetGroupOutput ¶ added in v3.13.0
func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput
func (*SubnetGroup) ToSubnetGroupOutputWithContext ¶ added in v3.13.0
func (i *SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
func (*SubnetGroup) ToSubnetGroupPtrOutput ¶ added in v3.25.0
func (i *SubnetGroup) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
func (*SubnetGroup) ToSubnetGroupPtrOutputWithContext ¶ added in v3.25.0
func (i *SubnetGroup) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
type SubnetGroupArgs ¶
type SubnetGroupArgs struct { // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // Name for the cache subnet group. Elasticache converts this name to lowercase. Name pulumi.StringPtrInput // List of VPC Subnet IDs for the cache subnet group SubnetIds pulumi.StringArrayInput }
The set of arguments for constructing a SubnetGroup resource.
func (SubnetGroupArgs) ElementType ¶
func (SubnetGroupArgs) ElementType() reflect.Type
type SubnetGroupArray ¶ added in v3.25.0
type SubnetGroupArray []SubnetGroupInput
func (SubnetGroupArray) ElementType ¶ added in v3.25.0
func (SubnetGroupArray) ElementType() reflect.Type
func (SubnetGroupArray) ToSubnetGroupArrayOutput ¶ added in v3.25.0
func (i SubnetGroupArray) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
func (SubnetGroupArray) ToSubnetGroupArrayOutputWithContext ¶ added in v3.25.0
func (i SubnetGroupArray) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput
type SubnetGroupArrayInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type SubnetGroupArrayOutput struct{ *pulumi.OutputState }
func (SubnetGroupArrayOutput) ElementType ¶ added in v3.25.0
func (SubnetGroupArrayOutput) ElementType() reflect.Type
func (SubnetGroupArrayOutput) Index ¶ added in v3.25.0
func (o SubnetGroupArrayOutput) Index(i pulumi.IntInput) SubnetGroupOutput
func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutput ¶ added in v3.25.0
func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext ¶ added in v3.25.0
func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput
type SubnetGroupInput ¶ added in v3.13.0
type SubnetGroupInput interface { pulumi.Input ToSubnetGroupOutput() SubnetGroupOutput ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput }
type SubnetGroupMap ¶ added in v3.25.0
type SubnetGroupMap map[string]SubnetGroupInput
func (SubnetGroupMap) ElementType ¶ added in v3.25.0
func (SubnetGroupMap) ElementType() reflect.Type
func (SubnetGroupMap) ToSubnetGroupMapOutput ¶ added in v3.25.0
func (i SubnetGroupMap) ToSubnetGroupMapOutput() SubnetGroupMapOutput
func (SubnetGroupMap) ToSubnetGroupMapOutputWithContext ¶ added in v3.25.0
func (i SubnetGroupMap) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput
type SubnetGroupMapInput ¶ added in v3.25.0
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 ¶ added in v3.25.0
type SubnetGroupMapOutput struct{ *pulumi.OutputState }
func (SubnetGroupMapOutput) ElementType ¶ added in v3.25.0
func (SubnetGroupMapOutput) ElementType() reflect.Type
func (SubnetGroupMapOutput) MapIndex ¶ added in v3.25.0
func (o SubnetGroupMapOutput) MapIndex(k pulumi.StringInput) SubnetGroupOutput
func (SubnetGroupMapOutput) ToSubnetGroupMapOutput ¶ added in v3.25.0
func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput
func (SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext ¶ added in v3.25.0
func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput
type SubnetGroupOutput ¶ added in v3.13.0
type SubnetGroupOutput struct {
*pulumi.OutputState
}
func (SubnetGroupOutput) ElementType ¶ added in v3.13.0
func (SubnetGroupOutput) ElementType() reflect.Type
func (SubnetGroupOutput) ToSubnetGroupOutput ¶ added in v3.13.0
func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput
func (SubnetGroupOutput) ToSubnetGroupOutputWithContext ¶ added in v3.13.0
func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
func (SubnetGroupOutput) ToSubnetGroupPtrOutput ¶ added in v3.25.0
func (o SubnetGroupOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
func (SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext ¶ added in v3.25.0
func (o SubnetGroupOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
type SubnetGroupPtrInput ¶ added in v3.25.0
type SubnetGroupPtrInput interface { pulumi.Input ToSubnetGroupPtrOutput() SubnetGroupPtrOutput ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput }
type SubnetGroupPtrOutput ¶ added in v3.25.0
type SubnetGroupPtrOutput struct {
*pulumi.OutputState
}
func (SubnetGroupPtrOutput) ElementType ¶ added in v3.25.0
func (SubnetGroupPtrOutput) ElementType() reflect.Type
func (SubnetGroupPtrOutput) ToSubnetGroupPtrOutput ¶ added in v3.25.0
func (o SubnetGroupPtrOutput) ToSubnetGroupPtrOutput() SubnetGroupPtrOutput
func (SubnetGroupPtrOutput) ToSubnetGroupPtrOutputWithContext ¶ added in v3.25.0
func (o SubnetGroupPtrOutput) ToSubnetGroupPtrOutputWithContext(ctx context.Context) SubnetGroupPtrOutput
type SubnetGroupState ¶
type SubnetGroupState struct { // Description for the cache subnet group. Defaults to "Managed by Pulumi". Description pulumi.StringPtrInput // Name for the cache subnet group. Elasticache converts this name to lowercase. Name pulumi.StringPtrInput // List of VPC Subnet IDs for the cache subnet group SubnetIds pulumi.StringArrayInput }
func (SubnetGroupState) ElementType ¶
func (SubnetGroupState) ElementType() reflect.Type