elasticache

package
v5.43.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2023 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	pulumi.CustomResourceState

	// 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"`
	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type `"redis"` and if the engine version is 6 or higher.
	// Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.StringPtrOutput `pulumi:"autoMinorVersionUpgrade"`
	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"`
	// Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `numCacheNodes` must be greater than `1`.
	AzMode pulumi.StringOutput `pulumi:"azMode"`
	// List of node objects including `id`, `address`, `port` and `availabilityZone`.
	CacheNodes ClusterCacheNodeArrayOutput `pulumi:"cacheNodes"`
	// (Memcached only) DNS name of the cache cluster without the port appended.
	ClusterAddress pulumi.StringOutput `pulumi:"clusterAddress"`
	// Group identifier. ElastiCache converts this name to lowercase. Changing this value will re-create the resource.
	ClusterId pulumi.StringOutput `pulumi:"clusterId"`
	// (Memcached only) Configuration endpoint to allow host discovery.
	ConfigurationEndpoint pulumi.StringOutput `pulumi:"configurationEndpoint"`
	// Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Version number of the cache engine to be used.
	// If not set, defaults to the latest version.
	// See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.
	// When `engine` is `redis` and the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// Otherwise, specify the full version desired, e.g., `5.0.6`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
	EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"`
	// Name of your final cluster snapshot. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"`
	// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.
	IpDiscovery pulumi.StringOutput `pulumi:"ipDiscovery"`
	// Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.
	LogDeliveryConfigurations ClusterLogDeliveryConfigurationArrayOutput `pulumi:"logDeliveryConfigurations"`
	// 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 IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.
	NodeType pulumi.StringOutput `pulumi:"nodeType"`
	// ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`.
	NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"`
	// The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
	NumCacheNodes pulumi.IntOutput `pulumi:"numCacheNodes"`
	// Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode.
	OutpostMode pulumi.StringPtrOutput `pulumi:"outpostMode"`
	// The name of the parameter group to associate with this cache cluster.
	//
	// The following arguments are optional:
	ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"`
	// The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.
	Port pulumi.IntOutput `pulumi:"port"`
	// List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones pulumi.StringArrayOutput `pulumi:"preferredAvailabilityZones"`
	// The outpost ARN in which the cache cluster will be created.
	PreferredOutpostArn pulumi.StringOutput `pulumi:"preferredOutpostArn"`
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the security_group_names attribute has been deprecated and will be removed in a future version.
	SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"`
	// Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource.
	SnapshotArns pulumi.StringPtrOutput `pulumi:"snapshotArns"`
	// Name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"`
	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"`
	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00
	SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"`
	// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.
	SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"`
	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an ElastiCache Cluster resource, which manages either a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html), a [single-node Redis instance](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), or a [read replica in a Redis (Cluster Mode Enabled) replication group].

For working with Redis (Cluster Mode Enabled) replication groups, see the `elasticache.ReplicationGroup` resource.

> **Note:** When you change an attribute, such as `numCacheNodes`, by default it is applied in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately. Using `applyImmediately` can result in a brief downtime as the server reboots. See the AWS Documentation on Modifying an ElastiCache Cache Cluster for [ElastiCache for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Clusters.Modify.html) or [ElastiCache for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html) for more information.

> **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `applyImmediately`.

## Example Usage ### Memcached Cluster

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewCluster(ctx, "example", &elasticache.ClusterArgs{
			Engine:             pulumi.String("memcached"),
			NodeType:           pulumi.String("cache.m4.large"),
			NumCacheNodes:      pulumi.Int(2),
			ParameterGroupName: pulumi.String("default.memcached1.4"),
			Port:               pulumi.Int(11211),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Redis Instance

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewCluster(ctx, "example", &elasticache.ClusterArgs{
			Engine:             pulumi.String("redis"),
			EngineVersion:      pulumi.String("3.2.10"),
			NodeType:           pulumi.String("cache.m4.large"),
			NumCacheNodes:      pulumi.Int(1),
			ParameterGroupName: pulumi.String("default.redis3.2"),
			Port:               pulumi.Int(6379),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Redis Cluster Mode Disabled Read Replica Instance

These inherit their settings from the replication group.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewCluster(ctx, "replica", &elasticache.ClusterArgs{
			ReplicationGroupId: pulumi.Any(aws_elasticache_replication_group.Example.Id),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Redis Log Delivery configuration

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewCluster(ctx, "test", &elasticache.ClusterArgs{
			Engine:           pulumi.String("redis"),
			NodeType:         pulumi.String("cache.t3.micro"),
			NumCacheNodes:    pulumi.Int(1),
			Port:             pulumi.Int(6379),
			ApplyImmediately: pulumi.Bool(true),
			LogDeliveryConfigurations: elasticache.ClusterLogDeliveryConfigurationArray{
				&elasticache.ClusterLogDeliveryConfigurationArgs{
					Destination:     pulumi.Any(aws_cloudwatch_log_group.Example.Name),
					DestinationType: pulumi.String("cloudwatch-logs"),
					LogFormat:       pulumi.String("text"),
					LogType:         pulumi.String("slow-log"),
				},
				&elasticache.ClusterLogDeliveryConfigurationArgs{
					Destination:     pulumi.Any(aws_kinesis_firehose_delivery_stream.Example.Name),
					DestinationType: pulumi.String("kinesis-firehose"),
					LogFormat:       pulumi.String("json"),
					LogType:         pulumi.String("engine-log"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache Clusters can be imported using the `cluster_id`, e.g.,

```sh

$ pulumi import aws:elasticache/cluster:Cluster my_cluster my_cluster

```

func GetCluster

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

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

func NewCluster

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

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

func (*Cluster) ElementType

func (*Cluster) ElementType() reflect.Type

func (*Cluster) ToClusterOutput

func (i *Cluster) ToClusterOutput() ClusterOutput

func (*Cluster) ToClusterOutputWithContext

func (i *Cluster) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterArgs

type ClusterArgs struct {
	// Whether any database modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html).
	ApplyImmediately pulumi.BoolPtrInput
	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type `"redis"` and if the engine version is 6 or higher.
	// Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.StringPtrInput
	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone pulumi.StringPtrInput
	// Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `numCacheNodes` must be greater than `1`.
	AzMode pulumi.StringPtrInput
	// 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.
	// If not set, defaults to the latest version.
	// See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.
	// When `engine` is `redis` and the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// Otherwise, specify the full version desired, e.g., `5.0.6`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringPtrInput
	// Name of your final cluster snapshot. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.
	IpDiscovery pulumi.StringPtrInput
	// Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.
	LogDeliveryConfigurations ClusterLogDeliveryConfigurationArrayInput
	// 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 IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`.
	NetworkType pulumi.StringPtrInput
	// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.
	NodeType pulumi.StringPtrInput
	// ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`.
	NotificationTopicArn pulumi.StringPtrInput
	// The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
	NumCacheNodes pulumi.IntPtrInput
	// Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode.
	OutpostMode pulumi.StringPtrInput
	// The name of the parameter group to associate with this cache cluster.
	//
	// The following arguments are optional:
	ParameterGroupName pulumi.StringPtrInput
	// The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.
	Port pulumi.IntPtrInput
	// List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones pulumi.StringArrayInput
	// The outpost ARN in which the cache cluster will be created.
	PreferredOutpostArn pulumi.StringPtrInput
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the security_group_names attribute has been deprecated and will be removed in a future version.
	SecurityGroupNames pulumi.StringArrayInput
	// Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource.
	SnapshotArns pulumi.StringPtrInput
	// Name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00
	SnapshotWindow pulumi.StringPtrInput
	// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.
	SubnetGroupName pulumi.StringPtrInput
	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Cluster resource.

func (ClusterArgs) ElementType

func (ClusterArgs) ElementType() reflect.Type

type ClusterArray

type ClusterArray []ClusterInput

func (ClusterArray) ElementType

func (ClusterArray) ElementType() reflect.Type

func (ClusterArray) ToClusterArrayOutput

func (i ClusterArray) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArray) ToClusterArrayOutputWithContext

func (i ClusterArray) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterArrayInput

type ClusterArrayInput interface {
	pulumi.Input

	ToClusterArrayOutput() ClusterArrayOutput
	ToClusterArrayOutputWithContext(context.Context) ClusterArrayOutput
}

ClusterArrayInput is an input type that accepts ClusterArray and ClusterArrayOutput values. You can construct a concrete instance of `ClusterArrayInput` via:

ClusterArray{ ClusterArgs{...} }

type ClusterArrayOutput

type ClusterArrayOutput struct{ *pulumi.OutputState }

func (ClusterArrayOutput) ElementType

func (ClusterArrayOutput) ElementType() reflect.Type

func (ClusterArrayOutput) Index

func (ClusterArrayOutput) ToClusterArrayOutput

func (o ClusterArrayOutput) ToClusterArrayOutput() ClusterArrayOutput

func (ClusterArrayOutput) ToClusterArrayOutputWithContext

func (o ClusterArrayOutput) ToClusterArrayOutputWithContext(ctx context.Context) ClusterArrayOutput

type ClusterCacheNode

type ClusterCacheNode struct {
	Address *string `pulumi:"address"`
	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone *string `pulumi:"availabilityZone"`
	Id               *string `pulumi:"id"`
	OutpostArn       *string `pulumi:"outpostArn"`
	// The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.
	Port *int `pulumi:"port"`
}

type ClusterCacheNodeArgs

type ClusterCacheNodeArgs struct {
	Address pulumi.StringPtrInput `pulumi:"address"`
	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone pulumi.StringPtrInput `pulumi:"availabilityZone"`
	Id               pulumi.StringPtrInput `pulumi:"id"`
	OutpostArn       pulumi.StringPtrInput `pulumi:"outpostArn"`
	// 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) Index

func (ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput

func (o ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutput() ClusterCacheNodeArrayOutput

func (ClusterCacheNodeArrayOutput) ToClusterCacheNodeArrayOutputWithContext

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

type ClusterCacheNodeInput

type ClusterCacheNodeInput interface {
	pulumi.Input

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

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 (ClusterCacheNodeOutput) AvailabilityZone

func (o ClusterCacheNodeOutput) AvailabilityZone() pulumi.StringPtrOutput

Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.

func (ClusterCacheNodeOutput) ElementType

func (ClusterCacheNodeOutput) ElementType() reflect.Type

func (ClusterCacheNodeOutput) Id

func (ClusterCacheNodeOutput) OutpostArn added in v5.22.0

func (ClusterCacheNodeOutput) Port

The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.

func (ClusterCacheNodeOutput) ToClusterCacheNodeOutput

func (o ClusterCacheNodeOutput) ToClusterCacheNodeOutput() ClusterCacheNodeOutput

func (ClusterCacheNodeOutput) ToClusterCacheNodeOutputWithContext

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

type ClusterInput

type ClusterInput interface {
	pulumi.Input

	ToClusterOutput() ClusterOutput
	ToClusterOutputWithContext(ctx context.Context) ClusterOutput
}

type ClusterLogDeliveryConfiguration added in v5.2.0

type ClusterLogDeliveryConfiguration struct {
	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	Destination string `pulumi:"destination"`
	// For CloudWatch Logs use `cloudwatch-logs` or for Kinesis Data Firehose use `kinesis-firehose`.
	DestinationType string `pulumi:"destinationType"`
	// Valid values are `json` or `text`
	LogFormat string `pulumi:"logFormat"`
	// Valid values are  `slow-log` or `engine-log`. Max 1 of each.
	LogType string `pulumi:"logType"`
}

type ClusterLogDeliveryConfigurationArgs added in v5.2.0

type ClusterLogDeliveryConfigurationArgs struct {
	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	Destination pulumi.StringInput `pulumi:"destination"`
	// For CloudWatch Logs use `cloudwatch-logs` or for Kinesis Data Firehose use `kinesis-firehose`.
	DestinationType pulumi.StringInput `pulumi:"destinationType"`
	// Valid values are `json` or `text`
	LogFormat pulumi.StringInput `pulumi:"logFormat"`
	// Valid values are  `slow-log` or `engine-log`. Max 1 of each.
	LogType pulumi.StringInput `pulumi:"logType"`
}

func (ClusterLogDeliveryConfigurationArgs) ElementType added in v5.2.0

func (ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutput added in v5.2.0

func (i ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutput() ClusterLogDeliveryConfigurationOutput

func (ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (i ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutputWithContext(ctx context.Context) ClusterLogDeliveryConfigurationOutput

type ClusterLogDeliveryConfigurationArray added in v5.2.0

type ClusterLogDeliveryConfigurationArray []ClusterLogDeliveryConfigurationInput

func (ClusterLogDeliveryConfigurationArray) ElementType added in v5.2.0

func (ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutput added in v5.2.0

func (i ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutput() ClusterLogDeliveryConfigurationArrayOutput

func (ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (i ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) ClusterLogDeliveryConfigurationArrayOutput

type ClusterLogDeliveryConfigurationArrayInput added in v5.2.0

type ClusterLogDeliveryConfigurationArrayInput interface {
	pulumi.Input

	ToClusterLogDeliveryConfigurationArrayOutput() ClusterLogDeliveryConfigurationArrayOutput
	ToClusterLogDeliveryConfigurationArrayOutputWithContext(context.Context) ClusterLogDeliveryConfigurationArrayOutput
}

ClusterLogDeliveryConfigurationArrayInput is an input type that accepts ClusterLogDeliveryConfigurationArray and ClusterLogDeliveryConfigurationArrayOutput values. You can construct a concrete instance of `ClusterLogDeliveryConfigurationArrayInput` via:

ClusterLogDeliveryConfigurationArray{ ClusterLogDeliveryConfigurationArgs{...} }

type ClusterLogDeliveryConfigurationArrayOutput added in v5.2.0

type ClusterLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ClusterLogDeliveryConfigurationArrayOutput) ElementType added in v5.2.0

func (ClusterLogDeliveryConfigurationArrayOutput) Index added in v5.2.0

func (ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutput added in v5.2.0

func (o ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutput() ClusterLogDeliveryConfigurationArrayOutput

func (ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (o ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) ClusterLogDeliveryConfigurationArrayOutput

type ClusterLogDeliveryConfigurationInput added in v5.2.0

type ClusterLogDeliveryConfigurationInput interface {
	pulumi.Input

	ToClusterLogDeliveryConfigurationOutput() ClusterLogDeliveryConfigurationOutput
	ToClusterLogDeliveryConfigurationOutputWithContext(context.Context) ClusterLogDeliveryConfigurationOutput
}

ClusterLogDeliveryConfigurationInput is an input type that accepts ClusterLogDeliveryConfigurationArgs and ClusterLogDeliveryConfigurationOutput values. You can construct a concrete instance of `ClusterLogDeliveryConfigurationInput` via:

ClusterLogDeliveryConfigurationArgs{...}

type ClusterLogDeliveryConfigurationOutput added in v5.2.0

type ClusterLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterLogDeliveryConfigurationOutput) Destination added in v5.2.0

Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.

func (ClusterLogDeliveryConfigurationOutput) DestinationType added in v5.2.0

For CloudWatch Logs use `cloudwatch-logs` or for Kinesis Data Firehose use `kinesis-firehose`.

func (ClusterLogDeliveryConfigurationOutput) ElementType added in v5.2.0

func (ClusterLogDeliveryConfigurationOutput) LogFormat added in v5.2.0

Valid values are `json` or `text`

func (ClusterLogDeliveryConfigurationOutput) LogType added in v5.2.0

Valid values are `slow-log` or `engine-log`. Max 1 of each.

func (ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutput added in v5.2.0

func (o ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutput() ClusterLogDeliveryConfigurationOutput

func (ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (o ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutputWithContext(ctx context.Context) ClusterLogDeliveryConfigurationOutput

type ClusterMap

type ClusterMap map[string]ClusterInput

func (ClusterMap) ElementType

func (ClusterMap) ElementType() reflect.Type

func (ClusterMap) ToClusterMapOutput

func (i ClusterMap) ToClusterMapOutput() ClusterMapOutput

func (ClusterMap) ToClusterMapOutputWithContext

func (i ClusterMap) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterMapInput

type ClusterMapInput interface {
	pulumi.Input

	ToClusterMapOutput() ClusterMapOutput
	ToClusterMapOutputWithContext(context.Context) ClusterMapOutput
}

ClusterMapInput is an input type that accepts ClusterMap and ClusterMapOutput values. You can construct a concrete instance of `ClusterMapInput` via:

ClusterMap{ "key": ClusterArgs{...} }

type ClusterMapOutput

type ClusterMapOutput struct{ *pulumi.OutputState }

func (ClusterMapOutput) ElementType

func (ClusterMapOutput) ElementType() reflect.Type

func (ClusterMapOutput) MapIndex

func (ClusterMapOutput) ToClusterMapOutput

func (o ClusterMapOutput) ToClusterMapOutput() ClusterMapOutput

func (ClusterMapOutput) ToClusterMapOutputWithContext

func (o ClusterMapOutput) ToClusterMapOutputWithContext(ctx context.Context) ClusterMapOutput

type ClusterOutput

type ClusterOutput struct{ *pulumi.OutputState }

func (ClusterOutput) ApplyImmediately added in v5.4.0

func (o ClusterOutput) ApplyImmediately() pulumi.BoolOutput

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

func (ClusterOutput) Arn added in v5.4.0

The ARN of the created ElastiCache Cluster.

func (ClusterOutput) AutoMinorVersionUpgrade added in v5.4.0

func (o ClusterOutput) AutoMinorVersionUpgrade() pulumi.StringPtrOutput

Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Only supported for engine type `"redis"` and if the engine version is 6 or higher. Defaults to `true`.

func (ClusterOutput) AvailabilityZone added in v5.4.0

func (o ClusterOutput) AvailabilityZone() pulumi.StringOutput

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 (ClusterOutput) AzMode added in v5.4.0

func (o ClusterOutput) AzMode() pulumi.StringOutput

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

func (ClusterOutput) CacheNodes added in v5.4.0

List of node objects including `id`, `address`, `port` and `availabilityZone`.

func (ClusterOutput) ClusterAddress added in v5.4.0

func (o ClusterOutput) ClusterAddress() pulumi.StringOutput

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

func (ClusterOutput) ClusterId added in v5.4.0

func (o ClusterOutput) ClusterId() pulumi.StringOutput

Group identifier. ElastiCache converts this name to lowercase. Changing this value will re-create the resource.

func (ClusterOutput) ConfigurationEndpoint added in v5.4.0

func (o ClusterOutput) ConfigurationEndpoint() pulumi.StringOutput

(Memcached only) Configuration endpoint to allow host discovery.

func (ClusterOutput) ElementType

func (ClusterOutput) ElementType() reflect.Type

func (ClusterOutput) Engine added in v5.4.0

func (o ClusterOutput) Engine() pulumi.StringOutput

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

func (ClusterOutput) EngineVersion added in v5.4.0

func (o ClusterOutput) EngineVersion() pulumi.StringOutput

Version number of the cache engine to be used. If not set, defaults to the latest version. See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions. When `engine` is `redis` and the version is 6 or higher, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.

func (ClusterOutput) EngineVersionActual added in v5.4.0

func (o ClusterOutput) EngineVersionActual() pulumi.StringOutput

Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.

func (ClusterOutput) FinalSnapshotIdentifier added in v5.4.0

func (o ClusterOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput

Name of your final cluster snapshot. If omitted, no final snapshot will be made.

func (ClusterOutput) IpDiscovery added in v5.22.0

func (o ClusterOutput) IpDiscovery() pulumi.StringOutput

The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.

func (ClusterOutput) LogDeliveryConfigurations added in v5.4.0

func (o ClusterOutput) LogDeliveryConfigurations() ClusterLogDeliveryConfigurationArrayOutput

Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.

func (ClusterOutput) MaintenanceWindow added in v5.4.0

func (o ClusterOutput) MaintenanceWindow() pulumi.StringOutput

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`.

func (ClusterOutput) NetworkType added in v5.22.0

func (o ClusterOutput) NetworkType() pulumi.StringOutput

The IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`.

func (ClusterOutput) NodeType added in v5.4.0

func (o ClusterOutput) NodeType() pulumi.StringOutput

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.

func (ClusterOutput) NotificationTopicArn added in v5.4.0

func (o ClusterOutput) NotificationTopicArn() pulumi.StringPtrOutput

ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`.

func (ClusterOutput) NumCacheNodes added in v5.4.0

func (o ClusterOutput) NumCacheNodes() pulumi.IntOutput

The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.

func (ClusterOutput) OutpostMode added in v5.22.0

func (o ClusterOutput) OutpostMode() pulumi.StringPtrOutput

Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode.

func (ClusterOutput) ParameterGroupName added in v5.4.0

func (o ClusterOutput) ParameterGroupName() pulumi.StringOutput

The name of the parameter group to associate with this cache cluster.

The following arguments are optional:

func (ClusterOutput) Port added in v5.4.0

func (o ClusterOutput) Port() pulumi.IntOutput

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 (ClusterOutput) PreferredAvailabilityZones added in v5.4.0

func (o ClusterOutput) PreferredAvailabilityZones() pulumi.StringArrayOutput

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.

func (ClusterOutput) PreferredOutpostArn added in v5.22.0

func (o ClusterOutput) PreferredOutpostArn() pulumi.StringOutput

The outpost ARN in which the cache cluster will be created.

func (ClusterOutput) ReplicationGroupId added in v5.4.0

func (o ClusterOutput) ReplicationGroupId() pulumi.StringOutput

ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.

func (ClusterOutput) SecurityGroupIds added in v5.4.0

func (o ClusterOutput) SecurityGroupIds() pulumi.StringArrayOutput

One or more VPC security groups associated with the cache cluster

func (ClusterOutput) SecurityGroupNames deprecated added in v5.4.0

func (o ClusterOutput) SecurityGroupNames() pulumi.StringArrayOutput

List of security group names to associate with this cache cluster. Changing this value will re-create the resource.

Deprecated: With the retirement of EC2-Classic the security_group_names attribute has been deprecated and will be removed in a future version.

func (ClusterOutput) SnapshotArns added in v5.4.0

func (o ClusterOutput) SnapshotArns() pulumi.StringPtrOutput

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.

func (ClusterOutput) SnapshotName added in v5.4.0

func (o ClusterOutput) SnapshotName() pulumi.StringPtrOutput

Name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource.

func (ClusterOutput) SnapshotRetentionLimit added in v5.4.0

func (o ClusterOutput) SnapshotRetentionLimit() pulumi.IntPtrOutput

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

func (ClusterOutput) SnapshotWindow added in v5.4.0

func (o ClusterOutput) SnapshotWindow() pulumi.StringOutput

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

func (ClusterOutput) SubnetGroupName added in v5.4.0

func (o ClusterOutput) SubnetGroupName() pulumi.StringOutput

Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.

func (ClusterOutput) Tags added in v5.4.0

Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ClusterOutput) TagsAll added in v5.4.0

func (o ClusterOutput) TagsAll() pulumi.StringMapOutput

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

func (o ClusterOutput) ToClusterOutputWithContext(ctx context.Context) ClusterOutput

type ClusterState

type ClusterState struct {
	// Whether any database modifications are applied immediately, or during the next maintenance window. Default is `false`. See [Amazon ElastiCache Documentation for more information.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html).
	ApplyImmediately pulumi.BoolPtrInput
	// The ARN of the created ElastiCache Cluster.
	Arn pulumi.StringPtrInput
	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type `"redis"` and if the engine version is 6 or higher.
	// Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.StringPtrInput
	// Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use `preferredAvailabilityZones` instead. Default: System chosen Availability Zone. Changing this value will re-create the resource.
	AvailabilityZone pulumi.StringPtrInput
	// Whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are `single-az` or `cross-az`, default is `single-az`. If you want to choose `cross-az`, `numCacheNodes` must be greater than `1`.
	AzMode pulumi.StringPtrInput
	// List of node objects including `id`, `address`, `port` and `availabilityZone`.
	CacheNodes ClusterCacheNodeArrayInput
	// (Memcached only) DNS name of the cache cluster without the port appended.
	ClusterAddress pulumi.StringPtrInput
	// Group identifier. ElastiCache converts this name to lowercase. Changing this value will re-create the resource.
	ClusterId pulumi.StringPtrInput
	// (Memcached only) Configuration endpoint to allow host discovery.
	ConfigurationEndpoint pulumi.StringPtrInput
	// Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
	Engine pulumi.StringPtrInput
	// Version number of the cache engine to be used.
	// If not set, defaults to the latest version.
	// See [Describe Cache Engine Versions](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-engine-versions.html) in the AWS Documentation for supported versions.
	// When `engine` is `redis` and the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// Otherwise, specify the full version desired, e.g., `5.0.6`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringPtrInput
	// Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
	EngineVersionActual pulumi.StringPtrInput
	// Name of your final cluster snapshot. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.
	IpDiscovery pulumi.StringPtrInput
	// Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html). See Log Delivery Configuration below for more details.
	LogDeliveryConfigurations ClusterLogDeliveryConfigurationArrayInput
	// 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 IP versions for cache cluster connections. IPv6 is supported with Redis engine `6.2` onword or Memcached version `1.6.6` for all [Nitro system](https://aws.amazon.com/ec2/nitro/) instances. Valid values are `ipv4`, `ipv6` or `dualStack`.
	NetworkType pulumi.StringPtrInput
	// The instance class used. See AWS documentation for information on [supported node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Redis](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). See AWS documentation for information on [supported node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types for Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/nodes-select-size.html). For Memcached, changing this value will re-create the resource.
	NodeType pulumi.StringPtrInput
	// ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`.
	NotificationTopicArn pulumi.StringPtrInput
	// The initial number of cache nodes that the cache cluster will have. For Redis, this value must be 1. For Memcached, this value must be between 1 and 40. If this number is reduced on subsequent runs, the highest numbered nodes will be removed.
	NumCacheNodes pulumi.IntPtrInput
	// Specify the outpost mode that will apply to the cache cluster creation. Valid values are `"single-outpost"` and `"cross-outpost"`, however AWS currently only supports `"single-outpost"` mode.
	OutpostMode pulumi.StringPtrInput
	// The name of the parameter group to associate with this cache cluster.
	//
	// The following arguments are optional:
	ParameterGroupName pulumi.StringPtrInput
	// The port number on which each of the cache nodes will accept connections. For Memcached the default is 11211, and for Redis the default port is 6379. Cannot be provided with `replicationGroupId`. Changing this value will re-create the resource.
	Port pulumi.IntPtrInput
	// List of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of `numCacheNodes`. If you want all the nodes in the same Availability Zone, use `availabilityZone` instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.
	PreferredAvailabilityZones pulumi.StringArrayInput
	// The outpost ARN in which the cache cluster will be created.
	PreferredOutpostArn pulumi.StringPtrInput
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the security_group_names attribute has been deprecated and will be removed in a future version.
	SecurityGroupNames pulumi.StringArrayInput
	// Single-element string list containing an Amazon Resource Name (ARN) of a Redis RDB snapshot file stored in Amazon S3. The object name cannot contain any commas. Changing `snapshotArns` forces a new resource.
	SnapshotArns pulumi.StringPtrInput
	// Name of a snapshot from which to restore data into the new node group. Changing `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of SnapshotRetentionLimit is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. Example: 05:00-09:00
	SnapshotWindow pulumi.StringPtrInput
	// Name of the subnet group to be used for the cache cluster. Changing this value will re-create the resource.
	SubnetGroupName pulumi.StringPtrInput
	// Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ClusterState) ElementType

func (ClusterState) ElementType() reflect.Type

type GetClusterCacheNode

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

type GetClusterCacheNodeArgs

type GetClusterCacheNodeArgs struct {
	Address pulumi.StringInput `pulumi:"address"`
	// Availability Zone for the cache cluster.
	AvailabilityZone pulumi.StringInput `pulumi:"availabilityZone"`
	Id               pulumi.StringInput `pulumi:"id"`
	OutpostArn       pulumi.StringInput `pulumi:"outpostArn"`
	// 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) Index

func (GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput

func (o GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutput() GetClusterCacheNodeArrayOutput

func (GetClusterCacheNodeArrayOutput) ToGetClusterCacheNodeArrayOutputWithContext

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

type GetClusterCacheNodeInput

type GetClusterCacheNodeInput interface {
	pulumi.Input

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

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 (GetClusterCacheNodeOutput) AvailabilityZone

func (o GetClusterCacheNodeOutput) AvailabilityZone() pulumi.StringOutput

Availability Zone for the cache cluster.

func (GetClusterCacheNodeOutput) ElementType

func (GetClusterCacheNodeOutput) ElementType() reflect.Type

func (GetClusterCacheNodeOutput) Id

func (GetClusterCacheNodeOutput) OutpostArn added in v5.22.0

func (GetClusterCacheNodeOutput) Port

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

func (GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput

func (o GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutput() GetClusterCacheNodeOutput

func (GetClusterCacheNodeOutput) ToGetClusterCacheNodeOutputWithContext

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

type GetClusterLogDeliveryConfiguration added in v5.2.0

type GetClusterLogDeliveryConfiguration struct {
	Destination     string `pulumi:"destination"`
	DestinationType string `pulumi:"destinationType"`
	LogFormat       string `pulumi:"logFormat"`
	LogType         string `pulumi:"logType"`
}

type GetClusterLogDeliveryConfigurationArgs added in v5.2.0

type GetClusterLogDeliveryConfigurationArgs struct {
	Destination     pulumi.StringInput `pulumi:"destination"`
	DestinationType pulumi.StringInput `pulumi:"destinationType"`
	LogFormat       pulumi.StringInput `pulumi:"logFormat"`
	LogType         pulumi.StringInput `pulumi:"logType"`
}

func (GetClusterLogDeliveryConfigurationArgs) ElementType added in v5.2.0

func (GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutput added in v5.2.0

func (i GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutput() GetClusterLogDeliveryConfigurationOutput

func (GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (i GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutputWithContext(ctx context.Context) GetClusterLogDeliveryConfigurationOutput

type GetClusterLogDeliveryConfigurationArray added in v5.2.0

type GetClusterLogDeliveryConfigurationArray []GetClusterLogDeliveryConfigurationInput

func (GetClusterLogDeliveryConfigurationArray) ElementType added in v5.2.0

func (GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutput added in v5.2.0

func (i GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutput() GetClusterLogDeliveryConfigurationArrayOutput

func (GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (i GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) GetClusterLogDeliveryConfigurationArrayOutput

type GetClusterLogDeliveryConfigurationArrayInput added in v5.2.0

type GetClusterLogDeliveryConfigurationArrayInput interface {
	pulumi.Input

	ToGetClusterLogDeliveryConfigurationArrayOutput() GetClusterLogDeliveryConfigurationArrayOutput
	ToGetClusterLogDeliveryConfigurationArrayOutputWithContext(context.Context) GetClusterLogDeliveryConfigurationArrayOutput
}

GetClusterLogDeliveryConfigurationArrayInput is an input type that accepts GetClusterLogDeliveryConfigurationArray and GetClusterLogDeliveryConfigurationArrayOutput values. You can construct a concrete instance of `GetClusterLogDeliveryConfigurationArrayInput` via:

GetClusterLogDeliveryConfigurationArray{ GetClusterLogDeliveryConfigurationArgs{...} }

type GetClusterLogDeliveryConfigurationArrayOutput added in v5.2.0

type GetClusterLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetClusterLogDeliveryConfigurationArrayOutput) ElementType added in v5.2.0

func (GetClusterLogDeliveryConfigurationArrayOutput) Index added in v5.2.0

func (GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutput added in v5.2.0

func (o GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutput() GetClusterLogDeliveryConfigurationArrayOutput

func (GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (o GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) GetClusterLogDeliveryConfigurationArrayOutput

type GetClusterLogDeliveryConfigurationInput added in v5.2.0

type GetClusterLogDeliveryConfigurationInput interface {
	pulumi.Input

	ToGetClusterLogDeliveryConfigurationOutput() GetClusterLogDeliveryConfigurationOutput
	ToGetClusterLogDeliveryConfigurationOutputWithContext(context.Context) GetClusterLogDeliveryConfigurationOutput
}

GetClusterLogDeliveryConfigurationInput is an input type that accepts GetClusterLogDeliveryConfigurationArgs and GetClusterLogDeliveryConfigurationOutput values. You can construct a concrete instance of `GetClusterLogDeliveryConfigurationInput` via:

GetClusterLogDeliveryConfigurationArgs{...}

type GetClusterLogDeliveryConfigurationOutput added in v5.2.0

type GetClusterLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (GetClusterLogDeliveryConfigurationOutput) Destination added in v5.2.0

func (GetClusterLogDeliveryConfigurationOutput) DestinationType added in v5.2.0

func (GetClusterLogDeliveryConfigurationOutput) ElementType added in v5.2.0

func (GetClusterLogDeliveryConfigurationOutput) LogFormat added in v5.2.0

func (GetClusterLogDeliveryConfigurationOutput) LogType added in v5.2.0

func (GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutput added in v5.2.0

func (o GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutput() GetClusterLogDeliveryConfigurationOutput

func (GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (o GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutputWithContext(ctx context.Context) GetClusterLogDeliveryConfigurationOutput

type GetReplicationGroupLogDeliveryConfiguration added in v5.2.0

type GetReplicationGroupLogDeliveryConfiguration struct {
	Destination     string `pulumi:"destination"`
	DestinationType string `pulumi:"destinationType"`
	LogFormat       string `pulumi:"logFormat"`
	LogType         string `pulumi:"logType"`
}

type GetReplicationGroupLogDeliveryConfigurationArgs added in v5.2.0

type GetReplicationGroupLogDeliveryConfigurationArgs struct {
	Destination     pulumi.StringInput `pulumi:"destination"`
	DestinationType pulumi.StringInput `pulumi:"destinationType"`
	LogFormat       pulumi.StringInput `pulumi:"logFormat"`
	LogType         pulumi.StringInput `pulumi:"logType"`
}

func (GetReplicationGroupLogDeliveryConfigurationArgs) ElementType added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutput added in v5.2.0

func (i GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutput() GetReplicationGroupLogDeliveryConfigurationOutput

func (GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (i GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext(ctx context.Context) GetReplicationGroupLogDeliveryConfigurationOutput

type GetReplicationGroupLogDeliveryConfigurationArray added in v5.2.0

type GetReplicationGroupLogDeliveryConfigurationArray []GetReplicationGroupLogDeliveryConfigurationInput

func (GetReplicationGroupLogDeliveryConfigurationArray) ElementType added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutput added in v5.2.0

func (i GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutput() GetReplicationGroupLogDeliveryConfigurationArrayOutput

func (GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (i GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) GetReplicationGroupLogDeliveryConfigurationArrayOutput

type GetReplicationGroupLogDeliveryConfigurationArrayInput added in v5.2.0

type GetReplicationGroupLogDeliveryConfigurationArrayInput interface {
	pulumi.Input

	ToGetReplicationGroupLogDeliveryConfigurationArrayOutput() GetReplicationGroupLogDeliveryConfigurationArrayOutput
	ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext(context.Context) GetReplicationGroupLogDeliveryConfigurationArrayOutput
}

GetReplicationGroupLogDeliveryConfigurationArrayInput is an input type that accepts GetReplicationGroupLogDeliveryConfigurationArray and GetReplicationGroupLogDeliveryConfigurationArrayOutput values. You can construct a concrete instance of `GetReplicationGroupLogDeliveryConfigurationArrayInput` via:

GetReplicationGroupLogDeliveryConfigurationArray{ GetReplicationGroupLogDeliveryConfigurationArgs{...} }

type GetReplicationGroupLogDeliveryConfigurationArrayOutput added in v5.2.0

type GetReplicationGroupLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) ElementType added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) Index added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) ToGetReplicationGroupLogDeliveryConfigurationArrayOutput added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (o GetReplicationGroupLogDeliveryConfigurationArrayOutput) ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) GetReplicationGroupLogDeliveryConfigurationArrayOutput

type GetReplicationGroupLogDeliveryConfigurationInput added in v5.2.0

type GetReplicationGroupLogDeliveryConfigurationInput interface {
	pulumi.Input

	ToGetReplicationGroupLogDeliveryConfigurationOutput() GetReplicationGroupLogDeliveryConfigurationOutput
	ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext(context.Context) GetReplicationGroupLogDeliveryConfigurationOutput
}

GetReplicationGroupLogDeliveryConfigurationInput is an input type that accepts GetReplicationGroupLogDeliveryConfigurationArgs and GetReplicationGroupLogDeliveryConfigurationOutput values. You can construct a concrete instance of `GetReplicationGroupLogDeliveryConfigurationInput` via:

GetReplicationGroupLogDeliveryConfigurationArgs{...}

type GetReplicationGroupLogDeliveryConfigurationOutput added in v5.2.0

type GetReplicationGroupLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (GetReplicationGroupLogDeliveryConfigurationOutput) Destination added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationOutput) DestinationType added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationOutput) ElementType added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationOutput) LogFormat added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationOutput) LogType added in v5.2.0

func (GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutput added in v5.2.0

func (o GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutput() GetReplicationGroupLogDeliveryConfigurationOutput

func (GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (o GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext(ctx context.Context) GetReplicationGroupLogDeliveryConfigurationOutput

type GetUserAuthenticationMode added in v5.33.0

type GetUserAuthenticationMode struct {
	PasswordCount *int    `pulumi:"passwordCount"`
	Type          *string `pulumi:"type"`
}

type GetUserAuthenticationModeArgs added in v5.33.0

type GetUserAuthenticationModeArgs struct {
	PasswordCount pulumi.IntPtrInput    `pulumi:"passwordCount"`
	Type          pulumi.StringPtrInput `pulumi:"type"`
}

func (GetUserAuthenticationModeArgs) ElementType added in v5.33.0

func (GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutput added in v5.33.0

func (i GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutput() GetUserAuthenticationModeOutput

func (GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutputWithContext added in v5.33.0

func (i GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutputWithContext(ctx context.Context) GetUserAuthenticationModeOutput

type GetUserAuthenticationModeArray added in v5.33.0

type GetUserAuthenticationModeArray []GetUserAuthenticationModeInput

func (GetUserAuthenticationModeArray) ElementType added in v5.33.0

func (GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutput added in v5.33.0

func (i GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutput() GetUserAuthenticationModeArrayOutput

func (GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutputWithContext added in v5.33.0

func (i GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutputWithContext(ctx context.Context) GetUserAuthenticationModeArrayOutput

type GetUserAuthenticationModeArrayInput added in v5.33.0

type GetUserAuthenticationModeArrayInput interface {
	pulumi.Input

	ToGetUserAuthenticationModeArrayOutput() GetUserAuthenticationModeArrayOutput
	ToGetUserAuthenticationModeArrayOutputWithContext(context.Context) GetUserAuthenticationModeArrayOutput
}

GetUserAuthenticationModeArrayInput is an input type that accepts GetUserAuthenticationModeArray and GetUserAuthenticationModeArrayOutput values. You can construct a concrete instance of `GetUserAuthenticationModeArrayInput` via:

GetUserAuthenticationModeArray{ GetUserAuthenticationModeArgs{...} }

type GetUserAuthenticationModeArrayOutput added in v5.33.0

type GetUserAuthenticationModeArrayOutput struct{ *pulumi.OutputState }

func (GetUserAuthenticationModeArrayOutput) ElementType added in v5.33.0

func (GetUserAuthenticationModeArrayOutput) Index added in v5.33.0

func (GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutput added in v5.33.0

func (o GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutput() GetUserAuthenticationModeArrayOutput

func (GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutputWithContext added in v5.33.0

func (o GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutputWithContext(ctx context.Context) GetUserAuthenticationModeArrayOutput

type GetUserAuthenticationModeInput added in v5.33.0

type GetUserAuthenticationModeInput interface {
	pulumi.Input

	ToGetUserAuthenticationModeOutput() GetUserAuthenticationModeOutput
	ToGetUserAuthenticationModeOutputWithContext(context.Context) GetUserAuthenticationModeOutput
}

GetUserAuthenticationModeInput is an input type that accepts GetUserAuthenticationModeArgs and GetUserAuthenticationModeOutput values. You can construct a concrete instance of `GetUserAuthenticationModeInput` via:

GetUserAuthenticationModeArgs{...}

type GetUserAuthenticationModeOutput added in v5.33.0

type GetUserAuthenticationModeOutput struct{ *pulumi.OutputState }

func (GetUserAuthenticationModeOutput) ElementType added in v5.33.0

func (GetUserAuthenticationModeOutput) PasswordCount added in v5.33.0

func (GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutput added in v5.33.0

func (o GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutput() GetUserAuthenticationModeOutput

func (GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutputWithContext added in v5.33.0

func (o GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutputWithContext(ctx context.Context) GetUserAuthenticationModeOutput

func (GetUserAuthenticationModeOutput) Type added in v5.33.0

type GlobalReplicationGroup

type GlobalReplicationGroup struct {
	pulumi.CustomResourceState

	// 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"`
	// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails.
	// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.
	AutomaticFailoverEnabled pulumi.BoolOutput `pulumi:"automaticFailoverEnabled"`
	// 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).
	// When creating, by default the Global Replication Group inherits the node type of the primary replication group.
	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"`
	// Redis version to use for the Global Replication Group.
	// When creating, by default the Global Replication Group inherits the version of the primary replication group.
	// If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version.
	// Cannot be downgraded without replacing the Global Replication Group and all member replication groups.
	// If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// The full version number of the cache engine running on the members of this global replication group.
	EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"`
	// Set of node groups (shards) on the global replication group.
	// Has the values:
	GlobalNodeGroups GlobalReplicationGroupGlobalNodeGroupArrayOutput `pulumi:"globalNodeGroups"`
	// 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 number of node groups (shards) on the global replication group.
	NumNodeGroups pulumi.IntOutput `pulumi:"numNodeGroups"`
	// An ElastiCache Parameter Group to use for the Global Replication Group.
	// Required when upgrading a major engine version, but will be ignored if left configured after the upgrade is complete.
	// Specifying without a major version upgrade will fail.
	// Note that ElastiCache creates a copy of this parameter group for each member replication group.
	ParameterGroupName pulumi.StringPtrOutput `pulumi:"parameterGroupName"`
	// 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/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := elasticache.NewReplicationGroup(ctx, "primary", &elasticache.ReplicationGroupArgs{
			ReplicationGroupDescription: pulumi.String("primary replication group"),
			Engine:                      pulumi.String("redis"),
			EngineVersion:               pulumi.String("5.0.6"),
			NodeType:                    pulumi.String("cache.m5.large"),
			NumberCacheClusters:         pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		example, err := elasticache.NewGlobalReplicationGroup(ctx, "example", &elasticache.GlobalReplicationGroupArgs{
			GlobalReplicationGroupIdSuffix: pulumi.String("example"),
			PrimaryReplicationGroupId:      primary.ID(),
		})
		if err != nil {
			return err
		}
		_, err = elasticache.NewReplicationGroup(ctx, "secondary", &elasticache.ReplicationGroupArgs{
			ReplicationGroupDescription: pulumi.String("secondary replication group"),
			GlobalReplicationGroupId:    example.GlobalReplicationGroupId,
			NumberCacheClusters:         pulumi.Int(1),
		}, pulumi.Provider(aws.Other_region))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Managing Redis Engine Versions

The initial Redis version is determined by the version set on the primary replication group. However, once it is part of a Global Replication Group, the Global Replication Group manages the version of all member replication groups.

The member replication groups must have `lifecycle.ignore_changes[engineVersion]` set, or the provider will always return a diff.

In this example, the primary replication group will be created with Redis 6.0, and then upgraded to Redis 6.2 once added to the Global Replication Group. The secondary replication group will be created with Redis 6.2.

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := elasticache.NewReplicationGroup(ctx, "primary", &elasticache.ReplicationGroupArgs{
			ReplicationGroupDescription: pulumi.String("primary replication group"),
			Engine:                      pulumi.String("redis"),
			EngineVersion:               pulumi.String("6.0"),
			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(),
			EngineVersion:                  pulumi.String("6.2"),
		})
		if err != nil {
			return err
		}
		_, err = elasticache.NewReplicationGroup(ctx, "secondary", &elasticache.ReplicationGroupArgs{
			ReplicationGroupDescription: pulumi.String("secondary replication group"),
			GlobalReplicationGroupId:    example.GlobalReplicationGroupId,
			NumberCacheClusters:         pulumi.Int(1),
		}, pulumi.Provider(aws.Other_region))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache Global Replication Groups can be imported using the `global_replication_group_id`, e.g.,

```sh

$ pulumi import aws:elasticache/globalReplicationGroup:GlobalReplicationGroup my_global_replication_group okuqm-global-replication-group-1

```

func GetGlobalReplicationGroup

func GetGlobalReplicationGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GlobalReplicationGroupState, opts ...pulumi.ResourceOption) (*GlobalReplicationGroup, error)

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

func NewGlobalReplicationGroup

func NewGlobalReplicationGroup(ctx *pulumi.Context,
	name string, args *GlobalReplicationGroupArgs, opts ...pulumi.ResourceOption) (*GlobalReplicationGroup, error)

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

func (*GlobalReplicationGroup) ElementType

func (*GlobalReplicationGroup) ElementType() reflect.Type

func (*GlobalReplicationGroup) ToGlobalReplicationGroupOutput

func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput

func (*GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext

func (i *GlobalReplicationGroup) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput

type GlobalReplicationGroupArgs

type GlobalReplicationGroupArgs struct {
	// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails.
	// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.
	AutomaticFailoverEnabled 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).
	// When creating, by default the Global Replication Group inherits the node type of the primary replication group.
	CacheNodeType pulumi.StringPtrInput
	// Redis version to use for the Global Replication Group.
	// When creating, by default the Global Replication Group inherits the version of the primary replication group.
	// If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version.
	// Cannot be downgraded without replacing the Global Replication Group and all member replication groups.
	// If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringPtrInput
	// 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 number of node groups (shards) on the global replication group.
	NumNodeGroups pulumi.IntPtrInput
	// An ElastiCache Parameter Group to use for the Global Replication Group.
	// Required when upgrading a major engine version, but will be ignored if left configured after the upgrade is complete.
	// Specifying without a major version upgrade will fail.
	// Note that ElastiCache creates a copy of this parameter group for each member replication group.
	ParameterGroupName 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.StringInput
}

The set of arguments for constructing a GlobalReplicationGroup resource.

func (GlobalReplicationGroupArgs) ElementType

func (GlobalReplicationGroupArgs) ElementType() reflect.Type

type GlobalReplicationGroupArray

type GlobalReplicationGroupArray []GlobalReplicationGroupInput

func (GlobalReplicationGroupArray) ElementType

func (GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput

func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput

func (GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext

func (i GlobalReplicationGroupArray) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput

type GlobalReplicationGroupArrayInput

type GlobalReplicationGroupArrayInput interface {
	pulumi.Input

	ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput
	ToGlobalReplicationGroupArrayOutputWithContext(context.Context) GlobalReplicationGroupArrayOutput
}

GlobalReplicationGroupArrayInput is an input type that accepts GlobalReplicationGroupArray and GlobalReplicationGroupArrayOutput values. You can construct a concrete instance of `GlobalReplicationGroupArrayInput` via:

GlobalReplicationGroupArray{ GlobalReplicationGroupArgs{...} }

type GlobalReplicationGroupArrayOutput

type GlobalReplicationGroupArrayOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupArrayOutput) ElementType

func (GlobalReplicationGroupArrayOutput) Index

func (GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput

func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutput() GlobalReplicationGroupArrayOutput

func (GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext

func (o GlobalReplicationGroupArrayOutput) ToGlobalReplicationGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupArrayOutput

type GlobalReplicationGroupGlobalNodeGroup added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroup struct {
	// The ID of the global node group.
	GlobalNodeGroupId *string `pulumi:"globalNodeGroupId"`
	// The keyspace for this node group.
	Slots *string `pulumi:"slots"`
}

type GlobalReplicationGroupGlobalNodeGroupArgs added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroupArgs struct {
	// The ID of the global node group.
	GlobalNodeGroupId pulumi.StringPtrInput `pulumi:"globalNodeGroupId"`
	// The keyspace for this node group.
	Slots pulumi.StringPtrInput `pulumi:"slots"`
}

func (GlobalReplicationGroupGlobalNodeGroupArgs) ElementType added in v5.20.0

func (GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutput added in v5.20.0

func (i GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutput() GlobalReplicationGroupGlobalNodeGroupOutput

func (GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext added in v5.20.0

func (i GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupGlobalNodeGroupOutput

type GlobalReplicationGroupGlobalNodeGroupArray added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroupArray []GlobalReplicationGroupGlobalNodeGroupInput

func (GlobalReplicationGroupGlobalNodeGroupArray) ElementType added in v5.20.0

func (GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput added in v5.20.0

func (i GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput() GlobalReplicationGroupGlobalNodeGroupArrayOutput

func (GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext added in v5.20.0

func (i GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupGlobalNodeGroupArrayOutput

type GlobalReplicationGroupGlobalNodeGroupArrayInput added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroupArrayInput interface {
	pulumi.Input

	ToGlobalReplicationGroupGlobalNodeGroupArrayOutput() GlobalReplicationGroupGlobalNodeGroupArrayOutput
	ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext(context.Context) GlobalReplicationGroupGlobalNodeGroupArrayOutput
}

GlobalReplicationGroupGlobalNodeGroupArrayInput is an input type that accepts GlobalReplicationGroupGlobalNodeGroupArray and GlobalReplicationGroupGlobalNodeGroupArrayOutput values. You can construct a concrete instance of `GlobalReplicationGroupGlobalNodeGroupArrayInput` via:

GlobalReplicationGroupGlobalNodeGroupArray{ GlobalReplicationGroupGlobalNodeGroupArgs{...} }

type GlobalReplicationGroupGlobalNodeGroupArrayOutput added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroupArrayOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) ElementType added in v5.20.0

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) Index added in v5.20.0

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput added in v5.20.0

func (o GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput() GlobalReplicationGroupGlobalNodeGroupArrayOutput

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext added in v5.20.0

func (o GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext(ctx context.Context) GlobalReplicationGroupGlobalNodeGroupArrayOutput

type GlobalReplicationGroupGlobalNodeGroupInput added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroupInput interface {
	pulumi.Input

	ToGlobalReplicationGroupGlobalNodeGroupOutput() GlobalReplicationGroupGlobalNodeGroupOutput
	ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext(context.Context) GlobalReplicationGroupGlobalNodeGroupOutput
}

GlobalReplicationGroupGlobalNodeGroupInput is an input type that accepts GlobalReplicationGroupGlobalNodeGroupArgs and GlobalReplicationGroupGlobalNodeGroupOutput values. You can construct a concrete instance of `GlobalReplicationGroupGlobalNodeGroupInput` via:

GlobalReplicationGroupGlobalNodeGroupArgs{...}

type GlobalReplicationGroupGlobalNodeGroupOutput added in v5.20.0

type GlobalReplicationGroupGlobalNodeGroupOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupGlobalNodeGroupOutput) ElementType added in v5.20.0

func (GlobalReplicationGroupGlobalNodeGroupOutput) GlobalNodeGroupId added in v5.20.0

The ID of the global node group.

func (GlobalReplicationGroupGlobalNodeGroupOutput) Slots added in v5.20.0

The keyspace for this node group.

func (GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutput added in v5.20.0

func (o GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutput() GlobalReplicationGroupGlobalNodeGroupOutput

func (GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext added in v5.20.0

func (o GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupGlobalNodeGroupOutput

type GlobalReplicationGroupInput

type GlobalReplicationGroupInput interface {
	pulumi.Input

	ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput
	ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput
}

type GlobalReplicationGroupMap

type GlobalReplicationGroupMap map[string]GlobalReplicationGroupInput

func (GlobalReplicationGroupMap) ElementType

func (GlobalReplicationGroupMap) ElementType() reflect.Type

func (GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutput

func (i GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput

func (GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutputWithContext

func (i GlobalReplicationGroupMap) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput

type GlobalReplicationGroupMapInput

type GlobalReplicationGroupMapInput interface {
	pulumi.Input

	ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput
	ToGlobalReplicationGroupMapOutputWithContext(context.Context) GlobalReplicationGroupMapOutput
}

GlobalReplicationGroupMapInput is an input type that accepts GlobalReplicationGroupMap and GlobalReplicationGroupMapOutput values. You can construct a concrete instance of `GlobalReplicationGroupMapInput` via:

GlobalReplicationGroupMap{ "key": GlobalReplicationGroupArgs{...} }

type GlobalReplicationGroupMapOutput

type GlobalReplicationGroupMapOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupMapOutput) ElementType

func (GlobalReplicationGroupMapOutput) MapIndex

func (GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput

func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutput() GlobalReplicationGroupMapOutput

func (GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext

func (o GlobalReplicationGroupMapOutput) ToGlobalReplicationGroupMapOutputWithContext(ctx context.Context) GlobalReplicationGroupMapOutput

type GlobalReplicationGroupOutput

type GlobalReplicationGroupOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupOutput) Arn added in v5.4.0

The ARN of the ElastiCache Global Replication Group.

func (GlobalReplicationGroupOutput) AtRestEncryptionEnabled added in v5.4.0

func (o GlobalReplicationGroupOutput) AtRestEncryptionEnabled() pulumi.BoolOutput

A flag that indicate whether the encryption at rest is enabled.

func (GlobalReplicationGroupOutput) AuthTokenEnabled added in v5.4.0

func (o GlobalReplicationGroupOutput) AuthTokenEnabled() pulumi.BoolOutput

A flag that indicate whether AuthToken (password) is enabled.

func (GlobalReplicationGroupOutput) AutomaticFailoverEnabled added in v5.18.0

func (o GlobalReplicationGroupOutput) AutomaticFailoverEnabled() pulumi.BoolOutput

Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails. When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.

func (GlobalReplicationGroupOutput) CacheNodeType added in v5.4.0

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). When creating, by default the Global Replication Group inherits the node type of the primary replication group.

func (GlobalReplicationGroupOutput) ClusterEnabled added in v5.4.0

func (o GlobalReplicationGroupOutput) ClusterEnabled() pulumi.BoolOutput

Indicates whether the Global Datastore is cluster enabled.

func (GlobalReplicationGroupOutput) ElementType

func (GlobalReplicationGroupOutput) Engine added in v5.4.0

The name of the cache engine to be used for the clusters in this global replication group.

func (GlobalReplicationGroupOutput) EngineVersion added in v5.6.0

Redis version to use for the Global Replication Group. When creating, by default the Global Replication Group inherits the version of the primary replication group. If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version. Cannot be downgraded without replacing the Global Replication Group and all member replication groups. If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.

func (GlobalReplicationGroupOutput) EngineVersionActual added in v5.4.0

func (o GlobalReplicationGroupOutput) EngineVersionActual() pulumi.StringOutput

The full version number of the cache engine running on the members of this global replication group.

func (GlobalReplicationGroupOutput) GlobalNodeGroups added in v5.20.0

Set of node groups (shards) on the global replication group. Has the values:

func (GlobalReplicationGroupOutput) GlobalReplicationGroupDescription added in v5.4.0

func (o GlobalReplicationGroupOutput) GlobalReplicationGroupDescription() pulumi.StringPtrOutput

A user-created description for the global replication group.

func (GlobalReplicationGroupOutput) GlobalReplicationGroupId added in v5.4.0

func (o GlobalReplicationGroupOutput) GlobalReplicationGroupId() pulumi.StringOutput

The full ID of the global replication group.

func (GlobalReplicationGroupOutput) GlobalReplicationGroupIdSuffix added in v5.4.0

func (o GlobalReplicationGroupOutput) GlobalReplicationGroupIdSuffix() pulumi.StringOutput

The suffix name of a Global Datastore. If `globalReplicationGroupIdSuffix` is changed, creates a new resource.

func (GlobalReplicationGroupOutput) NumNodeGroups added in v5.20.0

func (o GlobalReplicationGroupOutput) NumNodeGroups() pulumi.IntOutput

The number of node groups (shards) on the global replication group.

func (GlobalReplicationGroupOutput) ParameterGroupName added in v5.6.0

func (o GlobalReplicationGroupOutput) ParameterGroupName() pulumi.StringPtrOutput

An ElastiCache Parameter Group to use for the Global Replication Group. Required when upgrading a major engine version, but will be ignored if left configured after the upgrade is complete. Specifying without a major version upgrade will fail. Note that ElastiCache creates a copy of this parameter group for each member replication group.

func (GlobalReplicationGroupOutput) PrimaryReplicationGroupId added in v5.4.0

func (o GlobalReplicationGroupOutput) PrimaryReplicationGroupId() pulumi.StringOutput

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.

func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput

func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutput() GlobalReplicationGroupOutput

func (GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext

func (o GlobalReplicationGroupOutput) ToGlobalReplicationGroupOutputWithContext(ctx context.Context) GlobalReplicationGroupOutput

func (GlobalReplicationGroupOutput) TransitEncryptionEnabled added in v5.4.0

func (o GlobalReplicationGroupOutput) TransitEncryptionEnabled() pulumi.BoolOutput

A flag that indicates whether the encryption in transit is enabled.

type GlobalReplicationGroupState

type GlobalReplicationGroupState struct {
	// 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
	// Specifies whether read-only replicas will be automatically promoted to read/write primary if the existing primary fails.
	// When creating, by default the Global Replication Group inherits the automatic failover setting of the primary replication group.
	AutomaticFailoverEnabled 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).
	// When creating, by default the Global Replication Group inherits the node type of the primary replication group.
	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
	// Redis version to use for the Global Replication Group.
	// When creating, by default the Global Replication Group inherits the version of the primary replication group.
	// If a version is specified, the Global Replication Group and all member replication groups will be upgraded to this version.
	// Cannot be downgraded without replacing the Global Replication Group and all member replication groups.
	// If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringPtrInput
	// The full version number of the cache engine running on the members of this global replication group.
	EngineVersionActual pulumi.StringPtrInput
	// Set of node groups (shards) on the global replication group.
	// Has the values:
	GlobalNodeGroups GlobalReplicationGroupGlobalNodeGroupArrayInput
	// 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 number of node groups (shards) on the global replication group.
	NumNodeGroups pulumi.IntPtrInput
	// An ElastiCache Parameter Group to use for the Global Replication Group.
	// Required when upgrading a major engine version, but will be ignored if left configured after the upgrade is complete.
	// Specifying without a major version upgrade will fail.
	// Note that ElastiCache creates a copy of this parameter group for each member replication group.
	ParameterGroupName 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

type LookupClusterArgs

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

A collection of arguments for invoking getCluster.

type LookupClusterOutputArgs

type LookupClusterOutputArgs struct {
	// Group identifier.
	ClusterId pulumi.StringInput `pulumi:"clusterId"`
	// Tags assigned to the resource
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getCluster.

func (LookupClusterOutputArgs) ElementType

func (LookupClusterOutputArgs) ElementType() reflect.Type

type LookupClusterResult

type LookupClusterResult struct {
	Arn string `pulumi:"arn"`
	// Availability Zone for the cache cluster.
	AvailabilityZone string `pulumi:"availabilityZone"`
	// List of node objects including `id`, `address`, `port`, `availabilityZone` and `outpostArn`.
	// Referenceable e.g., as `${data.aws_elasticache_cluster.bar.cache_nodes.0.address}`
	CacheNodes []GetClusterCacheNode `pulumi:"cacheNodes"`
	// (Memcached only) DNS name of the cache cluster without the port appended.
	ClusterAddress string `pulumi:"clusterAddress"`
	ClusterId      string `pulumi:"clusterId"`
	// (Memcached only) 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"`
	// The IP version advertised in the discovery protocol.
	IpDiscovery string `pulumi:"ipDiscovery"`
	// Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings.
	LogDeliveryConfigurations []GetClusterLogDeliveryConfiguration `pulumi:"logDeliveryConfigurations"`
	// Specifies the weekly time range for when maintenance
	// on the cache cluster is performed.
	MaintenanceWindow string `pulumi:"maintenanceWindow"`
	// The IP versions for cache cluster connections.
	NetworkType string `pulumi:"networkType"`
	// The cluster node type.
	NodeType string `pulumi:"nodeType"`
	// An 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 outpost ARN in which the cache cluster was created if created in outpost.
	PreferredOutpostArn string `pulumi:"preferredOutpostArn"`
	// 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.
	//
	// Deprecated: With the retirement of EC2-Classic the security_group_names attribute has been deprecated and will be removed in a future version.
	SecurityGroupNames []string `pulumi:"securityGroupNames"`
	// The number of days for which ElastiCache will
	// retain automatic cache cluster snapshots before deleting them.
	SnapshotRetentionLimit int `pulumi:"snapshotRetentionLimit"`
	// 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"`
	// 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/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.LookupCluster(ctx, &elasticache.LookupClusterArgs{
			ClusterId: "my-cluster-id",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupClusterResultOutput

type LookupClusterResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getCluster.

func (LookupClusterResultOutput) Arn

func (LookupClusterResultOutput) AvailabilityZone

func (o LookupClusterResultOutput) AvailabilityZone() pulumi.StringOutput

Availability Zone for the cache cluster.

func (LookupClusterResultOutput) CacheNodes

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

func (LookupClusterResultOutput) ClusterAddress

func (o LookupClusterResultOutput) ClusterAddress() pulumi.StringOutput

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

func (LookupClusterResultOutput) ClusterId

func (LookupClusterResultOutput) ConfigurationEndpoint

func (o LookupClusterResultOutput) ConfigurationEndpoint() pulumi.StringOutput

(Memcached only) Configuration endpoint to allow host discovery.

func (LookupClusterResultOutput) ElementType

func (LookupClusterResultOutput) ElementType() reflect.Type

func (LookupClusterResultOutput) Engine

Name of the cache engine.

func (LookupClusterResultOutput) EngineVersion

func (o LookupClusterResultOutput) EngineVersion() pulumi.StringOutput

Version number of the cache engine.

func (LookupClusterResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClusterResultOutput) IpDiscovery added in v5.22.0

The IP version advertised in the discovery protocol.

func (LookupClusterResultOutput) MaintenanceWindow

func (o LookupClusterResultOutput) MaintenanceWindow() pulumi.StringOutput

Specifies the weekly time range for when maintenance on the cache cluster is performed.

func (LookupClusterResultOutput) NetworkType added in v5.22.0

The IP versions for cache cluster connections.

func (LookupClusterResultOutput) NodeType

The cluster node type.

func (LookupClusterResultOutput) NotificationTopicArn

func (o LookupClusterResultOutput) NotificationTopicArn() pulumi.StringOutput

An ARN of an SNS topic that ElastiCache notifications get sent to.

func (LookupClusterResultOutput) NumCacheNodes

func (o LookupClusterResultOutput) NumCacheNodes() pulumi.IntOutput

The number of cache nodes that the cache cluster has.

func (LookupClusterResultOutput) ParameterGroupName

func (o LookupClusterResultOutput) ParameterGroupName() pulumi.StringOutput

Name of the parameter group associated with this cache cluster.

func (LookupClusterResultOutput) Port

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

func (LookupClusterResultOutput) PreferredOutpostArn added in v5.22.0

func (o LookupClusterResultOutput) PreferredOutpostArn() pulumi.StringOutput

The outpost ARN in which the cache cluster was created if created in outpost.

func (LookupClusterResultOutput) ReplicationGroupId

func (o LookupClusterResultOutput) ReplicationGroupId() pulumi.StringOutput

The replication group to which this cache cluster belongs.

func (LookupClusterResultOutput) SecurityGroupIds

func (o LookupClusterResultOutput) SecurityGroupIds() pulumi.StringArrayOutput

List VPC security groups associated with the cache cluster.

func (LookupClusterResultOutput) SecurityGroupNames deprecated

func (o LookupClusterResultOutput) SecurityGroupNames() pulumi.StringArrayOutput

List of security group names associated with this cache cluster.

Deprecated: With the retirement of EC2-Classic the security_group_names attribute has been deprecated and will be removed in a future version.

func (LookupClusterResultOutput) SnapshotRetentionLimit

func (o LookupClusterResultOutput) SnapshotRetentionLimit() pulumi.IntOutput

The number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them.

func (LookupClusterResultOutput) SnapshotWindow

func (o LookupClusterResultOutput) SnapshotWindow() pulumi.StringOutput

Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of the cache cluster.

func (LookupClusterResultOutput) SubnetGroupName

func (o LookupClusterResultOutput) SubnetGroupName() pulumi.StringOutput

Name of the subnet group associated to the cache cluster.

func (LookupClusterResultOutput) Tags

Tags assigned to the resource

func (LookupClusterResultOutput) ToLookupClusterResultOutput

func (o LookupClusterResultOutput) ToLookupClusterResultOutput() LookupClusterResultOutput

func (LookupClusterResultOutput) ToLookupClusterResultOutputWithContext

func (o LookupClusterResultOutput) ToLookupClusterResultOutputWithContext(ctx context.Context) LookupClusterResultOutput

type LookupReplicationGroupArgs

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

A collection of arguments for invoking getReplicationGroup.

type LookupReplicationGroupOutputArgs

type LookupReplicationGroupOutputArgs struct {
	// Identifier for the replication group.
	ReplicationGroupId pulumi.StringInput `pulumi:"replicationGroupId"`
}

A collection of arguments for invoking getReplicationGroup.

func (LookupReplicationGroupOutputArgs) ElementType

type LookupReplicationGroupResult

type LookupReplicationGroupResult struct {
	// ARN of the created ElastiCache Replication Group.
	Arn string `pulumi:"arn"`
	// 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"`
	// Description of the replication group.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log) delivery settings.
	LogDeliveryConfigurations []GetReplicationGroupLogDeliveryConfiguration `pulumi:"logDeliveryConfigurations"`
	// Identifiers of all the nodes that are part of this replication group.
	MemberClusters []string `pulumi:"memberClusters"`
	// 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.
	NumCacheClusters int `pulumi:"numCacheClusters"`
	// Number of node groups (shards) for the replication group.
	NumNodeGroups int `pulumi:"numNodeGroups"`
	// (**Deprecated** use `numCacheClusters` instead) Number of cache clusters that the replication group has.
	//
	// Deprecated: Use num_cache_clusters instead
	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"`
	// Number of replica nodes in each node group.
	ReplicasPerNodeGroup int `pulumi:"replicasPerNodeGroup"`
	// (**Deprecated** use `description` instead) Description of the replication group.
	//
	// Deprecated: Use description instead
	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"`
	// 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/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.LookupReplicationGroup(ctx, &elasticache.LookupReplicationGroupArgs{
			ReplicationGroupId: "example",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupReplicationGroupResultOutput

type LookupReplicationGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getReplicationGroup.

func (LookupReplicationGroupResultOutput) Arn

ARN of the created ElastiCache Replication Group.

func (LookupReplicationGroupResultOutput) AuthTokenEnabled

Whether an AuthToken (password) is enabled.

func (LookupReplicationGroupResultOutput) AutomaticFailoverEnabled

func (o LookupReplicationGroupResultOutput) AutomaticFailoverEnabled() pulumi.BoolOutput

A flag whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails.

func (LookupReplicationGroupResultOutput) ConfigurationEndpointAddress

func (o LookupReplicationGroupResultOutput) ConfigurationEndpointAddress() pulumi.StringOutput

The configuration endpoint address to allow host discovery.

func (LookupReplicationGroupResultOutput) Description

Description of the replication group.

func (LookupReplicationGroupResultOutput) ElementType

func (LookupReplicationGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupReplicationGroupResultOutput) MemberClusters

Identifiers of all the nodes that are part of this replication group.

func (LookupReplicationGroupResultOutput) MultiAzEnabled

Whether Multi-AZ Support is enabled for the replication group.

func (LookupReplicationGroupResultOutput) NodeType

The cluster node type.

func (LookupReplicationGroupResultOutput) NumCacheClusters

The number of cache clusters that the replication group has.

func (LookupReplicationGroupResultOutput) NumNodeGroups

Number of node groups (shards) for the replication group.

func (LookupReplicationGroupResultOutput) NumberCacheClusters deprecated

func (o LookupReplicationGroupResultOutput) NumberCacheClusters() pulumi.IntOutput

(**Deprecated** use `numCacheClusters` instead) Number of cache clusters that the replication group has.

Deprecated: Use num_cache_clusters instead

func (LookupReplicationGroupResultOutput) Port

The port number on which the configuration endpoint will accept connections.

func (LookupReplicationGroupResultOutput) PrimaryEndpointAddress

func (o LookupReplicationGroupResultOutput) PrimaryEndpointAddress() pulumi.StringOutput

The endpoint of the primary node in this node group (shard).

func (LookupReplicationGroupResultOutput) ReaderEndpointAddress

func (o LookupReplicationGroupResultOutput) ReaderEndpointAddress() pulumi.StringOutput

The endpoint of the reader node in this node group (shard).

func (LookupReplicationGroupResultOutput) ReplicasPerNodeGroup

func (o LookupReplicationGroupResultOutput) ReplicasPerNodeGroup() pulumi.IntOutput

Number of replica nodes in each node group.

func (LookupReplicationGroupResultOutput) ReplicationGroupDescription deprecated

func (o LookupReplicationGroupResultOutput) ReplicationGroupDescription() pulumi.StringOutput

(**Deprecated** use `description` instead) Description of the replication group.

Deprecated: Use description instead

func (LookupReplicationGroupResultOutput) ReplicationGroupId

func (LookupReplicationGroupResultOutput) SnapshotRetentionLimit

func (o LookupReplicationGroupResultOutput) SnapshotRetentionLimit() pulumi.IntOutput

The number of days for which ElastiCache retains automatic cache cluster snapshots before deleting them.

func (LookupReplicationGroupResultOutput) SnapshotWindow

Daily time range (in UTC) during which ElastiCache begins taking a daily snapshot of your node group (shard).

func (LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutput

func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutput() LookupReplicationGroupResultOutput

func (LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutputWithContext

func (o LookupReplicationGroupResultOutput) ToLookupReplicationGroupResultOutputWithContext(ctx context.Context) LookupReplicationGroupResultOutput

type LookupSubnetGroupArgs added in v5.19.0

type LookupSubnetGroupArgs struct {
	// Name of the subnet group.
	Name string `pulumi:"name"`
	// Map of tags assigned to the subnet group.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getSubnetGroup.

type LookupSubnetGroupOutputArgs added in v5.19.0

type LookupSubnetGroupOutputArgs struct {
	// Name of the subnet group.
	Name pulumi.StringInput `pulumi:"name"`
	// Map of tags assigned to the subnet group.
	Tags pulumi.StringMapInput `pulumi:"tags"`
}

A collection of arguments for invoking getSubnetGroup.

func (LookupSubnetGroupOutputArgs) ElementType added in v5.19.0

type LookupSubnetGroupResult added in v5.19.0

type LookupSubnetGroupResult struct {
	// ARN of the subnet group.
	Arn string `pulumi:"arn"`
	// Description of the subnet group.
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// Set of VPC Subnet ID-s of the subnet group.
	SubnetIds []string `pulumi:"subnetIds"`
	// Map of tags assigned to the subnet group.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getSubnetGroup.

func LookupSubnetGroup added in v5.19.0

func LookupSubnetGroup(ctx *pulumi.Context, args *LookupSubnetGroupArgs, opts ...pulumi.InvokeOption) (*LookupSubnetGroupResult, error)

Provides information about a ElastiCache Subnet Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.LookupSubnetGroup(ctx, &elasticache.LookupSubnetGroupArgs{
			Name: "my-subnet-group",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupSubnetGroupResultOutput added in v5.19.0

type LookupSubnetGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetGroup.

func LookupSubnetGroupOutput added in v5.19.0

func (LookupSubnetGroupResultOutput) Arn added in v5.19.0

ARN of the subnet group.

func (LookupSubnetGroupResultOutput) Description added in v5.19.0

Description of the subnet group.

func (LookupSubnetGroupResultOutput) ElementType added in v5.19.0

func (LookupSubnetGroupResultOutput) Id added in v5.19.0

The provider-assigned unique ID for this managed resource.

func (LookupSubnetGroupResultOutput) Name added in v5.19.0

func (LookupSubnetGroupResultOutput) SubnetIds added in v5.19.0

Set of VPC Subnet ID-s of the subnet group.

func (LookupSubnetGroupResultOutput) Tags added in v5.19.0

Map of tags assigned to the subnet group.

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput added in v5.19.0

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput() LookupSubnetGroupResultOutput

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext added in v5.19.0

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext(ctx context.Context) LookupSubnetGroupResultOutput

type LookupUserArgs

type LookupUserArgs struct {
	// String for what access a user possesses within the associated ElastiCache replication groups or clusters.
	AccessString        *string                     `pulumi:"accessString"`
	AuthenticationModes []GetUserAuthenticationMode `pulumi:"authenticationModes"`
	Engine              *string                     `pulumi:"engine"`
	NoPasswordRequired  *bool                       `pulumi:"noPasswordRequired"`
	Passwords           []string                    `pulumi:"passwords"`
	// Identifier for the user.
	UserId string `pulumi:"userId"`
	// User name of the user.
	UserName *string `pulumi:"userName"`
}

A collection of arguments for invoking getUser.

type LookupUserOutputArgs

type LookupUserOutputArgs struct {
	// String for what access a user possesses within the associated ElastiCache replication groups or clusters.
	AccessString        pulumi.StringPtrInput               `pulumi:"accessString"`
	AuthenticationModes GetUserAuthenticationModeArrayInput `pulumi:"authenticationModes"`
	Engine              pulumi.StringPtrInput               `pulumi:"engine"`
	NoPasswordRequired  pulumi.BoolPtrInput                 `pulumi:"noPasswordRequired"`
	Passwords           pulumi.StringArrayInput             `pulumi:"passwords"`
	// Identifier for the user.
	UserId pulumi.StringInput `pulumi:"userId"`
	// User name of the user.
	UserName pulumi.StringPtrInput `pulumi:"userName"`
}

A collection of arguments for invoking getUser.

func (LookupUserOutputArgs) ElementType

func (LookupUserOutputArgs) ElementType() reflect.Type

type LookupUserResult

type LookupUserResult struct {
	// String for what access a user possesses within the associated ElastiCache replication groups or clusters.
	AccessString        *string                     `pulumi:"accessString"`
	AuthenticationModes []GetUserAuthenticationMode `pulumi:"authenticationModes"`
	Engine              *string                     `pulumi:"engine"`
	// The provider-assigned unique ID for this managed resource.
	Id                 string   `pulumi:"id"`
	NoPasswordRequired *bool    `pulumi:"noPasswordRequired"`
	Passwords          []string `pulumi:"passwords"`
	// Identifier for the user.
	UserId string `pulumi:"userId"`
	// User name of the user.
	UserName *string `pulumi:"userName"`
}

A collection of values returned by getUser.

func LookupUser

func LookupUser(ctx *pulumi.Context, args *LookupUserArgs, opts ...pulumi.InvokeOption) (*LookupUserResult, error)

Use this data source to get information about an ElastiCache User.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.LookupUser(ctx, &elasticache.LookupUserArgs{
			UserId: "example",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupUserResultOutput

type LookupUserResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getUser.

func (LookupUserResultOutput) AccessString

String for what access a user possesses within the associated ElastiCache replication groups or clusters.

func (LookupUserResultOutput) AuthenticationModes added in v5.33.0

func (LookupUserResultOutput) ElementType

func (LookupUserResultOutput) ElementType() reflect.Type

func (LookupUserResultOutput) Engine

func (LookupUserResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupUserResultOutput) NoPasswordRequired

func (o LookupUserResultOutput) NoPasswordRequired() pulumi.BoolPtrOutput

func (LookupUserResultOutput) Passwords

func (LookupUserResultOutput) ToLookupUserResultOutput

func (o LookupUserResultOutput) ToLookupUserResultOutput() LookupUserResultOutput

func (LookupUserResultOutput) ToLookupUserResultOutputWithContext

func (o LookupUserResultOutput) ToLookupUserResultOutputWithContext(ctx context.Context) LookupUserResultOutput

func (LookupUserResultOutput) UserId

Identifier for the user.

func (LookupUserResultOutput) UserName

User name of the user.

type ParameterGroup

type ParameterGroup struct {
	pulumi.CustomResourceState

	// The AWS ARN associated with the parameter group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// The family of the ElastiCache parameter group.
	Family pulumi.StringOutput `pulumi:"family"`
	// The name of the ElastiCache parameter.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of ElastiCache parameters to apply.
	Parameters ParameterGroupParameterArrayOutput `pulumi:"parameters"`
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an ElastiCache parameter group resource.

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewParameterGroup(ctx, "default", &elasticache.ParameterGroupArgs{
			Family: pulumi.String("redis2.8"),
			Parameters: elasticache.ParameterGroupParameterArray{
				&elasticache.ParameterGroupParameterArgs{
					Name:  pulumi.String("activerehashing"),
					Value: pulumi.String("yes"),
				},
				&elasticache.ParameterGroupParameterArgs{
					Name:  pulumi.String("min-slaves-to-write"),
					Value: pulumi.String("2"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache Parameter Groups can be imported using the `name`, e.g.,

```sh

$ pulumi import aws:elasticache/parameterGroup:ParameterGroup default redis-params

```

func GetParameterGroup

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

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

func NewParameterGroup

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

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

func (*ParameterGroup) ElementType

func (*ParameterGroup) ElementType() reflect.Type

func (*ParameterGroup) ToParameterGroupOutput

func (i *ParameterGroup) ToParameterGroupOutput() ParameterGroupOutput

func (*ParameterGroup) ToParameterGroupOutputWithContext

func (i *ParameterGroup) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput

type ParameterGroupArgs

type ParameterGroupArgs struct {
	// The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the ElastiCache parameter group.
	Family pulumi.StringInput
	// The name of the ElastiCache parameter.
	Name pulumi.StringPtrInput
	// A list of ElastiCache parameters to apply.
	Parameters ParameterGroupParameterArrayInput
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a ParameterGroup resource.

func (ParameterGroupArgs) ElementType

func (ParameterGroupArgs) ElementType() reflect.Type

type ParameterGroupArray

type ParameterGroupArray []ParameterGroupInput

func (ParameterGroupArray) ElementType

func (ParameterGroupArray) ElementType() reflect.Type

func (ParameterGroupArray) ToParameterGroupArrayOutput

func (i ParameterGroupArray) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArray) ToParameterGroupArrayOutputWithContext

func (i ParameterGroupArray) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput

type ParameterGroupArrayInput

type ParameterGroupArrayInput interface {
	pulumi.Input

	ToParameterGroupArrayOutput() ParameterGroupArrayOutput
	ToParameterGroupArrayOutputWithContext(context.Context) ParameterGroupArrayOutput
}

ParameterGroupArrayInput is an input type that accepts ParameterGroupArray and ParameterGroupArrayOutput values. You can construct a concrete instance of `ParameterGroupArrayInput` via:

ParameterGroupArray{ ParameterGroupArgs{...} }

type ParameterGroupArrayOutput

type ParameterGroupArrayOutput struct{ *pulumi.OutputState }

func (ParameterGroupArrayOutput) ElementType

func (ParameterGroupArrayOutput) ElementType() reflect.Type

func (ParameterGroupArrayOutput) Index

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutput

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutput() ParameterGroupArrayOutput

func (ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext

func (o ParameterGroupArrayOutput) ToParameterGroupArrayOutputWithContext(ctx context.Context) ParameterGroupArrayOutput

type ParameterGroupInput

type ParameterGroupInput interface {
	pulumi.Input

	ToParameterGroupOutput() ParameterGroupOutput
	ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput
}

type ParameterGroupMap

type ParameterGroupMap map[string]ParameterGroupInput

func (ParameterGroupMap) ElementType

func (ParameterGroupMap) ElementType() reflect.Type

func (ParameterGroupMap) ToParameterGroupMapOutput

func (i ParameterGroupMap) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMap) ToParameterGroupMapOutputWithContext

func (i ParameterGroupMap) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput

type ParameterGroupMapInput

type ParameterGroupMapInput interface {
	pulumi.Input

	ToParameterGroupMapOutput() ParameterGroupMapOutput
	ToParameterGroupMapOutputWithContext(context.Context) ParameterGroupMapOutput
}

ParameterGroupMapInput is an input type that accepts ParameterGroupMap and ParameterGroupMapOutput values. You can construct a concrete instance of `ParameterGroupMapInput` via:

ParameterGroupMap{ "key": ParameterGroupArgs{...} }

type ParameterGroupMapOutput

type ParameterGroupMapOutput struct{ *pulumi.OutputState }

func (ParameterGroupMapOutput) ElementType

func (ParameterGroupMapOutput) ElementType() reflect.Type

func (ParameterGroupMapOutput) MapIndex

func (ParameterGroupMapOutput) ToParameterGroupMapOutput

func (o ParameterGroupMapOutput) ToParameterGroupMapOutput() ParameterGroupMapOutput

func (ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext

func (o ParameterGroupMapOutput) ToParameterGroupMapOutputWithContext(ctx context.Context) ParameterGroupMapOutput

type ParameterGroupOutput

type ParameterGroupOutput struct{ *pulumi.OutputState }

func (ParameterGroupOutput) Arn added in v5.4.0

The AWS ARN associated with the parameter group.

func (ParameterGroupOutput) Description added in v5.4.0

func (o ParameterGroupOutput) Description() pulumi.StringOutput

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

func (ParameterGroupOutput) ElementType

func (ParameterGroupOutput) ElementType() reflect.Type

func (ParameterGroupOutput) Family added in v5.4.0

The family of the ElastiCache parameter group.

func (ParameterGroupOutput) Name added in v5.4.0

The name of the ElastiCache parameter.

func (ParameterGroupOutput) Parameters added in v5.4.0

A list of ElastiCache parameters to apply.

func (ParameterGroupOutput) Tags added in v5.4.0

Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level

func (ParameterGroupOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ParameterGroupOutput) ToParameterGroupOutput

func (o ParameterGroupOutput) ToParameterGroupOutput() ParameterGroupOutput

func (ParameterGroupOutput) ToParameterGroupOutputWithContext

func (o ParameterGroupOutput) ToParameterGroupOutputWithContext(ctx context.Context) ParameterGroupOutput

type ParameterGroupParameter

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

type ParameterGroupParameterArgs

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

func (ParameterGroupParameterArgs) ElementType

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutput

func (i ParameterGroupParameterArgs) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterArgs) ToParameterGroupParameterOutputWithContext

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

type ParameterGroupParameterArray

type ParameterGroupParameterArray []ParameterGroupParameterInput

func (ParameterGroupParameterArray) ElementType

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput

func (i ParameterGroupParameterArray) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArray) ToParameterGroupParameterArrayOutputWithContext

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

type ParameterGroupParameterArrayInput

type ParameterGroupParameterArrayInput interface {
	pulumi.Input

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

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) Index

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput

func (o ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutput() ParameterGroupParameterArrayOutput

func (ParameterGroupParameterArrayOutput) ToParameterGroupParameterArrayOutputWithContext

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

type ParameterGroupParameterInput

type ParameterGroupParameterInput interface {
	pulumi.Input

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

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) Name

The name of the ElastiCache parameter.

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutput

func (o ParameterGroupParameterOutput) ToParameterGroupParameterOutput() ParameterGroupParameterOutput

func (ParameterGroupParameterOutput) ToParameterGroupParameterOutputWithContext

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

func (ParameterGroupParameterOutput) Value

The value of the ElastiCache parameter.

type ParameterGroupState

type ParameterGroupState struct {
	// The AWS ARN associated with the parameter group.
	Arn pulumi.StringPtrInput
	// The description of the ElastiCache parameter group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// The family of the ElastiCache parameter group.
	Family pulumi.StringPtrInput
	// The name of the ElastiCache parameter.
	Name pulumi.StringPtrInput
	// A list of ElastiCache parameters to apply.
	Parameters ParameterGroupParameterArrayInput
	// Key-value mapping of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (ParameterGroupState) ElementType

func (ParameterGroupState) ElementType() reflect.Type

type ReplicationGroup

type ReplicationGroup struct {
	pulumi.CustomResourceState

	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolOutput `pulumi:"applyImmediately"`
	// ARN of the created ElastiCache Replication Group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled pulumi.BoolOutput `pulumi:"atRestEncryptionEnabled"`
	// Password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.
	AuthToken pulumi.StringPtrOutput `pulumi:"authToken"`
	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type `"redis"` and if the engine version is 6 or higher.
	// Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.BoolOutput `pulumi:"autoMinorVersionUpgrade"`
	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, `numCacheClusters` must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.
	AutomaticFailoverEnabled pulumi.BoolPtrOutput `pulumi:"automaticFailoverEnabled"`
	// List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not considered.
	AvailabilityZones pulumi.StringArrayOutput `pulumi:"availabilityZones"`
	// Indicates if cluster mode is enabled.
	ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"`
	// Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true.
	//
	// Deprecated: Use num_node_groups and replicas_per_node_group instead
	ClusterMode ReplicationGroupClusterModeOutput `pulumi:"clusterMode"`
	// Address of the replication group configuration endpoint when cluster mode is enabled.
	ConfigurationEndpointAddress pulumi.StringOutput `pulumi:"configurationEndpointAddress"`
	// Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes.
	DataTieringEnabled pulumi.BoolOutput `pulumi:"dataTieringEnabled"`
	// User-created description for the replication group. Must not be empty.
	Description pulumi.StringOutput `pulumi:"description"`
	// Name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`.
	Engine pulumi.StringPtrOutput `pulumi:"engine"`
	// Version number of the cache engine to be used for the cache clusters in this replication group.
	// If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// Otherwise, specify the full version desired, e.g., `5.0.6`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringOutput `pulumi:"engineVersion"`
	// Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
	EngineVersionActual pulumi.StringOutput `pulumi:"engineVersionActual"`
	// The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrOutput `pulumi:"finalSnapshotIdentifier"`
	// The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter (or the `numNodeGroups` parameter of the deprecated `clusterMode` block) cannot be set.
	GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"`
	// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`.
	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	// Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.
	LogDeliveryConfigurations ReplicationGroupLogDeliveryConfigurationArrayOutput `pulumi:"logDeliveryConfigurations"`
	// Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`
	MaintenanceWindow pulumi.StringOutput `pulumi:"maintenanceWindow"`
	// Identifiers of all the nodes that are part of this replication group.
	MemberClusters pulumi.StringArrayOutput `pulumi:"memberClusters"`
	// Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`.
	MultiAzEnabled pulumi.BoolPtrOutput `pulumi:"multiAzEnabled"`
	// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set.
	NodeType pulumi.StringOutput `pulumi:"nodeType"`
	// ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrOutput `pulumi:"notificationTopicArn"`
	// Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `numNodeGroups`, the deprecated`numberCacheClusters`, or the deprecated `clusterMode`. Defaults to `1`.
	NumCacheClusters pulumi.IntOutput `pulumi:"numCacheClusters"`
	// Number of node groups (shards) for this Redis replication group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	NumNodeGroups pulumi.IntOutput `pulumi:"numNodeGroups"`
	// 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. Conflicts with `numCacheClusters`, `numNodeGroups`, or the deprecated `clusterMode`. Defaults to `1`.
	//
	// Deprecated: Use num_cache_clusters instead
	NumberCacheClusters pulumi.IntOutput `pulumi:"numberCacheClusters"`
	// Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter `cluster-enabled` set to true.
	ParameterGroupName pulumi.StringOutput `pulumi:"parameterGroupName"`
	// Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
	Port pulumi.IntPtrOutput `pulumi:"port"`
	// 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 considered. The first item in the list will be the primary node. Ignored when updating.
	PreferredCacheClusterAzs pulumi.StringArrayOutput `pulumi:"preferredCacheClusterAzs"`
	// (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
	PrimaryEndpointAddress pulumi.StringOutput `pulumi:"primaryEndpointAddress"`
	// (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
	ReaderEndpointAddress pulumi.StringOutput `pulumi:"readerEndpointAddress"`
	// Number of replica nodes in each node group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Valid values are 0 to 5.
	ReplicasPerNodeGroup pulumi.IntOutput `pulumi:"replicasPerNodeGroup"`
	// User-created description for the replication group. Must not be empty.
	//
	// The following arguments are optional:
	//
	// Deprecated: Use description instead
	ReplicationGroupDescription pulumi.StringOutput `pulumi:"replicationGroupDescription"`
	// Replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"`
	// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// List of cache security group names to associate with this replication group.
	SecurityGroupNames pulumi.StringArrayOutput `pulumi:"securityGroupNames"`
	// List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
	SnapshotArns pulumi.StringArrayOutput `pulumi:"snapshotArns"`
	// Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrOutput `pulumi:"snapshotName"`
	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshotRetentionLimit` is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit pulumi.IntPtrOutput `pulumi:"snapshotRetentionLimit"`
	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00`
	SnapshotWindow pulumi.StringOutput `pulumi:"snapshotWindow"`
	// Name of the cache subnet group to be used for the replication group.
	SubnetGroupName pulumi.StringOutput `pulumi:"subnetGroupName"`
	// 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"`
	// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
	UserGroupIds pulumi.StringArrayOutput `pulumi:"userGroupIds"`
}

Provides an ElastiCache Replication Group resource.

For working with a [Memcached cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) or a [single-node Redis instance (Cluster Mode Disabled)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.html), see the `elasticache.Cluster` resource.

> **Note:** When you change an attribute, such as `engineVersion`, by default the ElastiCache API applies it in the next maintenance window. Because of this, this provider may report a difference in its planning phase because the actual modification has not yet taken place. You can use the `applyImmediately` flag to instruct the service to apply the change immediately. Using `applyImmediately` can result in a brief downtime as servers reboots. See the AWS Documentation on [Modifying an ElastiCache Cache Cluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Modify.html) for more information.

> **Note:** Any attribute changes that re-create the resource will be applied immediately, regardless of the value of `applyImmediately`.

> **Note:** Be aware of the terminology collision around "cluster" for `elasticache.ReplicationGroup`. For example, it is possible to create a ["Cluster Mode Disabled [Redis] Cluster"](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Create.CON.Redis.html). With "Cluster Mode Enabled", the data will be stored in shards (called "node groups"). See [Redis Cluster Configuration](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/cluster-create-determine-requirements.html#redis-cluster-configuration) for a diagram of the differences. To enable cluster mode, use a parameter group that has cluster mode enabled. The default parameter groups provided by AWS end with ".cluster.on", for example `default.redis6.x.cluster.on`.

## Example Usage ### Redis Cluster Mode Disabled

To create a single shard primary with single read replica:

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{
			AutomaticFailoverEnabled: pulumi.Bool(true),
			Description:              pulumi.String("example description"),
			NodeType:                 pulumi.String("cache.m4.large"),
			NumCacheClusters:         pulumi.Int(2),
			ParameterGroupName:       pulumi.String("default.redis3.2"),
			Port:                     pulumi.Int(6379),
			PreferredCacheClusterAzs: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

You have two options for adjusting the number of replicas:

* Adjusting `numCacheClusters` 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/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := elasticache.NewReplicationGroup(ctx, "example", &elasticache.ReplicationGroupArgs{
			AutomaticFailoverEnabled: pulumi.Bool(true),
			PreferredCacheClusterAzs: pulumi.StringArray{
				pulumi.String("us-west-2a"),
				pulumi.String("us-west-2b"),
			},
			Description:        pulumi.String("example description"),
			NodeType:           pulumi.String("cache.m4.large"),
			NumCacheClusters:   pulumi.Int(2),
			ParameterGroupName: pulumi.String("default.redis3.2"),
			Port:               pulumi.Int(6379),
		})
		if err != nil {
			return err
		}
		var replica []*elasticache.Cluster
		for index := 0; index < 1 == true; index++ {
			key0 := index
			_ := index
			__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/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "baz", &elasticache.ReplicationGroupArgs{
			AutomaticFailoverEnabled: pulumi.Bool(true),
			Description:              pulumi.String("example description"),
			NodeType:                 pulumi.String("cache.t2.small"),
			NumNodeGroups:            pulumi.Int(2),
			ParameterGroupName:       pulumi.String("default.redis3.2.cluster.on"),
			Port:                     pulumi.Int(6379),
			ReplicasPerNodeGroup:     pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Redis Log Delivery configuration

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewReplicationGroup(ctx, "test", &elasticache.ReplicationGroupArgs{
			Description:             pulumi.String("test description"),
			NodeType:                pulumi.String("cache.t3.small"),
			Port:                    pulumi.Int(6379),
			ApplyImmediately:        pulumi.Bool(true),
			AutoMinorVersionUpgrade: pulumi.Bool(false),
			MaintenanceWindow:       pulumi.String("tue:06:30-tue:07:30"),
			SnapshotWindow:          pulumi.String("01:00-02:00"),
			LogDeliveryConfigurations: elasticache.ReplicationGroupLogDeliveryConfigurationArray{
				&elasticache.ReplicationGroupLogDeliveryConfigurationArgs{
					Destination:     pulumi.Any(aws_cloudwatch_log_group.Example.Name),
					DestinationType: pulumi.String("cloudwatch-logs"),
					LogFormat:       pulumi.String("text"),
					LogType:         pulumi.String("slow-log"),
				},
				&elasticache.ReplicationGroupLogDeliveryConfigurationArgs{
					Destination:     pulumi.Any(aws_kinesis_firehose_delivery_stream.Example.Name),
					DestinationType: pulumi.String("kinesis-firehose"),
					LogFormat:       pulumi.String("json"),
					LogType:         pulumi.String("engine-log"),
				},
			},
		})
		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/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		primary, err := elasticache.NewReplicationGroup(ctx, "primary", &elasticache.ReplicationGroupArgs{
			Description:      pulumi.String("primary replication group"),
			Engine:           pulumi.String("redis"),
			EngineVersion:    pulumi.String("5.0.6"),
			NodeType:         pulumi.String("cache.m5.large"),
			NumCacheClusters: 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{
			Description:              pulumi.String("secondary replication group"),
			GlobalReplicationGroupId: example.GlobalReplicationGroupId,
			NumCacheClusters:         pulumi.Int(1),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache Replication Groups can be imported using the `replication_group_id`, e.g.,

```sh

$ pulumi import aws:elasticache/replicationGroup:ReplicationGroup my_replication_group replication-group-1

```

func GetReplicationGroup

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

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

func NewReplicationGroup

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

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

func (*ReplicationGroup) ElementType

func (*ReplicationGroup) ElementType() reflect.Type

func (*ReplicationGroup) ToReplicationGroupOutput

func (i *ReplicationGroup) ToReplicationGroupOutput() ReplicationGroupOutput

func (*ReplicationGroup) ToReplicationGroupOutputWithContext

func (i *ReplicationGroup) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput

type ReplicationGroupArgs

type ReplicationGroupArgs struct {
	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrInput
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled pulumi.BoolPtrInput
	// Password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.
	AuthToken pulumi.StringPtrInput
	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type `"redis"` and if the engine version is 6 or higher.
	// Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, `numCacheClusters` must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.
	AutomaticFailoverEnabled pulumi.BoolPtrInput
	// List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not considered.
	AvailabilityZones pulumi.StringArrayInput
	// Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true.
	//
	// Deprecated: Use num_node_groups and replicas_per_node_group instead
	ClusterMode ReplicationGroupClusterModePtrInput
	// Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes.
	DataTieringEnabled pulumi.BoolPtrInput
	// User-created description for the replication group. Must not be empty.
	Description pulumi.StringPtrInput
	// Name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`.
	Engine pulumi.StringPtrInput
	// Version number of the cache engine to be used for the cache clusters in this replication group.
	// If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// Otherwise, specify the full version desired, e.g., `5.0.6`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringPtrInput
	// The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter (or the `numNodeGroups` parameter of the deprecated `clusterMode` block) cannot be set.
	GlobalReplicationGroupId pulumi.StringPtrInput
	// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`.
	KmsKeyId pulumi.StringPtrInput
	// Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.
	LogDeliveryConfigurations ReplicationGroupLogDeliveryConfigurationArrayInput
	// Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`
	MaintenanceWindow pulumi.StringPtrInput
	// Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`.
	MultiAzEnabled pulumi.BoolPtrInput
	// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set.
	NodeType pulumi.StringPtrInput
	// ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrInput
	// Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `numNodeGroups`, the deprecated`numberCacheClusters`, or the deprecated `clusterMode`. Defaults to `1`.
	NumCacheClusters pulumi.IntPtrInput
	// Number of node groups (shards) for this Redis replication group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	NumNodeGroups pulumi.IntPtrInput
	// 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. Conflicts with `numCacheClusters`, `numNodeGroups`, or the deprecated `clusterMode`. Defaults to `1`.
	//
	// Deprecated: Use num_cache_clusters instead
	NumberCacheClusters pulumi.IntPtrInput
	// Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter `cluster-enabled` set to true.
	ParameterGroupName pulumi.StringPtrInput
	// Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
	Port pulumi.IntPtrInput
	// 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 considered. The first item in the list will be the primary node. Ignored when updating.
	PreferredCacheClusterAzs pulumi.StringArrayInput
	// Number of replica nodes in each node group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Valid values are 0 to 5.
	ReplicasPerNodeGroup pulumi.IntPtrInput
	// User-created description for the replication group. Must not be empty.
	//
	// The following arguments are optional:
	//
	// Deprecated: Use description instead
	ReplicationGroupDescription pulumi.StringPtrInput
	// Replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId pulumi.StringPtrInput
	// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud
	SecurityGroupIds pulumi.StringArrayInput
	// List of cache security group names to associate with this replication group.
	SecurityGroupNames pulumi.StringArrayInput
	// List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
	SnapshotArns pulumi.StringArrayInput
	// Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshotRetentionLimit` is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00`
	SnapshotWindow pulumi.StringPtrInput
	// Name of the cache subnet group to be used for the replication group.
	SubnetGroupName pulumi.StringPtrInput
	// 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled pulumi.BoolPtrInput
	// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
	UserGroupIds pulumi.StringArrayInput
}

The set of arguments for constructing a ReplicationGroup resource.

func (ReplicationGroupArgs) ElementType

func (ReplicationGroupArgs) ElementType() reflect.Type

type ReplicationGroupArray

type ReplicationGroupArray []ReplicationGroupInput

func (ReplicationGroupArray) ElementType

func (ReplicationGroupArray) ElementType() reflect.Type

func (ReplicationGroupArray) ToReplicationGroupArrayOutput

func (i ReplicationGroupArray) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput

func (ReplicationGroupArray) ToReplicationGroupArrayOutputWithContext

func (i ReplicationGroupArray) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput

type ReplicationGroupArrayInput

type ReplicationGroupArrayInput interface {
	pulumi.Input

	ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput
	ToReplicationGroupArrayOutputWithContext(context.Context) ReplicationGroupArrayOutput
}

ReplicationGroupArrayInput is an input type that accepts ReplicationGroupArray and ReplicationGroupArrayOutput values. You can construct a concrete instance of `ReplicationGroupArrayInput` via:

ReplicationGroupArray{ ReplicationGroupArgs{...} }

type ReplicationGroupArrayOutput

type ReplicationGroupArrayOutput struct{ *pulumi.OutputState }

func (ReplicationGroupArrayOutput) ElementType

func (ReplicationGroupArrayOutput) Index

func (ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput

func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutput() ReplicationGroupArrayOutput

func (ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext

func (o ReplicationGroupArrayOutput) ToReplicationGroupArrayOutputWithContext(ctx context.Context) ReplicationGroupArrayOutput

type ReplicationGroupClusterMode

type ReplicationGroupClusterMode struct {
	// Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set.
	//
	// Deprecated: Use root-level num_node_groups instead
	NumNodeGroups *int `pulumi:"numNodeGroups"`
	// Number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.
	//
	// Deprecated: Use root-level replicas_per_node_group instead
	ReplicasPerNodeGroup *int `pulumi:"replicasPerNodeGroup"`
}

type ReplicationGroupClusterModeArgs

type ReplicationGroupClusterModeArgs struct {
	// Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set.
	//
	// Deprecated: Use root-level num_node_groups instead
	NumNodeGroups pulumi.IntPtrInput `pulumi:"numNodeGroups"`
	// Number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.
	//
	// Deprecated: Use root-level replicas_per_node_group instead
	ReplicasPerNodeGroup pulumi.IntPtrInput `pulumi:"replicasPerNodeGroup"`
}

func (ReplicationGroupClusterModeArgs) ElementType

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput

func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutput() ReplicationGroupClusterModeOutput

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModeOutputWithContext

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

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput

func (i ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput

func (ReplicationGroupClusterModeArgs) ToReplicationGroupClusterModePtrOutputWithContext

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

type ReplicationGroupClusterModeInput

type ReplicationGroupClusterModeInput interface {
	pulumi.Input

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

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) NumNodeGroups deprecated

Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set.

Deprecated: Use root-level num_node_groups instead

func (ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup deprecated

func (o ReplicationGroupClusterModeOutput) ReplicasPerNodeGroup() pulumi.IntPtrOutput

Number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.

Deprecated: Use root-level replicas_per_node_group instead

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

type ReplicationGroupClusterModePtrOutput

type ReplicationGroupClusterModePtrOutput struct{ *pulumi.OutputState }

func (ReplicationGroupClusterModePtrOutput) Elem

func (ReplicationGroupClusterModePtrOutput) ElementType

func (ReplicationGroupClusterModePtrOutput) NumNodeGroups deprecated

Number of node groups (shards) for this Redis replication group. Changing this number will trigger an online resizing operation before other settings modifications. Required unless `globalReplicationGroupId` is set.

Deprecated: Use root-level num_node_groups instead

func (ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup deprecated

func (o ReplicationGroupClusterModePtrOutput) ReplicasPerNodeGroup() pulumi.IntPtrOutput

Number of replica nodes in each node group. Valid values are 0 to 5. Changing this number will trigger an online resizing operation before other settings modifications.

Deprecated: Use root-level replicas_per_node_group instead

func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput

func (o ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutput() ReplicationGroupClusterModePtrOutput

func (ReplicationGroupClusterModePtrOutput) ToReplicationGroupClusterModePtrOutputWithContext

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

type ReplicationGroupInput

type ReplicationGroupInput interface {
	pulumi.Input

	ToReplicationGroupOutput() ReplicationGroupOutput
	ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput
}

type ReplicationGroupLogDeliveryConfiguration added in v5.2.0

type ReplicationGroupLogDeliveryConfiguration struct {
	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	Destination string `pulumi:"destination"`
	// For CloudWatch Logs use `cloudwatch-logs` or for Kinesis Data Firehose use `kinesis-firehose`.
	DestinationType string `pulumi:"destinationType"`
	// Valid values are `json` or `text`
	LogFormat string `pulumi:"logFormat"`
	// Valid values are  `slow-log` or `engine-log`. Max 1 of each.
	LogType string `pulumi:"logType"`
}

type ReplicationGroupLogDeliveryConfigurationArgs added in v5.2.0

type ReplicationGroupLogDeliveryConfigurationArgs struct {
	// Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.
	Destination pulumi.StringInput `pulumi:"destination"`
	// For CloudWatch Logs use `cloudwatch-logs` or for Kinesis Data Firehose use `kinesis-firehose`.
	DestinationType pulumi.StringInput `pulumi:"destinationType"`
	// Valid values are `json` or `text`
	LogFormat pulumi.StringInput `pulumi:"logFormat"`
	// Valid values are  `slow-log` or `engine-log`. Max 1 of each.
	LogType pulumi.StringInput `pulumi:"logType"`
}

func (ReplicationGroupLogDeliveryConfigurationArgs) ElementType added in v5.2.0

func (ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutput added in v5.2.0

func (i ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutput() ReplicationGroupLogDeliveryConfigurationOutput

func (ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (i ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutputWithContext(ctx context.Context) ReplicationGroupLogDeliveryConfigurationOutput

type ReplicationGroupLogDeliveryConfigurationArray added in v5.2.0

type ReplicationGroupLogDeliveryConfigurationArray []ReplicationGroupLogDeliveryConfigurationInput

func (ReplicationGroupLogDeliveryConfigurationArray) ElementType added in v5.2.0

func (ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutput added in v5.2.0

func (i ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutput() ReplicationGroupLogDeliveryConfigurationArrayOutput

func (ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (i ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) ReplicationGroupLogDeliveryConfigurationArrayOutput

type ReplicationGroupLogDeliveryConfigurationArrayInput added in v5.2.0

type ReplicationGroupLogDeliveryConfigurationArrayInput interface {
	pulumi.Input

	ToReplicationGroupLogDeliveryConfigurationArrayOutput() ReplicationGroupLogDeliveryConfigurationArrayOutput
	ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext(context.Context) ReplicationGroupLogDeliveryConfigurationArrayOutput
}

ReplicationGroupLogDeliveryConfigurationArrayInput is an input type that accepts ReplicationGroupLogDeliveryConfigurationArray and ReplicationGroupLogDeliveryConfigurationArrayOutput values. You can construct a concrete instance of `ReplicationGroupLogDeliveryConfigurationArrayInput` via:

ReplicationGroupLogDeliveryConfigurationArray{ ReplicationGroupLogDeliveryConfigurationArgs{...} }

type ReplicationGroupLogDeliveryConfigurationArrayOutput added in v5.2.0

type ReplicationGroupLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) ElementType added in v5.2.0

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) Index added in v5.2.0

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutput added in v5.2.0

func (o ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutput() ReplicationGroupLogDeliveryConfigurationArrayOutput

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext added in v5.2.0

func (o ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext(ctx context.Context) ReplicationGroupLogDeliveryConfigurationArrayOutput

type ReplicationGroupLogDeliveryConfigurationInput added in v5.2.0

type ReplicationGroupLogDeliveryConfigurationInput interface {
	pulumi.Input

	ToReplicationGroupLogDeliveryConfigurationOutput() ReplicationGroupLogDeliveryConfigurationOutput
	ToReplicationGroupLogDeliveryConfigurationOutputWithContext(context.Context) ReplicationGroupLogDeliveryConfigurationOutput
}

ReplicationGroupLogDeliveryConfigurationInput is an input type that accepts ReplicationGroupLogDeliveryConfigurationArgs and ReplicationGroupLogDeliveryConfigurationOutput values. You can construct a concrete instance of `ReplicationGroupLogDeliveryConfigurationInput` via:

ReplicationGroupLogDeliveryConfigurationArgs{...}

type ReplicationGroupLogDeliveryConfigurationOutput added in v5.2.0

type ReplicationGroupLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (ReplicationGroupLogDeliveryConfigurationOutput) Destination added in v5.2.0

Name of either the CloudWatch Logs LogGroup or Kinesis Data Firehose resource.

func (ReplicationGroupLogDeliveryConfigurationOutput) DestinationType added in v5.2.0

For CloudWatch Logs use `cloudwatch-logs` or for Kinesis Data Firehose use `kinesis-firehose`.

func (ReplicationGroupLogDeliveryConfigurationOutput) ElementType added in v5.2.0

func (ReplicationGroupLogDeliveryConfigurationOutput) LogFormat added in v5.2.0

Valid values are `json` or `text`

func (ReplicationGroupLogDeliveryConfigurationOutput) LogType added in v5.2.0

Valid values are `slow-log` or `engine-log`. Max 1 of each.

func (ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutput added in v5.2.0

func (o ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutput() ReplicationGroupLogDeliveryConfigurationOutput

func (ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutputWithContext added in v5.2.0

func (o ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutputWithContext(ctx context.Context) ReplicationGroupLogDeliveryConfigurationOutput

type ReplicationGroupMap

type ReplicationGroupMap map[string]ReplicationGroupInput

func (ReplicationGroupMap) ElementType

func (ReplicationGroupMap) ElementType() reflect.Type

func (ReplicationGroupMap) ToReplicationGroupMapOutput

func (i ReplicationGroupMap) ToReplicationGroupMapOutput() ReplicationGroupMapOutput

func (ReplicationGroupMap) ToReplicationGroupMapOutputWithContext

func (i ReplicationGroupMap) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput

type ReplicationGroupMapInput

type ReplicationGroupMapInput interface {
	pulumi.Input

	ToReplicationGroupMapOutput() ReplicationGroupMapOutput
	ToReplicationGroupMapOutputWithContext(context.Context) ReplicationGroupMapOutput
}

ReplicationGroupMapInput is an input type that accepts ReplicationGroupMap and ReplicationGroupMapOutput values. You can construct a concrete instance of `ReplicationGroupMapInput` via:

ReplicationGroupMap{ "key": ReplicationGroupArgs{...} }

type ReplicationGroupMapOutput

type ReplicationGroupMapOutput struct{ *pulumi.OutputState }

func (ReplicationGroupMapOutput) ElementType

func (ReplicationGroupMapOutput) ElementType() reflect.Type

func (ReplicationGroupMapOutput) MapIndex

func (ReplicationGroupMapOutput) ToReplicationGroupMapOutput

func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutput() ReplicationGroupMapOutput

func (ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext

func (o ReplicationGroupMapOutput) ToReplicationGroupMapOutputWithContext(ctx context.Context) ReplicationGroupMapOutput

type ReplicationGroupOutput

type ReplicationGroupOutput struct{ *pulumi.OutputState }

func (ReplicationGroupOutput) ApplyImmediately added in v5.4.0

func (o ReplicationGroupOutput) ApplyImmediately() pulumi.BoolOutput

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

func (ReplicationGroupOutput) Arn added in v5.4.0

ARN of the created ElastiCache Replication Group.

func (ReplicationGroupOutput) AtRestEncryptionEnabled added in v5.4.0

func (o ReplicationGroupOutput) AtRestEncryptionEnabled() pulumi.BoolOutput

Whether to enable encryption at rest.

func (ReplicationGroupOutput) AuthToken added in v5.4.0

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

func (ReplicationGroupOutput) AutoMinorVersionUpgrade added in v5.4.0

func (o ReplicationGroupOutput) AutoMinorVersionUpgrade() pulumi.BoolOutput

Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window. Only supported for engine type `"redis"` and if the engine version is 6 or higher. Defaults to `true`.

func (ReplicationGroupOutput) AutomaticFailoverEnabled added in v5.4.0

func (o ReplicationGroupOutput) AutomaticFailoverEnabled() pulumi.BoolPtrOutput

Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, `numCacheClusters` must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.

func (ReplicationGroupOutput) AvailabilityZones added in v5.4.0

func (o ReplicationGroupOutput) AvailabilityZones() pulumi.StringArrayOutput

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

func (ReplicationGroupOutput) ClusterEnabled added in v5.4.0

func (o ReplicationGroupOutput) ClusterEnabled() pulumi.BoolOutput

Indicates if cluster mode is enabled.

func (ReplicationGroupOutput) ClusterMode deprecated added in v5.4.0

Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true.

Deprecated: Use num_node_groups and replicas_per_node_group instead

func (ReplicationGroupOutput) ConfigurationEndpointAddress added in v5.4.0

func (o ReplicationGroupOutput) ConfigurationEndpointAddress() pulumi.StringOutput

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

func (ReplicationGroupOutput) DataTieringEnabled added in v5.4.0

func (o ReplicationGroupOutput) DataTieringEnabled() pulumi.BoolOutput

Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes.

func (ReplicationGroupOutput) Description added in v5.4.0

func (o ReplicationGroupOutput) Description() pulumi.StringOutput

User-created description for the replication group. Must not be empty.

func (ReplicationGroupOutput) ElementType

func (ReplicationGroupOutput) ElementType() reflect.Type

func (ReplicationGroupOutput) Engine added in v5.4.0

Name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`.

func (ReplicationGroupOutput) EngineVersion added in v5.4.0

func (o ReplicationGroupOutput) EngineVersion() pulumi.StringOutput

Version number of the cache engine to be used for the cache clusters in this replication group. If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`, or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`. Otherwise, specify the full version desired, e.g., `5.0.6`. The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.

func (ReplicationGroupOutput) EngineVersionActual added in v5.4.0

func (o ReplicationGroupOutput) EngineVersionActual() pulumi.StringOutput

Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.

func (ReplicationGroupOutput) FinalSnapshotIdentifier added in v5.4.0

func (o ReplicationGroupOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput

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.

func (ReplicationGroupOutput) GlobalReplicationGroupId added in v5.4.0

func (o ReplicationGroupOutput) GlobalReplicationGroupId() pulumi.StringOutput

The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter (or the `numNodeGroups` parameter of the deprecated `clusterMode` block) cannot be set.

func (ReplicationGroupOutput) KmsKeyId added in v5.4.0

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

func (ReplicationGroupOutput) LogDeliveryConfigurations added in v5.4.0

Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.

func (ReplicationGroupOutput) MaintenanceWindow added in v5.4.0

func (o ReplicationGroupOutput) MaintenanceWindow() pulumi.StringOutput

Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`

func (ReplicationGroupOutput) MemberClusters added in v5.4.0

func (o ReplicationGroupOutput) MemberClusters() pulumi.StringArrayOutput

Identifiers of all the nodes that are part of this replication group.

func (ReplicationGroupOutput) MultiAzEnabled added in v5.4.0

func (o ReplicationGroupOutput) MultiAzEnabled() pulumi.BoolPtrOutput

Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`.

func (ReplicationGroupOutput) NodeType added in v5.4.0

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.

func (ReplicationGroupOutput) NotificationTopicArn added in v5.4.0

func (o ReplicationGroupOutput) NotificationTopicArn() pulumi.StringPtrOutput

ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`

func (ReplicationGroupOutput) NumCacheClusters added in v5.4.0

func (o ReplicationGroupOutput) NumCacheClusters() pulumi.IntOutput

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. Conflicts with `numNodeGroups`, the deprecated`numberCacheClusters`, or the deprecated `clusterMode`. Defaults to `1`.

func (ReplicationGroupOutput) NumNodeGroups added in v5.4.0

func (o ReplicationGroupOutput) NumNodeGroups() pulumi.IntOutput

Number of node groups (shards) for this Redis replication group. Changing this number will trigger a resizing operation before other settings modifications.

func (ReplicationGroupOutput) NumberCacheClusters deprecated added in v5.4.0

func (o ReplicationGroupOutput) NumberCacheClusters() pulumi.IntOutput

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. Conflicts with `numCacheClusters`, `numNodeGroups`, or the deprecated `clusterMode`. Defaults to `1`.

Deprecated: Use num_cache_clusters instead

func (ReplicationGroupOutput) ParameterGroupName added in v5.4.0

func (o ReplicationGroupOutput) ParameterGroupName() pulumi.StringOutput

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.

func (ReplicationGroupOutput) Port added in v5.4.0

Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.

func (ReplicationGroupOutput) PreferredCacheClusterAzs added in v5.4.0

func (o ReplicationGroupOutput) PreferredCacheClusterAzs() pulumi.StringArrayOutput

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 considered. The first item in the list will be the primary node. Ignored when updating.

func (ReplicationGroupOutput) PrimaryEndpointAddress added in v5.4.0

func (o ReplicationGroupOutput) PrimaryEndpointAddress() pulumi.StringOutput

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

func (ReplicationGroupOutput) ReaderEndpointAddress added in v5.4.0

func (o ReplicationGroupOutput) ReaderEndpointAddress() pulumi.StringOutput

(Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.

func (ReplicationGroupOutput) ReplicasPerNodeGroup added in v5.4.0

func (o ReplicationGroupOutput) ReplicasPerNodeGroup() pulumi.IntOutput

Number of replica nodes in each node group. Changing this number will trigger a resizing operation before other settings modifications. Valid values are 0 to 5.

func (ReplicationGroupOutput) ReplicationGroupDescription deprecated added in v5.4.0

func (o ReplicationGroupOutput) ReplicationGroupDescription() pulumi.StringOutput

User-created description for the replication group. Must not be empty.

The following arguments are optional:

Deprecated: Use description instead

func (ReplicationGroupOutput) ReplicationGroupId added in v5.4.0

func (o ReplicationGroupOutput) ReplicationGroupId() pulumi.StringOutput

Replication group identifier. This parameter is stored as a lowercase string.

func (ReplicationGroupOutput) SecurityGroupIds added in v5.4.0

func (o ReplicationGroupOutput) SecurityGroupIds() pulumi.StringArrayOutput

One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud

func (ReplicationGroupOutput) SecurityGroupNames added in v5.4.0

func (o ReplicationGroupOutput) SecurityGroupNames() pulumi.StringArrayOutput

List of cache security group names to associate with this replication group.

func (ReplicationGroupOutput) SnapshotArns added in v5.4.0

List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.

func (ReplicationGroupOutput) SnapshotName added in v5.4.0

Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.

func (ReplicationGroupOutput) SnapshotRetentionLimit added in v5.4.0

func (o ReplicationGroupOutput) SnapshotRetentionLimit() pulumi.IntPtrOutput

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

func (ReplicationGroupOutput) SnapshotWindow added in v5.4.0

func (o ReplicationGroupOutput) SnapshotWindow() pulumi.StringOutput

Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00`

func (ReplicationGroupOutput) SubnetGroupName added in v5.4.0

func (o ReplicationGroupOutput) SubnetGroupName() pulumi.StringOutput

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

func (ReplicationGroupOutput) Tags added in v5.4.0

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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (ReplicationGroupOutput) TagsAll added in v5.4.0

Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (ReplicationGroupOutput) ToReplicationGroupOutput

func (o ReplicationGroupOutput) ToReplicationGroupOutput() ReplicationGroupOutput

func (ReplicationGroupOutput) ToReplicationGroupOutputWithContext

func (o ReplicationGroupOutput) ToReplicationGroupOutputWithContext(ctx context.Context) ReplicationGroupOutput

func (ReplicationGroupOutput) TransitEncryptionEnabled added in v5.4.0

func (o ReplicationGroupOutput) TransitEncryptionEnabled() pulumi.BoolOutput

Whether to enable encryption in transit.

func (ReplicationGroupOutput) UserGroupIds added in v5.4.0

User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.

type ReplicationGroupState

type ReplicationGroupState struct {
	// Specifies whether any modifications are applied immediately, or during the next maintenance window. Default is `false`.
	ApplyImmediately pulumi.BoolPtrInput
	// ARN of the created ElastiCache Replication Group.
	Arn pulumi.StringPtrInput
	// Whether to enable encryption at rest.
	AtRestEncryptionEnabled pulumi.BoolPtrInput
	// Password used to access a password protected server. Can be specified only if `transitEncryptionEnabled = true`.
	AuthToken pulumi.StringPtrInput
	// Specifies whether minor version engine upgrades will be applied automatically to the underlying Cache Cluster instances during the maintenance window.
	// Only supported for engine type `"redis"` and if the engine version is 6 or higher.
	// Defaults to `true`.
	AutoMinorVersionUpgrade pulumi.BoolPtrInput
	// Specifies whether a read-only replica will be automatically promoted to read/write primary if the existing primary fails. If enabled, `numCacheClusters` must be greater than 1. Must be enabled for Redis (cluster mode enabled) replication groups. Defaults to `false`.
	AutomaticFailoverEnabled pulumi.BoolPtrInput
	// List of EC2 availability zones in which the replication group's cache clusters will be created. The order of the availability zones in the list is not considered.
	AvailabilityZones pulumi.StringArrayInput
	// Indicates if cluster mode is enabled.
	ClusterEnabled pulumi.BoolPtrInput
	// Create a native Redis cluster. `automaticFailoverEnabled` must be set to true. Cluster Mode documented below. Only 1 `clusterMode` block is allowed. Note that configuring this block does not enable cluster mode, i.e., data sharding, this requires using a parameter group that has the parameter `cluster-enabled` set to true.
	//
	// Deprecated: Use num_node_groups and replicas_per_node_group instead
	ClusterMode ReplicationGroupClusterModePtrInput
	// Address of the replication group configuration endpoint when cluster mode is enabled.
	ConfigurationEndpointAddress pulumi.StringPtrInput
	// Enables data tiering. Data tiering is only supported for replication groups using the r6gd node type. This parameter must be set to `true` when using r6gd nodes.
	DataTieringEnabled pulumi.BoolPtrInput
	// User-created description for the replication group. Must not be empty.
	Description pulumi.StringPtrInput
	// Name of the cache engine to be used for the clusters in this replication group. The only valid value is `redis`.
	Engine pulumi.StringPtrInput
	// Version number of the cache engine to be used for the cache clusters in this replication group.
	// If the version is 6 or higher, the major and minor version can be set, e.g., `6.2`,
	// or the minor version can be unspecified which will use the latest version at creation time, e.g., `6.x`.
	// Otherwise, specify the full version desired, e.g., `5.0.6`.
	// The actual engine version used is returned in the attribute `engineVersionActual`, see Attributes Reference below.
	EngineVersion pulumi.StringPtrInput
	// Because ElastiCache pulls the latest minor or patch for a version, this attribute returns the running version of the cache engine.
	EngineVersionActual pulumi.StringPtrInput
	// The name of your final node group (shard) snapshot. ElastiCache creates the snapshot from the primary node in the cluster. If omitted, no final snapshot will be made.
	FinalSnapshotIdentifier pulumi.StringPtrInput
	// The ID of the global replication group to which this replication group should belong. If this parameter is specified, the replication group is added to the specified global replication group as a secondary replication group; otherwise, the replication group is not part of any global replication group. If `globalReplicationGroupId` is set, the `numNodeGroups` parameter (or the `numNodeGroups` parameter of the deprecated `clusterMode` block) cannot be set.
	GlobalReplicationGroupId pulumi.StringPtrInput
	// The ARN of the key that you wish to use if encrypting at rest. If not supplied, uses service managed encryption. Can be specified only if `atRestEncryptionEnabled = true`.
	KmsKeyId pulumi.StringPtrInput
	// Specifies the destination and format of Redis [SLOWLOG](https://redis.io/commands/slowlog) or Redis [Engine Log](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See the documentation on [Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Log_Delivery.html#Log_contents-engine-log). See Log Delivery Configuration below for more details.
	LogDeliveryConfigurations ReplicationGroupLogDeliveryConfigurationArrayInput
	// Specifies the weekly time range for when maintenance on the cache cluster is performed. The format is `ddd:hh24:mi-ddd:hh24:mi` (24H Clock UTC). The minimum maintenance window is a 60 minute period. Example: `sun:05:00-sun:09:00`
	MaintenanceWindow pulumi.StringPtrInput
	// Identifiers of all the nodes that are part of this replication group.
	MemberClusters pulumi.StringArrayInput
	// Specifies whether to enable Multi-AZ Support for the replication group. If `true`, `automaticFailoverEnabled` must also be enabled. Defaults to `false`.
	MultiAzEnabled pulumi.BoolPtrInput
	// Instance class to be used. See AWS documentation for information on [supported node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.SupportedTypes.html) and [guidance on selecting node types](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/nodes-select-size.html). Required unless `globalReplicationGroupId` is set. Cannot be set if `globalReplicationGroupId` is set.
	NodeType pulumi.StringPtrInput
	// ARN of an SNS topic to send ElastiCache notifications to. Example: `arn:aws:sns:us-east-1:012345678999:my_sns_topic`
	NotificationTopicArn pulumi.StringPtrInput
	// Number of cache clusters (primary and replicas) this replication group will have. If Multi-AZ is enabled, the value of this parameter must be at least 2. Updates will occur before other modifications. Conflicts with `numNodeGroups`, the deprecated`numberCacheClusters`, or the deprecated `clusterMode`. Defaults to `1`.
	NumCacheClusters pulumi.IntPtrInput
	// Number of node groups (shards) for this Redis replication group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	NumNodeGroups pulumi.IntPtrInput
	// 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. Conflicts with `numCacheClusters`, `numNodeGroups`, or the deprecated `clusterMode`. Defaults to `1`.
	//
	// Deprecated: Use num_cache_clusters instead
	NumberCacheClusters pulumi.IntPtrInput
	// Name of the parameter group to associate with this replication group. If this argument is omitted, the default cache parameter group for the specified engine is used. To enable "cluster mode", i.e., data sharding, use a parameter group that has the parameter `cluster-enabled` set to true.
	ParameterGroupName pulumi.StringPtrInput
	// Port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379.
	Port pulumi.IntPtrInput
	// 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 considered. The first item in the list will be the primary node. Ignored when updating.
	PreferredCacheClusterAzs pulumi.StringArrayInput
	// (Redis only) Address of the endpoint for the primary node in the replication group, if the cluster mode is disabled.
	PrimaryEndpointAddress pulumi.StringPtrInput
	// (Redis only) Address of the endpoint for the reader node in the replication group, if the cluster mode is disabled.
	ReaderEndpointAddress pulumi.StringPtrInput
	// Number of replica nodes in each node group.
	// Changing this number will trigger a resizing operation before other settings modifications.
	// Valid values are 0 to 5.
	ReplicasPerNodeGroup pulumi.IntPtrInput
	// User-created description for the replication group. Must not be empty.
	//
	// The following arguments are optional:
	//
	// Deprecated: Use description instead
	ReplicationGroupDescription pulumi.StringPtrInput
	// Replication group identifier. This parameter is stored as a lowercase string.
	ReplicationGroupId pulumi.StringPtrInput
	// One or more Amazon VPC security groups associated with this replication group. Use this parameter only when you are creating a replication group in an Amazon Virtual Private Cloud
	SecurityGroupIds pulumi.StringArrayInput
	// List of cache security group names to associate with this replication group.
	SecurityGroupNames pulumi.StringArrayInput
	// List of ARNs that identify Redis RDB snapshot files stored in Amazon S3. The names object names cannot contain any commas.
	SnapshotArns pulumi.StringArrayInput
	// Name of a snapshot from which to restore data into the new node group. Changing the `snapshotName` forces a new resource.
	SnapshotName pulumi.StringPtrInput
	// Number of days for which ElastiCache will retain automatic cache cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, then a snapshot that was taken today will be retained for 5 days before being deleted. If the value of `snapshotRetentionLimit` is set to zero (0), backups are turned off. Please note that setting a `snapshotRetentionLimit` is not supported on cache.t1.micro cache nodes
	SnapshotRetentionLimit pulumi.IntPtrInput
	// Daily time range (in UTC) during which ElastiCache will begin taking a daily snapshot of your cache cluster. The minimum snapshot window is a 60 minute period. Example: `05:00-09:00`
	SnapshotWindow pulumi.StringPtrInput
	// Name of the cache subnet group to be used for the replication group.
	SubnetGroupName pulumi.StringPtrInput
	// 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. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// Whether to enable encryption in transit.
	TransitEncryptionEnabled pulumi.BoolPtrInput
	// User Group ID to associate with the replication group. Only a maximum of one (1) user group ID is valid. **NOTE:** This argument _is_ a set because the AWS specification allows for multiple IDs. However, in practice, AWS only allows a maximum size of one.
	UserGroupIds pulumi.StringArrayInput
}

func (ReplicationGroupState) ElementType

func (ReplicationGroupState) ElementType() reflect.Type

type SecurityGroup

type SecurityGroup struct {
	pulumi.CustomResourceState

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

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

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

!> **WARNING:** With the retirement of EC2-Classic the `elasticache.SecurityGroup` resource has been deprecated and will be removed in a future version.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		barSecurityGroup, err := ec2.NewSecurityGroup(ctx, "barSecurityGroup", nil)
		if err != nil {
			return err
		}
		_, err = elasticache.NewSecurityGroup(ctx, "barElasticache/securityGroupSecurityGroup", &elasticache.SecurityGroupArgs{
			SecurityGroupNames: pulumi.StringArray{
				barSecurityGroup.Name,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache Security Groups can be imported by name, e.g.,

```sh

$ pulumi import aws:elasticache/securityGroup:SecurityGroup my_ec_security_group ec-security-group-1

```

func GetSecurityGroup

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

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

func NewSecurityGroup

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

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

func (*SecurityGroup) ElementType

func (*SecurityGroup) ElementType() reflect.Type

func (*SecurityGroup) ToSecurityGroupOutput

func (i *SecurityGroup) ToSecurityGroupOutput() SecurityGroupOutput

func (*SecurityGroup) ToSecurityGroupOutputWithContext

func (i *SecurityGroup) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

type SecurityGroupArgs

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

The set of arguments for constructing a SecurityGroup resource.

func (SecurityGroupArgs) ElementType

func (SecurityGroupArgs) ElementType() reflect.Type

type SecurityGroupArray

type SecurityGroupArray []SecurityGroupInput

func (SecurityGroupArray) ElementType

func (SecurityGroupArray) ElementType() reflect.Type

func (SecurityGroupArray) ToSecurityGroupArrayOutput

func (i SecurityGroupArray) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArray) ToSecurityGroupArrayOutputWithContext

func (i SecurityGroupArray) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

type SecurityGroupArrayInput

type SecurityGroupArrayInput interface {
	pulumi.Input

	ToSecurityGroupArrayOutput() SecurityGroupArrayOutput
	ToSecurityGroupArrayOutputWithContext(context.Context) SecurityGroupArrayOutput
}

SecurityGroupArrayInput is an input type that accepts SecurityGroupArray and SecurityGroupArrayOutput values. You can construct a concrete instance of `SecurityGroupArrayInput` via:

SecurityGroupArray{ SecurityGroupArgs{...} }

type SecurityGroupArrayOutput

type SecurityGroupArrayOutput struct{ *pulumi.OutputState }

func (SecurityGroupArrayOutput) ElementType

func (SecurityGroupArrayOutput) ElementType() reflect.Type

func (SecurityGroupArrayOutput) Index

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutput

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutput() SecurityGroupArrayOutput

func (SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext

func (o SecurityGroupArrayOutput) ToSecurityGroupArrayOutputWithContext(ctx context.Context) SecurityGroupArrayOutput

type SecurityGroupInput

type SecurityGroupInput interface {
	pulumi.Input

	ToSecurityGroupOutput() SecurityGroupOutput
	ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput
}

type SecurityGroupMap

type SecurityGroupMap map[string]SecurityGroupInput

func (SecurityGroupMap) ElementType

func (SecurityGroupMap) ElementType() reflect.Type

func (SecurityGroupMap) ToSecurityGroupMapOutput

func (i SecurityGroupMap) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMap) ToSecurityGroupMapOutputWithContext

func (i SecurityGroupMap) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupMapInput

type SecurityGroupMapInput interface {
	pulumi.Input

	ToSecurityGroupMapOutput() SecurityGroupMapOutput
	ToSecurityGroupMapOutputWithContext(context.Context) SecurityGroupMapOutput
}

SecurityGroupMapInput is an input type that accepts SecurityGroupMap and SecurityGroupMapOutput values. You can construct a concrete instance of `SecurityGroupMapInput` via:

SecurityGroupMap{ "key": SecurityGroupArgs{...} }

type SecurityGroupMapOutput

type SecurityGroupMapOutput struct{ *pulumi.OutputState }

func (SecurityGroupMapOutput) ElementType

func (SecurityGroupMapOutput) ElementType() reflect.Type

func (SecurityGroupMapOutput) MapIndex

func (SecurityGroupMapOutput) ToSecurityGroupMapOutput

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutput() SecurityGroupMapOutput

func (SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext

func (o SecurityGroupMapOutput) ToSecurityGroupMapOutputWithContext(ctx context.Context) SecurityGroupMapOutput

type SecurityGroupOutput

type SecurityGroupOutput struct{ *pulumi.OutputState }

func (SecurityGroupOutput) Description added in v5.4.0

func (o SecurityGroupOutput) Description() pulumi.StringOutput

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

func (SecurityGroupOutput) ElementType

func (SecurityGroupOutput) ElementType() reflect.Type

func (SecurityGroupOutput) Name added in v5.4.0

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

func (SecurityGroupOutput) SecurityGroupNames added in v5.4.0

func (o SecurityGroupOutput) SecurityGroupNames() pulumi.StringArrayOutput

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

func (SecurityGroupOutput) ToSecurityGroupOutput

func (o SecurityGroupOutput) ToSecurityGroupOutput() SecurityGroupOutput

func (SecurityGroupOutput) ToSecurityGroupOutputWithContext

func (o SecurityGroupOutput) ToSecurityGroupOutputWithContext(ctx context.Context) SecurityGroupOutput

type SecurityGroupState

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

func (SecurityGroupState) ElementType

func (SecurityGroupState) ElementType() reflect.Type

type SubnetGroup

type SubnetGroup struct {
	pulumi.CustomResourceState

	Arn pulumi.StringOutput `pulumi:"arn"`
	// Description for the cache subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringOutput `pulumi:"description"`
	// Name for the cache subnet group. ElastiCache converts this name to lowercase.
	Name pulumi.StringOutput `pulumi:"name"`
	// List of VPC Subnet IDs for the cache subnet group
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an ElastiCache Subnet Group resource.

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		fooVpc, err := ec2.NewVpc(ctx, "fooVpc", &ec2.VpcArgs{
			CidrBlock: pulumi.String("10.0.0.0/16"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("tf-test"),
			},
		})
		if err != nil {
			return err
		}
		fooSubnet, err := ec2.NewSubnet(ctx, "fooSubnet", &ec2.SubnetArgs{
			VpcId:            fooVpc.ID(),
			CidrBlock:        pulumi.String("10.0.0.0/24"),
			AvailabilityZone: pulumi.String("us-west-2a"),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("tf-test"),
			},
		})
		if err != nil {
			return err
		}
		_, err = elasticache.NewSubnetGroup(ctx, "bar", &elasticache.SubnetGroupArgs{
			SubnetIds: pulumi.StringArray{
				fooSubnet.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache Subnet Groups can be imported using the `name`, e.g.,

```sh

$ pulumi import aws:elasticache/subnetGroup:SubnetGroup bar tf-test-cache-subnet

```

func GetSubnetGroup

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

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

func NewSubnetGroup

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

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

func (*SubnetGroup) ElementType

func (*SubnetGroup) ElementType() reflect.Type

func (*SubnetGroup) ToSubnetGroupOutput

func (i *SubnetGroup) ToSubnetGroupOutput() SubnetGroupOutput

func (*SubnetGroup) ToSubnetGroupOutputWithContext

func (i *SubnetGroup) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput

type SubnetGroupArgs

type SubnetGroupArgs struct {
	// Description for the cache subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Name for the cache subnet group. ElastiCache converts this name to lowercase.
	Name pulumi.StringPtrInput
	// List of VPC Subnet IDs for the cache subnet group
	SubnetIds pulumi.StringArrayInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a SubnetGroup resource.

func (SubnetGroupArgs) ElementType

func (SubnetGroupArgs) ElementType() reflect.Type

type SubnetGroupArray

type SubnetGroupArray []SubnetGroupInput

func (SubnetGroupArray) ElementType

func (SubnetGroupArray) ElementType() reflect.Type

func (SubnetGroupArray) ToSubnetGroupArrayOutput

func (i SubnetGroupArray) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArray) ToSubnetGroupArrayOutputWithContext

func (i SubnetGroupArray) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput

type SubnetGroupArrayInput

type SubnetGroupArrayInput interface {
	pulumi.Input

	ToSubnetGroupArrayOutput() SubnetGroupArrayOutput
	ToSubnetGroupArrayOutputWithContext(context.Context) SubnetGroupArrayOutput
}

SubnetGroupArrayInput is an input type that accepts SubnetGroupArray and SubnetGroupArrayOutput values. You can construct a concrete instance of `SubnetGroupArrayInput` via:

SubnetGroupArray{ SubnetGroupArgs{...} }

type SubnetGroupArrayOutput

type SubnetGroupArrayOutput struct{ *pulumi.OutputState }

func (SubnetGroupArrayOutput) ElementType

func (SubnetGroupArrayOutput) ElementType() reflect.Type

func (SubnetGroupArrayOutput) Index

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutput

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutput() SubnetGroupArrayOutput

func (SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext

func (o SubnetGroupArrayOutput) ToSubnetGroupArrayOutputWithContext(ctx context.Context) SubnetGroupArrayOutput

type SubnetGroupInput

type SubnetGroupInput interface {
	pulumi.Input

	ToSubnetGroupOutput() SubnetGroupOutput
	ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput
}

type SubnetGroupMap

type SubnetGroupMap map[string]SubnetGroupInput

func (SubnetGroupMap) ElementType

func (SubnetGroupMap) ElementType() reflect.Type

func (SubnetGroupMap) ToSubnetGroupMapOutput

func (i SubnetGroupMap) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMap) ToSubnetGroupMapOutputWithContext

func (i SubnetGroupMap) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput

type SubnetGroupMapInput

type SubnetGroupMapInput interface {
	pulumi.Input

	ToSubnetGroupMapOutput() SubnetGroupMapOutput
	ToSubnetGroupMapOutputWithContext(context.Context) SubnetGroupMapOutput
}

SubnetGroupMapInput is an input type that accepts SubnetGroupMap and SubnetGroupMapOutput values. You can construct a concrete instance of `SubnetGroupMapInput` via:

SubnetGroupMap{ "key": SubnetGroupArgs{...} }

type SubnetGroupMapOutput

type SubnetGroupMapOutput struct{ *pulumi.OutputState }

func (SubnetGroupMapOutput) ElementType

func (SubnetGroupMapOutput) ElementType() reflect.Type

func (SubnetGroupMapOutput) MapIndex

func (SubnetGroupMapOutput) ToSubnetGroupMapOutput

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutput() SubnetGroupMapOutput

func (SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext

func (o SubnetGroupMapOutput) ToSubnetGroupMapOutputWithContext(ctx context.Context) SubnetGroupMapOutput

type SubnetGroupOutput

type SubnetGroupOutput struct{ *pulumi.OutputState }

func (SubnetGroupOutput) Arn added in v5.4.0

func (SubnetGroupOutput) Description added in v5.4.0

func (o SubnetGroupOutput) Description() pulumi.StringOutput

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

func (SubnetGroupOutput) ElementType

func (SubnetGroupOutput) ElementType() reflect.Type

func (SubnetGroupOutput) Name added in v5.4.0

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

func (SubnetGroupOutput) SubnetIds added in v5.4.0

List of VPC Subnet IDs for the cache subnet group

func (SubnetGroupOutput) Tags added in v5.4.0

Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (SubnetGroupOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (SubnetGroupOutput) ToSubnetGroupOutput

func (o SubnetGroupOutput) ToSubnetGroupOutput() SubnetGroupOutput

func (SubnetGroupOutput) ToSubnetGroupOutputWithContext

func (o SubnetGroupOutput) ToSubnetGroupOutputWithContext(ctx context.Context) SubnetGroupOutput

type SubnetGroupState

type SubnetGroupState struct {
	Arn pulumi.StringPtrInput
	// Description for the cache subnet group. Defaults to "Managed by Pulumi".
	Description pulumi.StringPtrInput
	// Name for the cache subnet group. ElastiCache converts this name to lowercase.
	Name pulumi.StringPtrInput
	// List of VPC Subnet IDs for the cache subnet group
	SubnetIds pulumi.StringArrayInput
	// Key-value map of resource tags. .If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
}

func (SubnetGroupState) ElementType

func (SubnetGroupState) ElementType() reflect.Type

type User

type User struct {
	pulumi.CustomResourceState

	// Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details.
	AccessString pulumi.StringOutput `pulumi:"accessString"`
	// The ARN of the created ElastiCache User.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Denotes the user's authentication properties. Detailed below.
	AuthenticationMode UserAuthenticationModeOutput `pulumi:"authenticationMode"`
	// The current supported value is `REDIS`.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Indicates a password is not required for this user.
	NoPasswordRequired pulumi.BoolPtrOutput `pulumi:"noPasswordRequired"`
	// Passwords used for this user. You can create up to two passwords for each user.
	Passwords pulumi.StringArrayOutput `pulumi:"passwords"`
	// A list of tags to be added to this resource. A tag is a key-value pair.
	Tags    pulumi.StringMapOutput `pulumi:"tags"`
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The ID of the user.
	UserId pulumi.StringOutput `pulumi:"userId"`
	// The username of the user.
	//
	// The following arguments are optional:
	UserName pulumi.StringOutput `pulumi:"userName"`
}

Provides an ElastiCache user resource.

> **Note:** All arguments including the username and passwords will be stored in the raw state as plain-text. ## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewUser(ctx, "test", &elasticache.UserArgs{
			AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"),
			Engine:       pulumi.String("REDIS"),
			Passwords: pulumi.StringArray{
				pulumi.String("password123456789"),
			},
			UserId:   pulumi.String("testUserId"),
			UserName: pulumi.String("testUserName"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewUser(ctx, "test", &elasticache.UserArgs{
			AccessString: pulumi.String("on ~* +@all"),
			AuthenticationMode: &elasticache.UserAuthenticationModeArgs{
				Type: pulumi.String("iam"),
			},
			Engine:   pulumi.String("REDIS"),
			UserId:   pulumi.String("testUserId"),
			UserName: pulumi.String("testUserName"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewUser(ctx, "test", &elasticache.UserArgs{
			AccessString: pulumi.String("on ~* +@all"),
			AuthenticationMode: &elasticache.UserAuthenticationModeArgs{
				Passwords: pulumi.StringArray{
					pulumi.String("password1"),
					pulumi.String("password2"),
				},
				Type: pulumi.String("password"),
			},
			Engine:   pulumi.String("REDIS"),
			UserId:   pulumi.String("testUserId"),
			UserName: pulumi.String("testUserName"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache users can be imported using the `user_id`, e.g.,

```sh

$ pulumi import aws:elasticache/user:User my_user userId1

```

func GetUser

func GetUser(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserState, opts ...pulumi.ResourceOption) (*User, error)

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

func NewUser

func NewUser(ctx *pulumi.Context,
	name string, args *UserArgs, opts ...pulumi.ResourceOption) (*User, error)

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

func (*User) ElementType

func (*User) ElementType() reflect.Type

func (*User) ToUserOutput

func (i *User) ToUserOutput() UserOutput

func (*User) ToUserOutputWithContext

func (i *User) ToUserOutputWithContext(ctx context.Context) UserOutput

type UserArgs

type UserArgs struct {
	// Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details.
	AccessString pulumi.StringInput
	// Denotes the user's authentication properties. Detailed below.
	AuthenticationMode UserAuthenticationModePtrInput
	// The current supported value is `REDIS`.
	Engine pulumi.StringInput
	// Indicates a password is not required for this user.
	NoPasswordRequired pulumi.BoolPtrInput
	// Passwords used for this user. You can create up to two passwords for each user.
	Passwords pulumi.StringArrayInput
	// A list of tags to be added to this resource. A tag is a key-value pair.
	Tags pulumi.StringMapInput
	// The ID of the user.
	UserId pulumi.StringInput
	// The username of the user.
	//
	// The following arguments are optional:
	UserName pulumi.StringInput
}

The set of arguments for constructing a User resource.

func (UserArgs) ElementType

func (UserArgs) ElementType() reflect.Type

type UserArray

type UserArray []UserInput

func (UserArray) ElementType

func (UserArray) ElementType() reflect.Type

func (UserArray) ToUserArrayOutput

func (i UserArray) ToUserArrayOutput() UserArrayOutput

func (UserArray) ToUserArrayOutputWithContext

func (i UserArray) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserArrayInput

type UserArrayInput interface {
	pulumi.Input

	ToUserArrayOutput() UserArrayOutput
	ToUserArrayOutputWithContext(context.Context) UserArrayOutput
}

UserArrayInput is an input type that accepts UserArray and UserArrayOutput values. You can construct a concrete instance of `UserArrayInput` via:

UserArray{ UserArgs{...} }

type UserArrayOutput

type UserArrayOutput struct{ *pulumi.OutputState }

func (UserArrayOutput) ElementType

func (UserArrayOutput) ElementType() reflect.Type

func (UserArrayOutput) Index

func (UserArrayOutput) ToUserArrayOutput

func (o UserArrayOutput) ToUserArrayOutput() UserArrayOutput

func (UserArrayOutput) ToUserArrayOutputWithContext

func (o UserArrayOutput) ToUserArrayOutputWithContext(ctx context.Context) UserArrayOutput

type UserAuthenticationMode added in v5.33.0

type UserAuthenticationMode struct {
	PasswordCount *int `pulumi:"passwordCount"`
	// Specifies the passwords to use for authentication if `type` is set to `password`.
	Passwords []string `pulumi:"passwords"`
	// Specifies the authentication type. Possible options are: `password`, `no-password-required` or `iam`.
	Type string `pulumi:"type"`
}

type UserAuthenticationModeArgs added in v5.33.0

type UserAuthenticationModeArgs struct {
	PasswordCount pulumi.IntPtrInput `pulumi:"passwordCount"`
	// Specifies the passwords to use for authentication if `type` is set to `password`.
	Passwords pulumi.StringArrayInput `pulumi:"passwords"`
	// Specifies the authentication type. Possible options are: `password`, `no-password-required` or `iam`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (UserAuthenticationModeArgs) ElementType added in v5.33.0

func (UserAuthenticationModeArgs) ElementType() reflect.Type

func (UserAuthenticationModeArgs) ToUserAuthenticationModeOutput added in v5.33.0

func (i UserAuthenticationModeArgs) ToUserAuthenticationModeOutput() UserAuthenticationModeOutput

func (UserAuthenticationModeArgs) ToUserAuthenticationModeOutputWithContext added in v5.33.0

func (i UserAuthenticationModeArgs) ToUserAuthenticationModeOutputWithContext(ctx context.Context) UserAuthenticationModeOutput

func (UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutput added in v5.33.0

func (i UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput

func (UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutputWithContext added in v5.33.0

func (i UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutputWithContext(ctx context.Context) UserAuthenticationModePtrOutput

type UserAuthenticationModeInput added in v5.33.0

type UserAuthenticationModeInput interface {
	pulumi.Input

	ToUserAuthenticationModeOutput() UserAuthenticationModeOutput
	ToUserAuthenticationModeOutputWithContext(context.Context) UserAuthenticationModeOutput
}

UserAuthenticationModeInput is an input type that accepts UserAuthenticationModeArgs and UserAuthenticationModeOutput values. You can construct a concrete instance of `UserAuthenticationModeInput` via:

UserAuthenticationModeArgs{...}

type UserAuthenticationModeOutput added in v5.33.0

type UserAuthenticationModeOutput struct{ *pulumi.OutputState }

func (UserAuthenticationModeOutput) ElementType added in v5.33.0

func (UserAuthenticationModeOutput) PasswordCount added in v5.33.0

func (UserAuthenticationModeOutput) Passwords added in v5.33.0

Specifies the passwords to use for authentication if `type` is set to `password`.

func (UserAuthenticationModeOutput) ToUserAuthenticationModeOutput added in v5.33.0

func (o UserAuthenticationModeOutput) ToUserAuthenticationModeOutput() UserAuthenticationModeOutput

func (UserAuthenticationModeOutput) ToUserAuthenticationModeOutputWithContext added in v5.33.0

func (o UserAuthenticationModeOutput) ToUserAuthenticationModeOutputWithContext(ctx context.Context) UserAuthenticationModeOutput

func (UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutput added in v5.33.0

func (o UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput

func (UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutputWithContext added in v5.33.0

func (o UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutputWithContext(ctx context.Context) UserAuthenticationModePtrOutput

func (UserAuthenticationModeOutput) Type added in v5.33.0

Specifies the authentication type. Possible options are: `password`, `no-password-required` or `iam`.

type UserAuthenticationModePtrInput added in v5.33.0

type UserAuthenticationModePtrInput interface {
	pulumi.Input

	ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput
	ToUserAuthenticationModePtrOutputWithContext(context.Context) UserAuthenticationModePtrOutput
}

UserAuthenticationModePtrInput is an input type that accepts UserAuthenticationModeArgs, UserAuthenticationModePtr and UserAuthenticationModePtrOutput values. You can construct a concrete instance of `UserAuthenticationModePtrInput` via:

        UserAuthenticationModeArgs{...}

or:

        nil

func UserAuthenticationModePtr added in v5.33.0

func UserAuthenticationModePtr(v *UserAuthenticationModeArgs) UserAuthenticationModePtrInput

type UserAuthenticationModePtrOutput added in v5.33.0

type UserAuthenticationModePtrOutput struct{ *pulumi.OutputState }

func (UserAuthenticationModePtrOutput) Elem added in v5.33.0

func (UserAuthenticationModePtrOutput) ElementType added in v5.33.0

func (UserAuthenticationModePtrOutput) PasswordCount added in v5.33.0

func (UserAuthenticationModePtrOutput) Passwords added in v5.33.0

Specifies the passwords to use for authentication if `type` is set to `password`.

func (UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutput added in v5.33.0

func (o UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput

func (UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutputWithContext added in v5.33.0

func (o UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutputWithContext(ctx context.Context) UserAuthenticationModePtrOutput

func (UserAuthenticationModePtrOutput) Type added in v5.33.0

Specifies the authentication type. Possible options are: `password`, `no-password-required` or `iam`.

type UserGroup

type UserGroup struct {
	pulumi.CustomResourceState

	// The ARN that identifies the user group.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// The current supported value is `REDIS`.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// The ID of the user group.
	//
	// The following arguments are optional:
	UserGroupId pulumi.StringOutput `pulumi:"userGroupId"`
	// The list of user IDs that belong to the user group.
	UserIds pulumi.StringArrayOutput `pulumi:"userIds"`
}

Provides an ElastiCache user group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testUser, err := elasticache.NewUser(ctx, "testUser", &elasticache.UserArgs{
			UserId:       pulumi.String("testUserId"),
			UserName:     pulumi.String("default"),
			AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"),
			Engine:       pulumi.String("REDIS"),
			Passwords: pulumi.StringArray{
				pulumi.String("password123456789"),
			},
		})
		if err != nil {
			return err
		}
		_, err = elasticache.NewUserGroup(ctx, "testUserGroup", &elasticache.UserGroupArgs{
			Engine:      pulumi.String("REDIS"),
			UserGroupId: pulumi.String("userGroupId"),
			UserIds: pulumi.StringArray{
				testUser.UserId,
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache user groups can be imported using the `user_group_id`, e.g.,

```sh

$ pulumi import aws:elasticache/userGroup:UserGroup my_user_group userGoupId1

```

func GetUserGroup

func GetUserGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserGroupState, opts ...pulumi.ResourceOption) (*UserGroup, error)

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

func NewUserGroup

func NewUserGroup(ctx *pulumi.Context,
	name string, args *UserGroupArgs, opts ...pulumi.ResourceOption) (*UserGroup, error)

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

func (*UserGroup) ElementType

func (*UserGroup) ElementType() reflect.Type

func (*UserGroup) ToUserGroupOutput

func (i *UserGroup) ToUserGroupOutput() UserGroupOutput

func (*UserGroup) ToUserGroupOutputWithContext

func (i *UserGroup) ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput

type UserGroupArgs

type UserGroupArgs struct {
	// The current supported value is `REDIS`.
	Engine pulumi.StringInput
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// The ID of the user group.
	//
	// The following arguments are optional:
	UserGroupId pulumi.StringInput
	// The list of user IDs that belong to the user group.
	UserIds pulumi.StringArrayInput
}

The set of arguments for constructing a UserGroup resource.

func (UserGroupArgs) ElementType

func (UserGroupArgs) ElementType() reflect.Type

type UserGroupArray

type UserGroupArray []UserGroupInput

func (UserGroupArray) ElementType

func (UserGroupArray) ElementType() reflect.Type

func (UserGroupArray) ToUserGroupArrayOutput

func (i UserGroupArray) ToUserGroupArrayOutput() UserGroupArrayOutput

func (UserGroupArray) ToUserGroupArrayOutputWithContext

func (i UserGroupArray) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput

type UserGroupArrayInput

type UserGroupArrayInput interface {
	pulumi.Input

	ToUserGroupArrayOutput() UserGroupArrayOutput
	ToUserGroupArrayOutputWithContext(context.Context) UserGroupArrayOutput
}

UserGroupArrayInput is an input type that accepts UserGroupArray and UserGroupArrayOutput values. You can construct a concrete instance of `UserGroupArrayInput` via:

UserGroupArray{ UserGroupArgs{...} }

type UserGroupArrayOutput

type UserGroupArrayOutput struct{ *pulumi.OutputState }

func (UserGroupArrayOutput) ElementType

func (UserGroupArrayOutput) ElementType() reflect.Type

func (UserGroupArrayOutput) Index

func (UserGroupArrayOutput) ToUserGroupArrayOutput

func (o UserGroupArrayOutput) ToUserGroupArrayOutput() UserGroupArrayOutput

func (UserGroupArrayOutput) ToUserGroupArrayOutputWithContext

func (o UserGroupArrayOutput) ToUserGroupArrayOutputWithContext(ctx context.Context) UserGroupArrayOutput

type UserGroupAssociation added in v5.2.0

type UserGroupAssociation struct {
	pulumi.CustomResourceState

	// ID of the user group.
	UserGroupId pulumi.StringOutput `pulumi:"userGroupId"`
	// ID of the user to associated with the user group.
	UserId pulumi.StringOutput `pulumi:"userId"`
}

Associate an existing ElastiCache user and an existing user group.

> **NOTE:** The provider will detect changes in the `elasticache.UserGroup` since `elasticache.UserGroupAssociation` changes the user IDs associated with the user group. You can ignore these changes with the `ignoreChanges` option as shown in the example.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/elasticache"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := elasticache.NewUser(ctx, "default", &elasticache.UserArgs{
			UserId:       pulumi.String("defaultUserID"),
			UserName:     pulumi.String("default"),
			AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"),
			Engine:       pulumi.String("REDIS"),
			Passwords: pulumi.StringArray{
				pulumi.String("password123456789"),
			},
		})
		if err != nil {
			return err
		}
		exampleUserGroup, err := elasticache.NewUserGroup(ctx, "exampleUserGroup", &elasticache.UserGroupArgs{
			Engine:      pulumi.String("REDIS"),
			UserGroupId: pulumi.String("userGroupId"),
			UserIds: pulumi.StringArray{
				_default.UserId,
			},
		})
		if err != nil {
			return err
		}
		exampleUser, err := elasticache.NewUser(ctx, "exampleUser", &elasticache.UserArgs{
			UserId:       pulumi.String("exampleUserID"),
			UserName:     pulumi.String("exampleuser"),
			AccessString: pulumi.String("on ~app::* -@all +@read +@hash +@bitmap +@geo -setbit -bitfield -hset -hsetnx -hmset -hincrby -hincrbyfloat -hdel -bitop -geoadd -georadius -georadiusbymember"),
			Engine:       pulumi.String("REDIS"),
			Passwords: pulumi.StringArray{
				pulumi.String("password123456789"),
			},
		})
		if err != nil {
			return err
		}
		_, err = elasticache.NewUserGroupAssociation(ctx, "exampleUserGroupAssociation", &elasticache.UserGroupAssociationArgs{
			UserGroupId: exampleUserGroup.UserGroupId,
			UserId:      exampleUser.UserId,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ElastiCache user group associations can be imported using the `user_group_id` and `user_id`, e.g.,

```sh

$ pulumi import aws:elasticache/userGroupAssociation:UserGroupAssociation example userGoupId1,userId

```

func GetUserGroupAssociation added in v5.2.0

func GetUserGroupAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserGroupAssociationState, opts ...pulumi.ResourceOption) (*UserGroupAssociation, error)

GetUserGroupAssociation gets an existing UserGroupAssociation 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 NewUserGroupAssociation added in v5.2.0

func NewUserGroupAssociation(ctx *pulumi.Context,
	name string, args *UserGroupAssociationArgs, opts ...pulumi.ResourceOption) (*UserGroupAssociation, error)

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

func (*UserGroupAssociation) ElementType added in v5.2.0

func (*UserGroupAssociation) ElementType() reflect.Type

func (*UserGroupAssociation) ToUserGroupAssociationOutput added in v5.2.0

func (i *UserGroupAssociation) ToUserGroupAssociationOutput() UserGroupAssociationOutput

func (*UserGroupAssociation) ToUserGroupAssociationOutputWithContext added in v5.2.0

func (i *UserGroupAssociation) ToUserGroupAssociationOutputWithContext(ctx context.Context) UserGroupAssociationOutput

type UserGroupAssociationArgs added in v5.2.0

type UserGroupAssociationArgs struct {
	// ID of the user group.
	UserGroupId pulumi.StringInput
	// ID of the user to associated with the user group.
	UserId pulumi.StringInput
}

The set of arguments for constructing a UserGroupAssociation resource.

func (UserGroupAssociationArgs) ElementType added in v5.2.0

func (UserGroupAssociationArgs) ElementType() reflect.Type

type UserGroupAssociationArray added in v5.2.0

type UserGroupAssociationArray []UserGroupAssociationInput

func (UserGroupAssociationArray) ElementType added in v5.2.0

func (UserGroupAssociationArray) ElementType() reflect.Type

func (UserGroupAssociationArray) ToUserGroupAssociationArrayOutput added in v5.2.0

func (i UserGroupAssociationArray) ToUserGroupAssociationArrayOutput() UserGroupAssociationArrayOutput

func (UserGroupAssociationArray) ToUserGroupAssociationArrayOutputWithContext added in v5.2.0

func (i UserGroupAssociationArray) ToUserGroupAssociationArrayOutputWithContext(ctx context.Context) UserGroupAssociationArrayOutput

type UserGroupAssociationArrayInput added in v5.2.0

type UserGroupAssociationArrayInput interface {
	pulumi.Input

	ToUserGroupAssociationArrayOutput() UserGroupAssociationArrayOutput
	ToUserGroupAssociationArrayOutputWithContext(context.Context) UserGroupAssociationArrayOutput
}

UserGroupAssociationArrayInput is an input type that accepts UserGroupAssociationArray and UserGroupAssociationArrayOutput values. You can construct a concrete instance of `UserGroupAssociationArrayInput` via:

UserGroupAssociationArray{ UserGroupAssociationArgs{...} }

type UserGroupAssociationArrayOutput added in v5.2.0

type UserGroupAssociationArrayOutput struct{ *pulumi.OutputState }

func (UserGroupAssociationArrayOutput) ElementType added in v5.2.0

func (UserGroupAssociationArrayOutput) Index added in v5.2.0

func (UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutput added in v5.2.0

func (o UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutput() UserGroupAssociationArrayOutput

func (UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutputWithContext added in v5.2.0

func (o UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutputWithContext(ctx context.Context) UserGroupAssociationArrayOutput

type UserGroupAssociationInput added in v5.2.0

type UserGroupAssociationInput interface {
	pulumi.Input

	ToUserGroupAssociationOutput() UserGroupAssociationOutput
	ToUserGroupAssociationOutputWithContext(ctx context.Context) UserGroupAssociationOutput
}

type UserGroupAssociationMap added in v5.2.0

type UserGroupAssociationMap map[string]UserGroupAssociationInput

func (UserGroupAssociationMap) ElementType added in v5.2.0

func (UserGroupAssociationMap) ElementType() reflect.Type

func (UserGroupAssociationMap) ToUserGroupAssociationMapOutput added in v5.2.0

func (i UserGroupAssociationMap) ToUserGroupAssociationMapOutput() UserGroupAssociationMapOutput

func (UserGroupAssociationMap) ToUserGroupAssociationMapOutputWithContext added in v5.2.0

func (i UserGroupAssociationMap) ToUserGroupAssociationMapOutputWithContext(ctx context.Context) UserGroupAssociationMapOutput

type UserGroupAssociationMapInput added in v5.2.0

type UserGroupAssociationMapInput interface {
	pulumi.Input

	ToUserGroupAssociationMapOutput() UserGroupAssociationMapOutput
	ToUserGroupAssociationMapOutputWithContext(context.Context) UserGroupAssociationMapOutput
}

UserGroupAssociationMapInput is an input type that accepts UserGroupAssociationMap and UserGroupAssociationMapOutput values. You can construct a concrete instance of `UserGroupAssociationMapInput` via:

UserGroupAssociationMap{ "key": UserGroupAssociationArgs{...} }

type UserGroupAssociationMapOutput added in v5.2.0

type UserGroupAssociationMapOutput struct{ *pulumi.OutputState }

func (UserGroupAssociationMapOutput) ElementType added in v5.2.0

func (UserGroupAssociationMapOutput) MapIndex added in v5.2.0

func (UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutput added in v5.2.0

func (o UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutput() UserGroupAssociationMapOutput

func (UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutputWithContext added in v5.2.0

func (o UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutputWithContext(ctx context.Context) UserGroupAssociationMapOutput

type UserGroupAssociationOutput added in v5.2.0

type UserGroupAssociationOutput struct{ *pulumi.OutputState }

func (UserGroupAssociationOutput) ElementType added in v5.2.0

func (UserGroupAssociationOutput) ElementType() reflect.Type

func (UserGroupAssociationOutput) ToUserGroupAssociationOutput added in v5.2.0

func (o UserGroupAssociationOutput) ToUserGroupAssociationOutput() UserGroupAssociationOutput

func (UserGroupAssociationOutput) ToUserGroupAssociationOutputWithContext added in v5.2.0

func (o UserGroupAssociationOutput) ToUserGroupAssociationOutputWithContext(ctx context.Context) UserGroupAssociationOutput

func (UserGroupAssociationOutput) UserGroupId added in v5.4.0

ID of the user group.

func (UserGroupAssociationOutput) UserId added in v5.4.0

ID of the user to associated with the user group.

type UserGroupAssociationState added in v5.2.0

type UserGroupAssociationState struct {
	// ID of the user group.
	UserGroupId pulumi.StringPtrInput
	// ID of the user to associated with the user group.
	UserId pulumi.StringPtrInput
}

func (UserGroupAssociationState) ElementType added in v5.2.0

func (UserGroupAssociationState) ElementType() reflect.Type

type UserGroupInput

type UserGroupInput interface {
	pulumi.Input

	ToUserGroupOutput() UserGroupOutput
	ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput
}

type UserGroupMap

type UserGroupMap map[string]UserGroupInput

func (UserGroupMap) ElementType

func (UserGroupMap) ElementType() reflect.Type

func (UserGroupMap) ToUserGroupMapOutput

func (i UserGroupMap) ToUserGroupMapOutput() UserGroupMapOutput

func (UserGroupMap) ToUserGroupMapOutputWithContext

func (i UserGroupMap) ToUserGroupMapOutputWithContext(ctx context.Context) UserGroupMapOutput

type UserGroupMapInput

type UserGroupMapInput interface {
	pulumi.Input

	ToUserGroupMapOutput() UserGroupMapOutput
	ToUserGroupMapOutputWithContext(context.Context) UserGroupMapOutput
}

UserGroupMapInput is an input type that accepts UserGroupMap and UserGroupMapOutput values. You can construct a concrete instance of `UserGroupMapInput` via:

UserGroupMap{ "key": UserGroupArgs{...} }

type UserGroupMapOutput

type UserGroupMapOutput struct{ *pulumi.OutputState }

func (UserGroupMapOutput) ElementType

func (UserGroupMapOutput) ElementType() reflect.Type

func (UserGroupMapOutput) MapIndex

func (UserGroupMapOutput) ToUserGroupMapOutput

func (o UserGroupMapOutput) ToUserGroupMapOutput() UserGroupMapOutput

func (UserGroupMapOutput) ToUserGroupMapOutputWithContext

func (o UserGroupMapOutput) ToUserGroupMapOutputWithContext(ctx context.Context) UserGroupMapOutput

type UserGroupOutput

type UserGroupOutput struct{ *pulumi.OutputState }

func (UserGroupOutput) Arn added in v5.4.0

The ARN that identifies the user group.

func (UserGroupOutput) ElementType

func (UserGroupOutput) ElementType() reflect.Type

func (UserGroupOutput) Engine added in v5.4.0

func (o UserGroupOutput) Engine() pulumi.StringOutput

The current supported value is `REDIS`.

func (UserGroupOutput) Tags added in v5.4.0

Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.

func (UserGroupOutput) TagsAll added in v5.4.0

A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.

func (UserGroupOutput) ToUserGroupOutput

func (o UserGroupOutput) ToUserGroupOutput() UserGroupOutput

func (UserGroupOutput) ToUserGroupOutputWithContext

func (o UserGroupOutput) ToUserGroupOutputWithContext(ctx context.Context) UserGroupOutput

func (UserGroupOutput) UserGroupId added in v5.4.0

func (o UserGroupOutput) UserGroupId() pulumi.StringOutput

The ID of the user group.

The following arguments are optional:

func (UserGroupOutput) UserIds added in v5.4.0

The list of user IDs that belong to the user group.

type UserGroupState

type UserGroupState struct {
	// The ARN that identifies the user group.
	Arn pulumi.StringPtrInput
	// The current supported value is `REDIS`.
	Engine pulumi.StringPtrInput
	// Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
	Tags pulumi.StringMapInput
	// A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
	TagsAll pulumi.StringMapInput
	// The ID of the user group.
	//
	// The following arguments are optional:
	UserGroupId pulumi.StringPtrInput
	// The list of user IDs that belong to the user group.
	UserIds pulumi.StringArrayInput
}

func (UserGroupState) ElementType

func (UserGroupState) ElementType() reflect.Type

type UserInput

type UserInput interface {
	pulumi.Input

	ToUserOutput() UserOutput
	ToUserOutputWithContext(ctx context.Context) UserOutput
}

type UserMap

type UserMap map[string]UserInput

func (UserMap) ElementType

func (UserMap) ElementType() reflect.Type

func (UserMap) ToUserMapOutput

func (i UserMap) ToUserMapOutput() UserMapOutput

func (UserMap) ToUserMapOutputWithContext

func (i UserMap) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserMapInput

type UserMapInput interface {
	pulumi.Input

	ToUserMapOutput() UserMapOutput
	ToUserMapOutputWithContext(context.Context) UserMapOutput
}

UserMapInput is an input type that accepts UserMap and UserMapOutput values. You can construct a concrete instance of `UserMapInput` via:

UserMap{ "key": UserArgs{...} }

type UserMapOutput

type UserMapOutput struct{ *pulumi.OutputState }

func (UserMapOutput) ElementType

func (UserMapOutput) ElementType() reflect.Type

func (UserMapOutput) MapIndex

func (UserMapOutput) ToUserMapOutput

func (o UserMapOutput) ToUserMapOutput() UserMapOutput

func (UserMapOutput) ToUserMapOutputWithContext

func (o UserMapOutput) ToUserMapOutputWithContext(ctx context.Context) UserMapOutput

type UserOutput

type UserOutput struct{ *pulumi.OutputState }

func (UserOutput) AccessString added in v5.4.0

func (o UserOutput) AccessString() pulumi.StringOutput

Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details.

func (UserOutput) Arn added in v5.4.0

func (o UserOutput) Arn() pulumi.StringOutput

The ARN of the created ElastiCache User.

func (UserOutput) AuthenticationMode added in v5.33.0

func (o UserOutput) AuthenticationMode() UserAuthenticationModeOutput

Denotes the user's authentication properties. Detailed below.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Engine added in v5.4.0

func (o UserOutput) Engine() pulumi.StringOutput

The current supported value is `REDIS`.

func (UserOutput) NoPasswordRequired added in v5.4.0

func (o UserOutput) NoPasswordRequired() pulumi.BoolPtrOutput

Indicates a password is not required for this user.

func (UserOutput) Passwords added in v5.4.0

func (o UserOutput) Passwords() pulumi.StringArrayOutput

Passwords used for this user. You can create up to two passwords for each user.

func (UserOutput) Tags added in v5.4.0

A list of tags to be added to this resource. A tag is a key-value pair.

func (UserOutput) TagsAll added in v5.4.0

func (o UserOutput) TagsAll() pulumi.StringMapOutput

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

func (o UserOutput) ToUserOutputWithContext(ctx context.Context) UserOutput

func (UserOutput) UserId added in v5.4.0

func (o UserOutput) UserId() pulumi.StringOutput

The ID of the user.

func (UserOutput) UserName added in v5.4.0

func (o UserOutput) UserName() pulumi.StringOutput

The username of the user.

The following arguments are optional:

type UserState

type UserState struct {
	// Access permissions string used for this user. See [Specifying Permissions Using an Access String](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.RBAC.html#Access-string) for more details.
	AccessString pulumi.StringPtrInput
	// The ARN of the created ElastiCache User.
	Arn pulumi.StringPtrInput
	// Denotes the user's authentication properties. Detailed below.
	AuthenticationMode UserAuthenticationModePtrInput
	// The current supported value is `REDIS`.
	Engine pulumi.StringPtrInput
	// Indicates a password is not required for this user.
	NoPasswordRequired pulumi.BoolPtrInput
	// Passwords used for this user. You can create up to two passwords for each user.
	Passwords pulumi.StringArrayInput
	// A list of tags to be added to this resource. A tag is a key-value pair.
	Tags    pulumi.StringMapInput
	TagsAll pulumi.StringMapInput
	// The ID of the user.
	UserId pulumi.StringPtrInput
	// The username of the user.
	//
	// The following arguments are optional:
	UserName pulumi.StringPtrInput
}

func (UserState) ElementType

func (UserState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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