elasticache

package
v6.23.0 Latest Latest
Warning

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

Go to latest
Published: Feb 22, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	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 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// When the version is 6, 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 Attribute Reference below. Cannot be provided with `replication_group_id.`
	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. Cannot be provided with `replication_group_id.`
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// 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. Cannot be provided with `replication_group_id.`
	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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
	// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.
	TransitEncryptionEnabled pulumi.BoolOutput `pulumi:"transitEncryptionEnabled"`
}

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/v6/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/v6/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/v6/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/v6/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

Using `pulumi import`, import ElastiCache Clusters using the `cluster_id`. For example:

```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 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// When the version is 6, 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 Attribute Reference below. Cannot be provided with `replication_group_id.`
	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. Cannot be provided with `replication_group_id.`
	SecurityGroupIds 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. Cannot be provided with `replication_group_id.`
	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
	// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.
	TransitEncryptionEnabled pulumi.BoolPtrInput
}

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

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

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

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

func (ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutput

func (i ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutput() ClusterLogDeliveryConfigurationOutput

func (ClusterLogDeliveryConfigurationArgs) ToClusterLogDeliveryConfigurationOutputWithContext

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

type ClusterLogDeliveryConfigurationArray

type ClusterLogDeliveryConfigurationArray []ClusterLogDeliveryConfigurationInput

func (ClusterLogDeliveryConfigurationArray) ElementType

func (ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutput

func (i ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutput() ClusterLogDeliveryConfigurationArrayOutput

func (ClusterLogDeliveryConfigurationArray) ToClusterLogDeliveryConfigurationArrayOutputWithContext

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

type ClusterLogDeliveryConfigurationArrayInput

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

type ClusterLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ClusterLogDeliveryConfigurationArrayOutput) ElementType

func (ClusterLogDeliveryConfigurationArrayOutput) Index

func (ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutput

func (o ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutput() ClusterLogDeliveryConfigurationArrayOutput

func (ClusterLogDeliveryConfigurationArrayOutput) ToClusterLogDeliveryConfigurationArrayOutputWithContext

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

type ClusterLogDeliveryConfigurationInput

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

type ClusterLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (ClusterLogDeliveryConfigurationOutput) Destination

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

func (ClusterLogDeliveryConfigurationOutput) DestinationType

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

func (ClusterLogDeliveryConfigurationOutput) ElementType

func (ClusterLogDeliveryConfigurationOutput) LogFormat

Valid values are `json` or `text`

func (ClusterLogDeliveryConfigurationOutput) LogType

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

func (ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutput

func (o ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutput() ClusterLogDeliveryConfigurationOutput

func (ClusterLogDeliveryConfigurationOutput) ToClusterLogDeliveryConfigurationOutputWithContext

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

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

The ARN of the created ElastiCache Cluster.

func (ClusterOutput) AutoMinorVersionUpgrade

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

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

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

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

func (ClusterOutput) ClusterAddress

func (o ClusterOutput) ClusterAddress() pulumi.StringOutput

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

func (ClusterOutput) ClusterId

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

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

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

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 7 or higher, the major and minor version should be set, e.g., `7.2`. When the version is 6, 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 Attribute Reference below. Cannot be provided with `replication_group_id.`

func (ClusterOutput) EngineVersionActual

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

func (o ClusterOutput) FinalSnapshotIdentifier() pulumi.StringPtrOutput

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

func (ClusterOutput) IpDiscovery

func (o ClusterOutput) IpDiscovery() pulumi.StringOutput

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

func (ClusterOutput) LogDeliveryConfigurations

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

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

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

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

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

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

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

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

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

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

func (o ClusterOutput) PreferredOutpostArn() pulumi.StringOutput

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

func (ClusterOutput) ReplicationGroupId

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

func (o ClusterOutput) SecurityGroupIds() pulumi.StringArrayOutput

One or more VPC security groups associated with the cache cluster. Cannot be provided with `replication_group_id.`

func (ClusterOutput) SnapshotArns

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

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

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

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

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. Cannot be provided with `replication_group_id.`

func (ClusterOutput) Tags

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 deprecated

func (o ClusterOutput) TagsAll() pulumi.StringMapOutput

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

Deprecated: Please use `tags` instead.

func (ClusterOutput) ToClusterOutput

func (o ClusterOutput) ToClusterOutput() ClusterOutput

func (ClusterOutput) ToClusterOutputWithContext

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

func (ClusterOutput) TransitEncryptionEnabled added in v6.1.0

func (o ClusterOutput) TransitEncryptionEnabled() pulumi.BoolOutput

Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.

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 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// When the version is 6, 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 Attribute Reference below. Cannot be provided with `replication_group_id.`
	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. Cannot be provided with `replication_group_id.`
	SecurityGroupIds 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. Cannot be provided with `replication_group_id.`
	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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapInput
	// Enable encryption in-transit. Supported only with Memcached versions `1.6.12` and later, running in a VPC. See the [ElastiCache in-transit encryption](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/in-transit-encryption-mc.html) documentation for more details.
	TransitEncryptionEnabled pulumi.BoolPtrInput
}

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

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

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

type GetClusterLogDeliveryConfigurationArgs

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

func (GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutput

func (i GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutput() GetClusterLogDeliveryConfigurationOutput

func (GetClusterLogDeliveryConfigurationArgs) ToGetClusterLogDeliveryConfigurationOutputWithContext

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

type GetClusterLogDeliveryConfigurationArray

type GetClusterLogDeliveryConfigurationArray []GetClusterLogDeliveryConfigurationInput

func (GetClusterLogDeliveryConfigurationArray) ElementType

func (GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutput

func (i GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutput() GetClusterLogDeliveryConfigurationArrayOutput

func (GetClusterLogDeliveryConfigurationArray) ToGetClusterLogDeliveryConfigurationArrayOutputWithContext

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

type GetClusterLogDeliveryConfigurationArrayInput

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

type GetClusterLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetClusterLogDeliveryConfigurationArrayOutput) ElementType

func (GetClusterLogDeliveryConfigurationArrayOutput) Index

func (GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutput

func (o GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutput() GetClusterLogDeliveryConfigurationArrayOutput

func (GetClusterLogDeliveryConfigurationArrayOutput) ToGetClusterLogDeliveryConfigurationArrayOutputWithContext

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

type GetClusterLogDeliveryConfigurationInput

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

type GetClusterLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (GetClusterLogDeliveryConfigurationOutput) Destination

func (GetClusterLogDeliveryConfigurationOutput) DestinationType

func (GetClusterLogDeliveryConfigurationOutput) ElementType

func (GetClusterLogDeliveryConfigurationOutput) LogFormat

func (GetClusterLogDeliveryConfigurationOutput) LogType

func (GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutput

func (o GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutput() GetClusterLogDeliveryConfigurationOutput

func (GetClusterLogDeliveryConfigurationOutput) ToGetClusterLogDeliveryConfigurationOutputWithContext

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

type GetReplicationGroupLogDeliveryConfiguration

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

type GetReplicationGroupLogDeliveryConfigurationArgs

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

func (GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutput

func (i GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutput() GetReplicationGroupLogDeliveryConfigurationOutput

func (GetReplicationGroupLogDeliveryConfigurationArgs) ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext

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

type GetReplicationGroupLogDeliveryConfigurationArray

type GetReplicationGroupLogDeliveryConfigurationArray []GetReplicationGroupLogDeliveryConfigurationInput

func (GetReplicationGroupLogDeliveryConfigurationArray) ElementType

func (GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutput

func (i GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutput() GetReplicationGroupLogDeliveryConfigurationArrayOutput

func (GetReplicationGroupLogDeliveryConfigurationArray) ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext

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

type GetReplicationGroupLogDeliveryConfigurationArrayInput

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

type GetReplicationGroupLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) ElementType

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) Index

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) ToGetReplicationGroupLogDeliveryConfigurationArrayOutput

func (GetReplicationGroupLogDeliveryConfigurationArrayOutput) ToGetReplicationGroupLogDeliveryConfigurationArrayOutputWithContext

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

type GetReplicationGroupLogDeliveryConfigurationInput

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

type GetReplicationGroupLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (GetReplicationGroupLogDeliveryConfigurationOutput) Destination

func (GetReplicationGroupLogDeliveryConfigurationOutput) DestinationType

func (GetReplicationGroupLogDeliveryConfigurationOutput) ElementType

func (GetReplicationGroupLogDeliveryConfigurationOutput) LogFormat

func (GetReplicationGroupLogDeliveryConfigurationOutput) LogType

func (GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutput

func (o GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutput() GetReplicationGroupLogDeliveryConfigurationOutput

func (GetReplicationGroupLogDeliveryConfigurationOutput) ToGetReplicationGroupLogDeliveryConfigurationOutputWithContext

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

type GetUserAuthenticationMode

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

type GetUserAuthenticationModeArgs

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

func (GetUserAuthenticationModeArgs) ElementType

func (GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutput

func (i GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutput() GetUserAuthenticationModeOutput

func (GetUserAuthenticationModeArgs) ToGetUserAuthenticationModeOutputWithContext

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

type GetUserAuthenticationModeArray

type GetUserAuthenticationModeArray []GetUserAuthenticationModeInput

func (GetUserAuthenticationModeArray) ElementType

func (GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutput

func (i GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutput() GetUserAuthenticationModeArrayOutput

func (GetUserAuthenticationModeArray) ToGetUserAuthenticationModeArrayOutputWithContext

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

type GetUserAuthenticationModeArrayInput

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

type GetUserAuthenticationModeArrayOutput struct{ *pulumi.OutputState }

func (GetUserAuthenticationModeArrayOutput) ElementType

func (GetUserAuthenticationModeArrayOutput) Index

func (GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutput

func (o GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutput() GetUserAuthenticationModeArrayOutput

func (GetUserAuthenticationModeArrayOutput) ToGetUserAuthenticationModeArrayOutputWithContext

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

type GetUserAuthenticationModeInput

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

type GetUserAuthenticationModeOutput struct{ *pulumi.OutputState }

func (GetUserAuthenticationModeOutput) ElementType

func (GetUserAuthenticationModeOutput) PasswordCount

func (GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutput

func (o GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutput() GetUserAuthenticationModeOutput

func (GetUserAuthenticationModeOutput) ToGetUserAuthenticationModeOutputWithContext

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

func (GetUserAuthenticationModeOutput) Type

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.
	// When the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// When the version is 6, 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 Attribute 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/v6/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),
		})
		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{
			Description:              pulumi.String("secondary replication group"),
			GlobalReplicationGroupId: example.GlobalReplicationGroupId,
			NumCacheClusters:         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/v6/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("6.0"),
			NodeType:         pulumi.String("cache.m5.large"),
			NumCacheClusters: 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{
			Description:              pulumi.String("secondary replication group"),
			GlobalReplicationGroupId: example.GlobalReplicationGroupId,
			NumCacheClusters:         pulumi.Int(1),
		}, pulumi.Provider(aws.Other_region))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Using `pulumi import`, import ElastiCache Global Replication Groups using the `global_replication_group_id`. For example:

```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.
	// When the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// When the version is 6, 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 Attribute 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

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

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

func (GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutput

func (i GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutput() GlobalReplicationGroupGlobalNodeGroupOutput

func (GlobalReplicationGroupGlobalNodeGroupArgs) ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext

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

type GlobalReplicationGroupGlobalNodeGroupArray

type GlobalReplicationGroupGlobalNodeGroupArray []GlobalReplicationGroupGlobalNodeGroupInput

func (GlobalReplicationGroupGlobalNodeGroupArray) ElementType

func (GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput

func (i GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput() GlobalReplicationGroupGlobalNodeGroupArrayOutput

func (GlobalReplicationGroupGlobalNodeGroupArray) ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext

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

type GlobalReplicationGroupGlobalNodeGroupArrayInput

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

type GlobalReplicationGroupGlobalNodeGroupArrayOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) ElementType

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) Index

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput

func (o GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutput() GlobalReplicationGroupGlobalNodeGroupArrayOutput

func (GlobalReplicationGroupGlobalNodeGroupArrayOutput) ToGlobalReplicationGroupGlobalNodeGroupArrayOutputWithContext

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

type GlobalReplicationGroupGlobalNodeGroupInput

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

type GlobalReplicationGroupGlobalNodeGroupOutput struct{ *pulumi.OutputState }

func (GlobalReplicationGroupGlobalNodeGroupOutput) ElementType

func (GlobalReplicationGroupGlobalNodeGroupOutput) GlobalNodeGroupId

The ID of the global node group.

func (GlobalReplicationGroupGlobalNodeGroupOutput) Slots

The keyspace for this node group.

func (GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutput

func (o GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutput() GlobalReplicationGroupGlobalNodeGroupOutput

func (GlobalReplicationGroupGlobalNodeGroupOutput) ToGlobalReplicationGroupGlobalNodeGroupOutputWithContext

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

The ARN of the ElastiCache Global Replication Group.

func (GlobalReplicationGroupOutput) AtRestEncryptionEnabled

func (o GlobalReplicationGroupOutput) AtRestEncryptionEnabled() pulumi.BoolOutput

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

func (GlobalReplicationGroupOutput) AuthTokenEnabled

func (o GlobalReplicationGroupOutput) AuthTokenEnabled() pulumi.BoolOutput

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

func (GlobalReplicationGroupOutput) AutomaticFailoverEnabled

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

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

func (o GlobalReplicationGroupOutput) ClusterEnabled() pulumi.BoolOutput

Indicates whether the Global Datastore is cluster enabled.

func (GlobalReplicationGroupOutput) ElementType

func (GlobalReplicationGroupOutput) Engine

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

func (GlobalReplicationGroupOutput) EngineVersion

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. When the version is 7 or higher, the major and minor version should be set, e.g., `7.2`. When the version is 6, 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 Attribute Reference below.

func (GlobalReplicationGroupOutput) EngineVersionActual

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

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

func (GlobalReplicationGroupOutput) GlobalReplicationGroupDescription

func (o GlobalReplicationGroupOutput) GlobalReplicationGroupDescription() pulumi.StringPtrOutput

A user-created description for the global replication group.

func (GlobalReplicationGroupOutput) GlobalReplicationGroupId

func (o GlobalReplicationGroupOutput) GlobalReplicationGroupId() pulumi.StringOutput

The full ID of the global replication group.

func (GlobalReplicationGroupOutput) GlobalReplicationGroupIdSuffix

func (o GlobalReplicationGroupOutput) GlobalReplicationGroupIdSuffix() pulumi.StringOutput

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

func (GlobalReplicationGroupOutput) NumNodeGroups

func (o GlobalReplicationGroupOutput) NumNodeGroups() pulumi.IntOutput

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

func (GlobalReplicationGroupOutput) ParameterGroupName

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

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

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.
	// When the version is 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// When the version is 6, 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 Attribute 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"`
	// 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/v6/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

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

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

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) 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"`
	// 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"`
	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/v6/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) 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) 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

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

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

type LookupSubnetGroupResult

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

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/v6/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

type LookupSubnetGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getSubnetGroup.

func (LookupSubnetGroupResultOutput) Arn

ARN of the subnet group.

func (LookupSubnetGroupResultOutput) Description

Description of the subnet group.

func (LookupSubnetGroupResultOutput) ElementType

func (LookupSubnetGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupSubnetGroupResultOutput) Name

func (LookupSubnetGroupResultOutput) SubnetIds

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

func (LookupSubnetGroupResultOutput) Tags

Map of tags assigned to the subnet group.

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput

func (o LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutput() LookupSubnetGroupResultOutput

func (LookupSubnetGroupResultOutput) ToLookupSubnetGroupResultOutputWithContext

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/v6/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

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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/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

Using `pulumi import`, import ElastiCache Parameter Groups using the `name`. For example:

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

The AWS ARN associated with the parameter group.

func (ParameterGroupOutput) Description

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

The family of the ElastiCache parameter group.

func (ParameterGroupOutput) Name

The name of the ElastiCache parameter.

func (ParameterGroupOutput) Parameters

A list of ElastiCache parameters to apply.

func (ParameterGroupOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	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"`
	// Strategy to use when updating the `authToken`. Valid values are `SET`, `ROTATE`, and `DELETE`. Defaults to `ROTATE`.
	AuthTokenUpdateStrategy pulumi.StringPtrOutput `pulumi:"authTokenUpdateStrategy"`
	// 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"`
	// Indicates if cluster mode is enabled.
	ClusterEnabled pulumi.BoolOutput `pulumi:"clusterEnabled"`
	// 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 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// If the version is 6, 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 Attribute 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 cannot be set.
	GlobalReplicationGroupId pulumi.StringOutput `pulumi:"globalReplicationGroupId"`
	// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.
	IpDiscovery pulumi.StringOutput `pulumi:"ipDiscovery"`
	// 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"`
	// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`.
	NetworkType pulumi.StringOutput `pulumi:"networkType"`
	// 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`. 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"`
	// 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"`
	// Replication group identifier. This parameter is stored as a lowercase string.
	//
	// The following arguments are optional:
	ReplicationGroupId pulumi.StringOutput `pulumi:"replicationGroupId"`
	// IDs of 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"`
	// Names of 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.
	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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/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/v6/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/v6/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/v6/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/v6/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
	})
}

``` ### Redis AUTH and In-Transit Encryption Enabled

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/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{
			Description:      pulumi.String("example with authentication"),
			NodeType:         pulumi.String("cache.t2.micro"),
			NumCacheClusters: pulumi.Int(1),
			Port:             pulumi.Int(6379),
			SubnetGroupName:  pulumi.Any(aws_elasticache_subnet_group.Example.Name),
			SecurityGroupIds: pulumi.StringArray{
				aws_security_group.Example.Id,
			},
			ParameterGroupName:       pulumi.String("default.redis5.0"),
			EngineVersion:            pulumi.String("5.0.6"),
			TransitEncryptionEnabled: pulumi.Bool(true),
			AuthToken:                pulumi.String("abcdefgh1234567890"),
			AuthTokenUpdateStrategy:  pulumi.String("ROTATE"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

> When adding a new `authToken` to a previously passwordless replication group, using the `ROTATE` update strategy will result in support for **both** the new token and passwordless authentication. To immediately require authorization when adding the initial token, use the `SET` strategy instead. See the [Authenticating with the Redis AUTH command](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) guide for additional details.

## Import

Using `pulumi import`, import ElastiCache Replication Groups using the `replication_group_id`. For example:

```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
	// Strategy to use when updating the `authToken`. Valid values are `SET`, `ROTATE`, and `DELETE`. Defaults to `ROTATE`.
	AuthTokenUpdateStrategy 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
	// 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 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// If the version is 6, 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 Attribute 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 cannot be set.
	GlobalReplicationGroupId pulumi.StringPtrInput
	// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.
	IpDiscovery 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
	// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`.
	NetworkType pulumi.StringPtrInput
	// 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`. 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
	// 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
	// Replication group identifier. This parameter is stored as a lowercase string.
	//
	// The following arguments are optional:
	ReplicationGroupId pulumi.StringPtrInput
	// IDs of 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
	// Names of 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.
	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 ReplicationGroupInput

type ReplicationGroupInput interface {
	pulumi.Input

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

type ReplicationGroupLogDeliveryConfiguration

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

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

func (ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutput

func (i ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutput() ReplicationGroupLogDeliveryConfigurationOutput

func (ReplicationGroupLogDeliveryConfigurationArgs) ToReplicationGroupLogDeliveryConfigurationOutputWithContext

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

type ReplicationGroupLogDeliveryConfigurationArray

type ReplicationGroupLogDeliveryConfigurationArray []ReplicationGroupLogDeliveryConfigurationInput

func (ReplicationGroupLogDeliveryConfigurationArray) ElementType

func (ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutput

func (i ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutput() ReplicationGroupLogDeliveryConfigurationArrayOutput

func (ReplicationGroupLogDeliveryConfigurationArray) ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext

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

type ReplicationGroupLogDeliveryConfigurationArrayInput

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

type ReplicationGroupLogDeliveryConfigurationArrayOutput struct{ *pulumi.OutputState }

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) ElementType

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) Index

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutput

func (o ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutput() ReplicationGroupLogDeliveryConfigurationArrayOutput

func (ReplicationGroupLogDeliveryConfigurationArrayOutput) ToReplicationGroupLogDeliveryConfigurationArrayOutputWithContext

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

type ReplicationGroupLogDeliveryConfigurationInput

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

type ReplicationGroupLogDeliveryConfigurationOutput struct{ *pulumi.OutputState }

func (ReplicationGroupLogDeliveryConfigurationOutput) Destination

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

func (ReplicationGroupLogDeliveryConfigurationOutput) DestinationType

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

func (ReplicationGroupLogDeliveryConfigurationOutput) ElementType

func (ReplicationGroupLogDeliveryConfigurationOutput) LogFormat

Valid values are `json` or `text`

func (ReplicationGroupLogDeliveryConfigurationOutput) LogType

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

func (ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutput

func (o ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutput() ReplicationGroupLogDeliveryConfigurationOutput

func (ReplicationGroupLogDeliveryConfigurationOutput) ToReplicationGroupLogDeliveryConfigurationOutputWithContext

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

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

ARN of the created ElastiCache Replication Group.

func (ReplicationGroupOutput) AtRestEncryptionEnabled

func (o ReplicationGroupOutput) AtRestEncryptionEnabled() pulumi.BoolOutput

Whether to enable encryption at rest.

func (ReplicationGroupOutput) AuthToken

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

func (ReplicationGroupOutput) AuthTokenUpdateStrategy added in v6.11.0

func (o ReplicationGroupOutput) AuthTokenUpdateStrategy() pulumi.StringPtrOutput

Strategy to use when updating the `authToken`. Valid values are `SET`, `ROTATE`, and `DELETE`. Defaults to `ROTATE`.

func (ReplicationGroupOutput) AutoMinorVersionUpgrade

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

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

func (o ReplicationGroupOutput) ClusterEnabled() pulumi.BoolOutput

Indicates if cluster mode is enabled.

func (ReplicationGroupOutput) ConfigurationEndpointAddress

func (o ReplicationGroupOutput) ConfigurationEndpointAddress() pulumi.StringOutput

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

func (ReplicationGroupOutput) DataTieringEnabled

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

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

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

func (ReplicationGroupOutput) EngineVersion

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 7 or higher, the major and minor version should be set, e.g., `7.2`. If the version is 6, 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 Attribute Reference below.

func (ReplicationGroupOutput) EngineVersionActual

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

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

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 cannot be set.

func (ReplicationGroupOutput) IpDiscovery added in v6.7.0

func (o ReplicationGroupOutput) IpDiscovery() pulumi.StringOutput

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

func (ReplicationGroupOutput) KmsKeyId

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

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

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

func (o ReplicationGroupOutput) MemberClusters() pulumi.StringArrayOutput

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

func (ReplicationGroupOutput) MultiAzEnabled

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) NetworkType added in v6.7.0

func (o ReplicationGroupOutput) NetworkType() pulumi.StringOutput

The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`.

func (ReplicationGroupOutput) NodeType

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

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

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`. Defaults to `1`.

func (ReplicationGroupOutput) NumNodeGroups

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

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

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

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

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

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

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

func (o ReplicationGroupOutput) ReplicationGroupId() pulumi.StringOutput

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

The following arguments are optional:

func (ReplicationGroupOutput) SecurityGroupIds

func (o ReplicationGroupOutput) SecurityGroupIds() pulumi.StringArrayOutput

IDs of 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

func (o ReplicationGroupOutput) SecurityGroupNames() pulumi.StringArrayOutput

Names of 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) SnapshotArns

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

func (ReplicationGroupOutput) SnapshotName

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

func (ReplicationGroupOutput) SnapshotRetentionLimit

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

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

func (o ReplicationGroupOutput) SubnetGroupName() pulumi.StringOutput

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

func (ReplicationGroupOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

func (ReplicationGroupOutput) ToReplicationGroupOutput

func (o ReplicationGroupOutput) ToReplicationGroupOutput() ReplicationGroupOutput

func (ReplicationGroupOutput) ToReplicationGroupOutputWithContext

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

func (ReplicationGroupOutput) TransitEncryptionEnabled

func (o ReplicationGroupOutput) TransitEncryptionEnabled() pulumi.BoolOutput

Whether to enable encryption in transit.

func (ReplicationGroupOutput) UserGroupIds

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
	// Strategy to use when updating the `authToken`. Valid values are `SET`, `ROTATE`, and `DELETE`. Defaults to `ROTATE`.
	AuthTokenUpdateStrategy 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
	// Indicates if cluster mode is enabled.
	ClusterEnabled pulumi.BoolPtrInput
	// 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 7 or higher, the major and minor version should be set, e.g., `7.2`.
	// If the version is 6, 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 Attribute 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 cannot be set.
	GlobalReplicationGroupId pulumi.StringPtrInput
	// The IP version to advertise in the discovery protocol. Valid values are `ipv4` or `ipv6`.
	IpDiscovery 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
	// The IP versions for cache cluster connections. Valid values are `ipv4`, `ipv6` or `dualStack`.
	NetworkType pulumi.StringPtrInput
	// 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`. 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
	// 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
	// Replication group identifier. This parameter is stored as a lowercase string.
	//
	// The following arguments are optional:
	ReplicationGroupId pulumi.StringPtrInput
	// IDs of 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
	// Names of 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.
	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.
	//
	// Deprecated: Please use `tags` instead.
	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 ServerlessCache added in v6.18.2

type ServerlessCache struct {
	pulumi.CustomResourceState

	// The Amazon Resource Name (ARN) of the serverless cache.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// Sets the cache usage limits for storage and ElastiCache Processing Units for the cache. See configuration below.
	CacheUsageLimits ServerlessCacheCacheUsageLimitsPtrOutput `pulumi:"cacheUsageLimits"`
	// Timestamp of when the serverless cache was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The daily time that snapshots will be created from the new serverless cache. Only supported for engine type `"redis"`. Defaults to `0`.
	DailySnapshotTime pulumi.StringOutput `pulumi:"dailySnapshotTime"`
	// User-provided description for the serverless cache. The default is NULL.
	Description pulumi.StringOutput `pulumi:"description"`
	// Represents the information required for client programs to connect to a cache node. See config below for details.
	Endpoints ServerlessCacheEndpointArrayOutput `pulumi:"endpoints"`
	// Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
	Engine pulumi.StringOutput `pulumi:"engine"`
	// The name and version number of the engine the serverless cache is compatible with.
	FullEngineVersion pulumi.StringOutput `pulumi:"fullEngineVersion"`
	// ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.
	KmsKeyId pulumi.StringPtrOutput `pulumi:"kmsKeyId"`
	// The version of the cache engine that will be used to create the serverless cache.
	// 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.
	MajorEngineVersion pulumi.StringOutput `pulumi:"majorEngineVersion"`
	// The Cluster name which serves as a unique identifier to the serverless cache
	//
	// The following arguments are optional:
	Name pulumi.StringOutput `pulumi:"name"`
	// Represents the information required for client programs to connect to a cache node. See config below for details.
	ReaderEndpoints ServerlessCacheReaderEndpointArrayOutput `pulumi:"readerEndpoints"`
	// A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.
	SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
	// The list of ARN(s) of the snapshot that the new serverless cache will be created from. Available for Redis only.
	SnapshotArnsToRestores pulumi.StringArrayOutput `pulumi:"snapshotArnsToRestores"`
	// The number of snapshots that will be retained for the serverless cache that is being created. As new snapshots beyond this limit are added, the oldest snapshots will be deleted on a rolling basis. Available for Redis only.
	SnapshotRetentionLimit pulumi.IntOutput `pulumi:"snapshotRetentionLimit"`
	// The current status of the serverless cache. The allowed values are CREATING, AVAILABLE, DELETING, CREATE-FAILED and MODIFYING.
	Status pulumi.StringOutput `pulumi:"status"`
	// A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.
	SubnetIds pulumi.StringArrayOutput `pulumi:"subnetIds"`
	// 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"`
	// Deprecated: Please use `tags` instead.
	TagsAll  pulumi.StringMapOutput           `pulumi:"tagsAll"`
	Timeouts ServerlessCacheTimeoutsPtrOutput `pulumi:"timeouts"`
	// The identifier of the UserGroup to be associated with the serverless cache. Available for Redis only. Default is NULL.
	UserGroupId pulumi.StringPtrOutput `pulumi:"userGroupId"`
}

Provides an ElastiCache Serverless Cache resource which manages memcached or redis.

## Example Usage ### Memcached Serverless

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { var splat0 []interface{} for _, val0 := range aws_subnet.Test { splat0 = append(splat0, val0.Id) } _, err := elasticache.NewServerlessCache(ctx, "example", &elasticache.ServerlessCacheArgs{ Engine: pulumi.String("memcached"), CacheUsageLimits: &elasticache.ServerlessCacheCacheUsageLimitsArgs{ DataStorage: &elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{ Maximum: pulumi.Int(10), Unit: pulumi.String("GB"), }, EcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{ &elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{ Maximum: pulumi.Int(5), }, }, }, Description: pulumi.String("Test Server"), KmsKeyId: pulumi.Any(aws_kms_key.Test.Arn), MajorEngineVersion: pulumi.String("1.6"), SecurityGroupIds: pulumi.StringArray{ aws_security_group.Test.Id, }, SubnetIds: toPulumiArray(splat0), }) if err != nil { return err } return nil }) } func toPulumiArray(arr []) pulumi.Array { var pulumiArr pulumi.Array for _, v := range arr { pulumiArr = append(pulumiArr, pulumi.(v)) } return pulumiArr } ``` ### Redis Serverless

```go package main

import (

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

) func main() { pulumi.Run(func(ctx *pulumi.Context) error { var splat0 []interface{} for _, val0 := range aws_subnet.Test { splat0 = append(splat0, val0.Id) } _, err := elasticache.NewServerlessCache(ctx, "example", &elasticache.ServerlessCacheArgs{ Engine: pulumi.String("redis"), CacheUsageLimits: &elasticache.ServerlessCacheCacheUsageLimitsArgs{ DataStorage: &elasticache.ServerlessCacheCacheUsageLimitsDataStorageArgs{ Maximum: pulumi.Int(10), Unit: pulumi.String("GB"), }, EcpuPerSeconds: elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{ &elasticache.ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{ Maximum: pulumi.Int(5), }, }, }, DailySnapshotTime: pulumi.String("09:00"), Description: pulumi.String("Test Server"), KmsKeyId: pulumi.Any(aws_kms_key.Test.Arn), MajorEngineVersion: pulumi.String("7"), SnapshotRetentionLimit: pulumi.Int(1), SecurityGroupIds: pulumi.StringArray{ aws_security_group.Test.Id, }, SubnetIds: toPulumiArray(splat0), }) if err != nil { return err } return nil }) } func toPulumiArray(arr []) pulumi.Array { var pulumiArr pulumi.Array for _, v := range arr { pulumiArr = append(pulumiArr, pulumi.(v)) } return pulumiArr } ```

## Import

Using `pulumi import`, import ElastiCache Serverless Cache using the `name`. For example:

```sh

$ pulumi import aws:elasticache/serverlessCache:ServerlessCache my_cluster my_cluster

```

func GetServerlessCache added in v6.18.2

func GetServerlessCache(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ServerlessCacheState, opts ...pulumi.ResourceOption) (*ServerlessCache, error)

GetServerlessCache gets an existing ServerlessCache 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 NewServerlessCache added in v6.18.2

func NewServerlessCache(ctx *pulumi.Context,
	name string, args *ServerlessCacheArgs, opts ...pulumi.ResourceOption) (*ServerlessCache, error)

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

func (*ServerlessCache) ElementType added in v6.18.2

func (*ServerlessCache) ElementType() reflect.Type

func (*ServerlessCache) ToServerlessCacheOutput added in v6.18.2

func (i *ServerlessCache) ToServerlessCacheOutput() ServerlessCacheOutput

func (*ServerlessCache) ToServerlessCacheOutputWithContext added in v6.18.2

func (i *ServerlessCache) ToServerlessCacheOutputWithContext(ctx context.Context) ServerlessCacheOutput

type ServerlessCacheArgs added in v6.18.2

type ServerlessCacheArgs struct {
	// Sets the cache usage limits for storage and ElastiCache Processing Units for the cache. See configuration below.
	CacheUsageLimits ServerlessCacheCacheUsageLimitsPtrInput
	// The daily time that snapshots will be created from the new serverless cache. Only supported for engine type `"redis"`. Defaults to `0`.
	DailySnapshotTime pulumi.StringPtrInput
	// User-provided description for the serverless cache. The default is NULL.
	Description pulumi.StringPtrInput
	// Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
	Engine pulumi.StringInput
	// ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.
	KmsKeyId pulumi.StringPtrInput
	// The version of the cache engine that will be used to create the serverless cache.
	// 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.
	MajorEngineVersion pulumi.StringPtrInput
	// The Cluster name which serves as a unique identifier to the serverless cache
	//
	// The following arguments are optional:
	Name pulumi.StringPtrInput
	// A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.
	SecurityGroupIds pulumi.StringArrayInput
	// The list of ARN(s) of the snapshot that the new serverless cache will be created from. Available for Redis only.
	SnapshotArnsToRestores pulumi.StringArrayInput
	// The number of snapshots that will be retained for the serverless cache that is being created. As new snapshots beyond this limit are added, the oldest snapshots will be deleted on a rolling basis. Available for Redis only.
	SnapshotRetentionLimit pulumi.IntPtrInput
	// A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.
	SubnetIds pulumi.StringArrayInput
	// 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
	Timeouts ServerlessCacheTimeoutsPtrInput
	// The identifier of the UserGroup to be associated with the serverless cache. Available for Redis only. Default is NULL.
	UserGroupId pulumi.StringPtrInput
}

The set of arguments for constructing a ServerlessCache resource.

func (ServerlessCacheArgs) ElementType added in v6.18.2

func (ServerlessCacheArgs) ElementType() reflect.Type

type ServerlessCacheArray added in v6.18.2

type ServerlessCacheArray []ServerlessCacheInput

func (ServerlessCacheArray) ElementType added in v6.18.2

func (ServerlessCacheArray) ElementType() reflect.Type

func (ServerlessCacheArray) ToServerlessCacheArrayOutput added in v6.18.2

func (i ServerlessCacheArray) ToServerlessCacheArrayOutput() ServerlessCacheArrayOutput

func (ServerlessCacheArray) ToServerlessCacheArrayOutputWithContext added in v6.18.2

func (i ServerlessCacheArray) ToServerlessCacheArrayOutputWithContext(ctx context.Context) ServerlessCacheArrayOutput

type ServerlessCacheArrayInput added in v6.18.2

type ServerlessCacheArrayInput interface {
	pulumi.Input

	ToServerlessCacheArrayOutput() ServerlessCacheArrayOutput
	ToServerlessCacheArrayOutputWithContext(context.Context) ServerlessCacheArrayOutput
}

ServerlessCacheArrayInput is an input type that accepts ServerlessCacheArray and ServerlessCacheArrayOutput values. You can construct a concrete instance of `ServerlessCacheArrayInput` via:

ServerlessCacheArray{ ServerlessCacheArgs{...} }

type ServerlessCacheArrayOutput added in v6.18.2

type ServerlessCacheArrayOutput struct{ *pulumi.OutputState }

func (ServerlessCacheArrayOutput) ElementType added in v6.18.2

func (ServerlessCacheArrayOutput) ElementType() reflect.Type

func (ServerlessCacheArrayOutput) Index added in v6.18.2

func (ServerlessCacheArrayOutput) ToServerlessCacheArrayOutput added in v6.18.2

func (o ServerlessCacheArrayOutput) ToServerlessCacheArrayOutput() ServerlessCacheArrayOutput

func (ServerlessCacheArrayOutput) ToServerlessCacheArrayOutputWithContext added in v6.18.2

func (o ServerlessCacheArrayOutput) ToServerlessCacheArrayOutputWithContext(ctx context.Context) ServerlessCacheArrayOutput

type ServerlessCacheCacheUsageLimits added in v6.18.2

type ServerlessCacheCacheUsageLimits struct {
	// The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details.
	DataStorage *ServerlessCacheCacheUsageLimitsDataStorage `pulumi:"dataStorage"`
	// The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.See config block for more details.
	EcpuPerSeconds []ServerlessCacheCacheUsageLimitsEcpuPerSecond `pulumi:"ecpuPerSeconds"`
}

type ServerlessCacheCacheUsageLimitsArgs added in v6.18.2

type ServerlessCacheCacheUsageLimitsArgs struct {
	// The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details.
	DataStorage ServerlessCacheCacheUsageLimitsDataStoragePtrInput `pulumi:"dataStorage"`
	// The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.See config block for more details.
	EcpuPerSeconds ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayInput `pulumi:"ecpuPerSeconds"`
}

func (ServerlessCacheCacheUsageLimitsArgs) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsOutput added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsOutput() ServerlessCacheCacheUsageLimitsOutput

func (ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsOutputWithContext added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsOutput

func (ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsPtrOutput added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsPtrOutput() ServerlessCacheCacheUsageLimitsPtrOutput

func (ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsPtrOutputWithContext added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsArgs) ToServerlessCacheCacheUsageLimitsPtrOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsPtrOutput

type ServerlessCacheCacheUsageLimitsDataStorage added in v6.18.2

type ServerlessCacheCacheUsageLimitsDataStorage struct {
	// The upper limit for data storage the cache is set to use. Set as Integer.
	Maximum int `pulumi:"maximum"`
	// The unit that the storage is measured in, in GB.
	Unit string `pulumi:"unit"`
}

type ServerlessCacheCacheUsageLimitsDataStorageArgs added in v6.18.2

type ServerlessCacheCacheUsageLimitsDataStorageArgs struct {
	// The upper limit for data storage the cache is set to use. Set as Integer.
	Maximum pulumi.IntInput `pulumi:"maximum"`
	// The unit that the storage is measured in, in GB.
	Unit pulumi.StringInput `pulumi:"unit"`
}

func (ServerlessCacheCacheUsageLimitsDataStorageArgs) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStorageOutput added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStorageOutput() ServerlessCacheCacheUsageLimitsDataStorageOutput

func (ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStorageOutputWithContext added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStorageOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsDataStorageOutput

func (ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput() ServerlessCacheCacheUsageLimitsDataStoragePtrOutput

func (ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsDataStorageArgs) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsDataStoragePtrOutput

type ServerlessCacheCacheUsageLimitsDataStorageInput added in v6.18.2

type ServerlessCacheCacheUsageLimitsDataStorageInput interface {
	pulumi.Input

	ToServerlessCacheCacheUsageLimitsDataStorageOutput() ServerlessCacheCacheUsageLimitsDataStorageOutput
	ToServerlessCacheCacheUsageLimitsDataStorageOutputWithContext(context.Context) ServerlessCacheCacheUsageLimitsDataStorageOutput
}

ServerlessCacheCacheUsageLimitsDataStorageInput is an input type that accepts ServerlessCacheCacheUsageLimitsDataStorageArgs and ServerlessCacheCacheUsageLimitsDataStorageOutput values. You can construct a concrete instance of `ServerlessCacheCacheUsageLimitsDataStorageInput` via:

ServerlessCacheCacheUsageLimitsDataStorageArgs{...}

type ServerlessCacheCacheUsageLimitsDataStorageOutput added in v6.18.2

type ServerlessCacheCacheUsageLimitsDataStorageOutput struct{ *pulumi.OutputState }

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) Maximum added in v6.18.2

The upper limit for data storage the cache is set to use. Set as Integer.

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStorageOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStorageOutput() ServerlessCacheCacheUsageLimitsDataStorageOutput

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStorageOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStorageOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsDataStorageOutput

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput() ServerlessCacheCacheUsageLimitsDataStoragePtrOutput

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsDataStorageOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsDataStoragePtrOutput

func (ServerlessCacheCacheUsageLimitsDataStorageOutput) Unit added in v6.18.2

The unit that the storage is measured in, in GB.

type ServerlessCacheCacheUsageLimitsDataStoragePtrInput added in v6.18.2

type ServerlessCacheCacheUsageLimitsDataStoragePtrInput interface {
	pulumi.Input

	ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput() ServerlessCacheCacheUsageLimitsDataStoragePtrOutput
	ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext(context.Context) ServerlessCacheCacheUsageLimitsDataStoragePtrOutput
}

ServerlessCacheCacheUsageLimitsDataStoragePtrInput is an input type that accepts ServerlessCacheCacheUsageLimitsDataStorageArgs, ServerlessCacheCacheUsageLimitsDataStoragePtr and ServerlessCacheCacheUsageLimitsDataStoragePtrOutput values. You can construct a concrete instance of `ServerlessCacheCacheUsageLimitsDataStoragePtrInput` via:

        ServerlessCacheCacheUsageLimitsDataStorageArgs{...}

or:

        nil

type ServerlessCacheCacheUsageLimitsDataStoragePtrOutput added in v6.18.2

type ServerlessCacheCacheUsageLimitsDataStoragePtrOutput struct{ *pulumi.OutputState }

func (ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) Elem added in v6.18.2

func (ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) Maximum added in v6.18.2

The upper limit for data storage the cache is set to use. Set as Integer.

func (ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutput() ServerlessCacheCacheUsageLimitsDataStoragePtrOutput

func (ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) ToServerlessCacheCacheUsageLimitsDataStoragePtrOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsDataStoragePtrOutput

func (ServerlessCacheCacheUsageLimitsDataStoragePtrOutput) Unit added in v6.18.2

The unit that the storage is measured in, in GB.

type ServerlessCacheCacheUsageLimitsEcpuPerSecond added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecond struct {
	// The upper limit for data storage the cache is set to use. Set as Integer.
	Maximum int `pulumi:"maximum"`
}

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs struct {
	// The upper limit for data storage the cache is set to use. Set as Integer.
	Maximum pulumi.IntInput `pulumi:"maximum"`
}

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutput added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutput() ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutputWithContext added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArray added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArray []ServerlessCacheCacheUsageLimitsEcpuPerSecondInput

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArray) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArray) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsEcpuPerSecondArray) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput() ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArray) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutputWithContext added in v6.18.2

func (i ServerlessCacheCacheUsageLimitsEcpuPerSecondArray) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayInput added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayInput interface {
	pulumi.Input

	ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput() ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput
	ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutputWithContext(context.Context) ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput
}

ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayInput is an input type that accepts ServerlessCacheCacheUsageLimitsEcpuPerSecondArray and ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput values. You can construct a concrete instance of `ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayInput` via:

ServerlessCacheCacheUsageLimitsEcpuPerSecondArray{ ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{...} }

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput struct{ *pulumi.OutputState }

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput) Index added in v6.18.2

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput added in v6.18.2

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsEcpuPerSecondArrayOutput

type ServerlessCacheCacheUsageLimitsEcpuPerSecondInput added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecondInput interface {
	pulumi.Input

	ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutput() ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput
	ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutputWithContext(context.Context) ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput
}

ServerlessCacheCacheUsageLimitsEcpuPerSecondInput is an input type that accepts ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs and ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput values. You can construct a concrete instance of `ServerlessCacheCacheUsageLimitsEcpuPerSecondInput` via:

ServerlessCacheCacheUsageLimitsEcpuPerSecondArgs{...}

type ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput added in v6.18.2

type ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput struct{ *pulumi.OutputState }

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput) Maximum added in v6.18.2

The upper limit for data storage the cache is set to use. Set as Integer.

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutput() ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput

func (ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput) ToServerlessCacheCacheUsageLimitsEcpuPerSecondOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsEcpuPerSecondOutput

type ServerlessCacheCacheUsageLimitsInput added in v6.18.2

type ServerlessCacheCacheUsageLimitsInput interface {
	pulumi.Input

	ToServerlessCacheCacheUsageLimitsOutput() ServerlessCacheCacheUsageLimitsOutput
	ToServerlessCacheCacheUsageLimitsOutputWithContext(context.Context) ServerlessCacheCacheUsageLimitsOutput
}

ServerlessCacheCacheUsageLimitsInput is an input type that accepts ServerlessCacheCacheUsageLimitsArgs and ServerlessCacheCacheUsageLimitsOutput values. You can construct a concrete instance of `ServerlessCacheCacheUsageLimitsInput` via:

ServerlessCacheCacheUsageLimitsArgs{...}

type ServerlessCacheCacheUsageLimitsOutput added in v6.18.2

type ServerlessCacheCacheUsageLimitsOutput struct{ *pulumi.OutputState }

func (ServerlessCacheCacheUsageLimitsOutput) DataStorage added in v6.18.2

The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details.

func (ServerlessCacheCacheUsageLimitsOutput) EcpuPerSeconds added in v6.18.2

The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.See config block for more details.

func (ServerlessCacheCacheUsageLimitsOutput) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsOutput() ServerlessCacheCacheUsageLimitsOutput

func (ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsOutput

func (ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsPtrOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsPtrOutput() ServerlessCacheCacheUsageLimitsPtrOutput

func (ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsPtrOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsOutput) ToServerlessCacheCacheUsageLimitsPtrOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsPtrOutput

type ServerlessCacheCacheUsageLimitsPtrInput added in v6.18.2

type ServerlessCacheCacheUsageLimitsPtrInput interface {
	pulumi.Input

	ToServerlessCacheCacheUsageLimitsPtrOutput() ServerlessCacheCacheUsageLimitsPtrOutput
	ToServerlessCacheCacheUsageLimitsPtrOutputWithContext(context.Context) ServerlessCacheCacheUsageLimitsPtrOutput
}

ServerlessCacheCacheUsageLimitsPtrInput is an input type that accepts ServerlessCacheCacheUsageLimitsArgs, ServerlessCacheCacheUsageLimitsPtr and ServerlessCacheCacheUsageLimitsPtrOutput values. You can construct a concrete instance of `ServerlessCacheCacheUsageLimitsPtrInput` via:

        ServerlessCacheCacheUsageLimitsArgs{...}

or:

        nil

type ServerlessCacheCacheUsageLimitsPtrOutput added in v6.18.2

type ServerlessCacheCacheUsageLimitsPtrOutput struct{ *pulumi.OutputState }

func (ServerlessCacheCacheUsageLimitsPtrOutput) DataStorage added in v6.18.2

The maximum data storage limit in the cache, expressed in Gigabytes. See Data Storage config for more details.

func (ServerlessCacheCacheUsageLimitsPtrOutput) EcpuPerSeconds added in v6.18.2

The configuration for the number of ElastiCache Processing Units (ECPU) the cache can consume per second.See config block for more details.

func (ServerlessCacheCacheUsageLimitsPtrOutput) Elem added in v6.18.2

func (ServerlessCacheCacheUsageLimitsPtrOutput) ElementType added in v6.18.2

func (ServerlessCacheCacheUsageLimitsPtrOutput) ToServerlessCacheCacheUsageLimitsPtrOutput added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsPtrOutput) ToServerlessCacheCacheUsageLimitsPtrOutput() ServerlessCacheCacheUsageLimitsPtrOutput

func (ServerlessCacheCacheUsageLimitsPtrOutput) ToServerlessCacheCacheUsageLimitsPtrOutputWithContext added in v6.18.2

func (o ServerlessCacheCacheUsageLimitsPtrOutput) ToServerlessCacheCacheUsageLimitsPtrOutputWithContext(ctx context.Context) ServerlessCacheCacheUsageLimitsPtrOutput

type ServerlessCacheEndpoint added in v6.21.0

type ServerlessCacheEndpoint struct {
	// The DNS hostname of the cache node.
	Address string `pulumi:"address"`
	// The port number that the cache engine is listening on. Set as integer.
	Port int `pulumi:"port"`
}

type ServerlessCacheEndpointArgs added in v6.21.0

type ServerlessCacheEndpointArgs struct {
	// The DNS hostname of the cache node.
	Address pulumi.StringInput `pulumi:"address"`
	// The port number that the cache engine is listening on. Set as integer.
	Port pulumi.IntInput `pulumi:"port"`
}

func (ServerlessCacheEndpointArgs) ElementType added in v6.21.0

func (ServerlessCacheEndpointArgs) ToServerlessCacheEndpointOutput added in v6.21.0

func (i ServerlessCacheEndpointArgs) ToServerlessCacheEndpointOutput() ServerlessCacheEndpointOutput

func (ServerlessCacheEndpointArgs) ToServerlessCacheEndpointOutputWithContext added in v6.21.0

func (i ServerlessCacheEndpointArgs) ToServerlessCacheEndpointOutputWithContext(ctx context.Context) ServerlessCacheEndpointOutput

type ServerlessCacheEndpointArray added in v6.21.0

type ServerlessCacheEndpointArray []ServerlessCacheEndpointInput

func (ServerlessCacheEndpointArray) ElementType added in v6.21.0

func (ServerlessCacheEndpointArray) ToServerlessCacheEndpointArrayOutput added in v6.21.0

func (i ServerlessCacheEndpointArray) ToServerlessCacheEndpointArrayOutput() ServerlessCacheEndpointArrayOutput

func (ServerlessCacheEndpointArray) ToServerlessCacheEndpointArrayOutputWithContext added in v6.21.0

func (i ServerlessCacheEndpointArray) ToServerlessCacheEndpointArrayOutputWithContext(ctx context.Context) ServerlessCacheEndpointArrayOutput

type ServerlessCacheEndpointArrayInput added in v6.21.0

type ServerlessCacheEndpointArrayInput interface {
	pulumi.Input

	ToServerlessCacheEndpointArrayOutput() ServerlessCacheEndpointArrayOutput
	ToServerlessCacheEndpointArrayOutputWithContext(context.Context) ServerlessCacheEndpointArrayOutput
}

ServerlessCacheEndpointArrayInput is an input type that accepts ServerlessCacheEndpointArray and ServerlessCacheEndpointArrayOutput values. You can construct a concrete instance of `ServerlessCacheEndpointArrayInput` via:

ServerlessCacheEndpointArray{ ServerlessCacheEndpointArgs{...} }

type ServerlessCacheEndpointArrayOutput added in v6.21.0

type ServerlessCacheEndpointArrayOutput struct{ *pulumi.OutputState }

func (ServerlessCacheEndpointArrayOutput) ElementType added in v6.21.0

func (ServerlessCacheEndpointArrayOutput) Index added in v6.21.0

func (ServerlessCacheEndpointArrayOutput) ToServerlessCacheEndpointArrayOutput added in v6.21.0

func (o ServerlessCacheEndpointArrayOutput) ToServerlessCacheEndpointArrayOutput() ServerlessCacheEndpointArrayOutput

func (ServerlessCacheEndpointArrayOutput) ToServerlessCacheEndpointArrayOutputWithContext added in v6.21.0

func (o ServerlessCacheEndpointArrayOutput) ToServerlessCacheEndpointArrayOutputWithContext(ctx context.Context) ServerlessCacheEndpointArrayOutput

type ServerlessCacheEndpointInput added in v6.21.0

type ServerlessCacheEndpointInput interface {
	pulumi.Input

	ToServerlessCacheEndpointOutput() ServerlessCacheEndpointOutput
	ToServerlessCacheEndpointOutputWithContext(context.Context) ServerlessCacheEndpointOutput
}

ServerlessCacheEndpointInput is an input type that accepts ServerlessCacheEndpointArgs and ServerlessCacheEndpointOutput values. You can construct a concrete instance of `ServerlessCacheEndpointInput` via:

ServerlessCacheEndpointArgs{...}

type ServerlessCacheEndpointOutput added in v6.21.0

type ServerlessCacheEndpointOutput struct{ *pulumi.OutputState }

func (ServerlessCacheEndpointOutput) Address added in v6.21.0

The DNS hostname of the cache node.

func (ServerlessCacheEndpointOutput) ElementType added in v6.21.0

func (ServerlessCacheEndpointOutput) Port added in v6.21.0

The port number that the cache engine is listening on. Set as integer.

func (ServerlessCacheEndpointOutput) ToServerlessCacheEndpointOutput added in v6.21.0

func (o ServerlessCacheEndpointOutput) ToServerlessCacheEndpointOutput() ServerlessCacheEndpointOutput

func (ServerlessCacheEndpointOutput) ToServerlessCacheEndpointOutputWithContext added in v6.21.0

func (o ServerlessCacheEndpointOutput) ToServerlessCacheEndpointOutputWithContext(ctx context.Context) ServerlessCacheEndpointOutput

type ServerlessCacheInput added in v6.18.2

type ServerlessCacheInput interface {
	pulumi.Input

	ToServerlessCacheOutput() ServerlessCacheOutput
	ToServerlessCacheOutputWithContext(ctx context.Context) ServerlessCacheOutput
}

type ServerlessCacheMap added in v6.18.2

type ServerlessCacheMap map[string]ServerlessCacheInput

func (ServerlessCacheMap) ElementType added in v6.18.2

func (ServerlessCacheMap) ElementType() reflect.Type

func (ServerlessCacheMap) ToServerlessCacheMapOutput added in v6.18.2

func (i ServerlessCacheMap) ToServerlessCacheMapOutput() ServerlessCacheMapOutput

func (ServerlessCacheMap) ToServerlessCacheMapOutputWithContext added in v6.18.2

func (i ServerlessCacheMap) ToServerlessCacheMapOutputWithContext(ctx context.Context) ServerlessCacheMapOutput

type ServerlessCacheMapInput added in v6.18.2

type ServerlessCacheMapInput interface {
	pulumi.Input

	ToServerlessCacheMapOutput() ServerlessCacheMapOutput
	ToServerlessCacheMapOutputWithContext(context.Context) ServerlessCacheMapOutput
}

ServerlessCacheMapInput is an input type that accepts ServerlessCacheMap and ServerlessCacheMapOutput values. You can construct a concrete instance of `ServerlessCacheMapInput` via:

ServerlessCacheMap{ "key": ServerlessCacheArgs{...} }

type ServerlessCacheMapOutput added in v6.18.2

type ServerlessCacheMapOutput struct{ *pulumi.OutputState }

func (ServerlessCacheMapOutput) ElementType added in v6.18.2

func (ServerlessCacheMapOutput) ElementType() reflect.Type

func (ServerlessCacheMapOutput) MapIndex added in v6.18.2

func (ServerlessCacheMapOutput) ToServerlessCacheMapOutput added in v6.18.2

func (o ServerlessCacheMapOutput) ToServerlessCacheMapOutput() ServerlessCacheMapOutput

func (ServerlessCacheMapOutput) ToServerlessCacheMapOutputWithContext added in v6.18.2

func (o ServerlessCacheMapOutput) ToServerlessCacheMapOutputWithContext(ctx context.Context) ServerlessCacheMapOutput

type ServerlessCacheOutput added in v6.18.2

type ServerlessCacheOutput struct{ *pulumi.OutputState }

func (ServerlessCacheOutput) Arn added in v6.18.2

The Amazon Resource Name (ARN) of the serverless cache.

func (ServerlessCacheOutput) CacheUsageLimits added in v6.18.2

Sets the cache usage limits for storage and ElastiCache Processing Units for the cache. See configuration below.

func (ServerlessCacheOutput) CreateTime added in v6.18.2

func (o ServerlessCacheOutput) CreateTime() pulumi.StringOutput

Timestamp of when the serverless cache was created.

func (ServerlessCacheOutput) DailySnapshotTime added in v6.18.2

func (o ServerlessCacheOutput) DailySnapshotTime() pulumi.StringOutput

The daily time that snapshots will be created from the new serverless cache. Only supported for engine type `"redis"`. Defaults to `0`.

func (ServerlessCacheOutput) Description added in v6.18.2

func (o ServerlessCacheOutput) Description() pulumi.StringOutput

User-provided description for the serverless cache. The default is NULL.

func (ServerlessCacheOutput) ElementType added in v6.18.2

func (ServerlessCacheOutput) ElementType() reflect.Type

func (ServerlessCacheOutput) Endpoints added in v6.18.2

Represents the information required for client programs to connect to a cache node. See config below for details.

func (ServerlessCacheOutput) Engine added in v6.18.2

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

func (ServerlessCacheOutput) FullEngineVersion added in v6.18.2

func (o ServerlessCacheOutput) FullEngineVersion() pulumi.StringOutput

The name and version number of the engine the serverless cache is compatible with.

func (ServerlessCacheOutput) KmsKeyId added in v6.18.2

ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.

func (ServerlessCacheOutput) MajorEngineVersion added in v6.18.2

func (o ServerlessCacheOutput) MajorEngineVersion() pulumi.StringOutput

The version of the cache engine that will be used to create the serverless cache. 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.

func (ServerlessCacheOutput) Name added in v6.18.2

The Cluster name which serves as a unique identifier to the serverless cache

The following arguments are optional:

func (ServerlessCacheOutput) ReaderEndpoints added in v6.18.2

Represents the information required for client programs to connect to a cache node. See config below for details.

func (ServerlessCacheOutput) SecurityGroupIds added in v6.18.2

func (o ServerlessCacheOutput) SecurityGroupIds() pulumi.StringArrayOutput

A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.

func (ServerlessCacheOutput) SnapshotArnsToRestores added in v6.18.2

func (o ServerlessCacheOutput) SnapshotArnsToRestores() pulumi.StringArrayOutput

The list of ARN(s) of the snapshot that the new serverless cache will be created from. Available for Redis only.

func (ServerlessCacheOutput) SnapshotRetentionLimit added in v6.18.2

func (o ServerlessCacheOutput) SnapshotRetentionLimit() pulumi.IntOutput

The number of snapshots that will be retained for the serverless cache that is being created. As new snapshots beyond this limit are added, the oldest snapshots will be deleted on a rolling basis. Available for Redis only.

func (ServerlessCacheOutput) Status added in v6.18.2

The current status of the serverless cache. The allowed values are CREATING, AVAILABLE, DELETING, CREATE-FAILED and MODIFYING.

func (ServerlessCacheOutput) SubnetIds added in v6.18.2

A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.

func (ServerlessCacheOutput) Tags added in v6.18.2

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 (ServerlessCacheOutput) TagsAll deprecated added in v6.18.2

Deprecated: Please use `tags` instead.

func (ServerlessCacheOutput) Timeouts added in v6.18.2

func (ServerlessCacheOutput) ToServerlessCacheOutput added in v6.18.2

func (o ServerlessCacheOutput) ToServerlessCacheOutput() ServerlessCacheOutput

func (ServerlessCacheOutput) ToServerlessCacheOutputWithContext added in v6.18.2

func (o ServerlessCacheOutput) ToServerlessCacheOutputWithContext(ctx context.Context) ServerlessCacheOutput

func (ServerlessCacheOutput) UserGroupId added in v6.18.2

The identifier of the UserGroup to be associated with the serverless cache. Available for Redis only. Default is NULL.

type ServerlessCacheReaderEndpoint added in v6.21.0

type ServerlessCacheReaderEndpoint struct {
	// The DNS hostname of the cache node.
	Address string `pulumi:"address"`
	// The port number that the cache engine is listening on. Set as integer.
	Port int `pulumi:"port"`
}

type ServerlessCacheReaderEndpointArgs added in v6.21.0

type ServerlessCacheReaderEndpointArgs struct {
	// The DNS hostname of the cache node.
	Address pulumi.StringInput `pulumi:"address"`
	// The port number that the cache engine is listening on. Set as integer.
	Port pulumi.IntInput `pulumi:"port"`
}

func (ServerlessCacheReaderEndpointArgs) ElementType added in v6.21.0

func (ServerlessCacheReaderEndpointArgs) ToServerlessCacheReaderEndpointOutput added in v6.21.0

func (i ServerlessCacheReaderEndpointArgs) ToServerlessCacheReaderEndpointOutput() ServerlessCacheReaderEndpointOutput

func (ServerlessCacheReaderEndpointArgs) ToServerlessCacheReaderEndpointOutputWithContext added in v6.21.0

func (i ServerlessCacheReaderEndpointArgs) ToServerlessCacheReaderEndpointOutputWithContext(ctx context.Context) ServerlessCacheReaderEndpointOutput

type ServerlessCacheReaderEndpointArray added in v6.21.0

type ServerlessCacheReaderEndpointArray []ServerlessCacheReaderEndpointInput

func (ServerlessCacheReaderEndpointArray) ElementType added in v6.21.0

func (ServerlessCacheReaderEndpointArray) ToServerlessCacheReaderEndpointArrayOutput added in v6.21.0

func (i ServerlessCacheReaderEndpointArray) ToServerlessCacheReaderEndpointArrayOutput() ServerlessCacheReaderEndpointArrayOutput

func (ServerlessCacheReaderEndpointArray) ToServerlessCacheReaderEndpointArrayOutputWithContext added in v6.21.0

func (i ServerlessCacheReaderEndpointArray) ToServerlessCacheReaderEndpointArrayOutputWithContext(ctx context.Context) ServerlessCacheReaderEndpointArrayOutput

type ServerlessCacheReaderEndpointArrayInput added in v6.21.0

type ServerlessCacheReaderEndpointArrayInput interface {
	pulumi.Input

	ToServerlessCacheReaderEndpointArrayOutput() ServerlessCacheReaderEndpointArrayOutput
	ToServerlessCacheReaderEndpointArrayOutputWithContext(context.Context) ServerlessCacheReaderEndpointArrayOutput
}

ServerlessCacheReaderEndpointArrayInput is an input type that accepts ServerlessCacheReaderEndpointArray and ServerlessCacheReaderEndpointArrayOutput values. You can construct a concrete instance of `ServerlessCacheReaderEndpointArrayInput` via:

ServerlessCacheReaderEndpointArray{ ServerlessCacheReaderEndpointArgs{...} }

type ServerlessCacheReaderEndpointArrayOutput added in v6.21.0

type ServerlessCacheReaderEndpointArrayOutput struct{ *pulumi.OutputState }

func (ServerlessCacheReaderEndpointArrayOutput) ElementType added in v6.21.0

func (ServerlessCacheReaderEndpointArrayOutput) Index added in v6.21.0

func (ServerlessCacheReaderEndpointArrayOutput) ToServerlessCacheReaderEndpointArrayOutput added in v6.21.0

func (o ServerlessCacheReaderEndpointArrayOutput) ToServerlessCacheReaderEndpointArrayOutput() ServerlessCacheReaderEndpointArrayOutput

func (ServerlessCacheReaderEndpointArrayOutput) ToServerlessCacheReaderEndpointArrayOutputWithContext added in v6.21.0

func (o ServerlessCacheReaderEndpointArrayOutput) ToServerlessCacheReaderEndpointArrayOutputWithContext(ctx context.Context) ServerlessCacheReaderEndpointArrayOutput

type ServerlessCacheReaderEndpointInput added in v6.21.0

type ServerlessCacheReaderEndpointInput interface {
	pulumi.Input

	ToServerlessCacheReaderEndpointOutput() ServerlessCacheReaderEndpointOutput
	ToServerlessCacheReaderEndpointOutputWithContext(context.Context) ServerlessCacheReaderEndpointOutput
}

ServerlessCacheReaderEndpointInput is an input type that accepts ServerlessCacheReaderEndpointArgs and ServerlessCacheReaderEndpointOutput values. You can construct a concrete instance of `ServerlessCacheReaderEndpointInput` via:

ServerlessCacheReaderEndpointArgs{...}

type ServerlessCacheReaderEndpointOutput added in v6.21.0

type ServerlessCacheReaderEndpointOutput struct{ *pulumi.OutputState }

func (ServerlessCacheReaderEndpointOutput) Address added in v6.21.0

The DNS hostname of the cache node.

func (ServerlessCacheReaderEndpointOutput) ElementType added in v6.21.0

func (ServerlessCacheReaderEndpointOutput) Port added in v6.21.0

The port number that the cache engine is listening on. Set as integer.

func (ServerlessCacheReaderEndpointOutput) ToServerlessCacheReaderEndpointOutput added in v6.21.0

func (o ServerlessCacheReaderEndpointOutput) ToServerlessCacheReaderEndpointOutput() ServerlessCacheReaderEndpointOutput

func (ServerlessCacheReaderEndpointOutput) ToServerlessCacheReaderEndpointOutputWithContext added in v6.21.0

func (o ServerlessCacheReaderEndpointOutput) ToServerlessCacheReaderEndpointOutputWithContext(ctx context.Context) ServerlessCacheReaderEndpointOutput

type ServerlessCacheState added in v6.18.2

type ServerlessCacheState struct {
	// The Amazon Resource Name (ARN) of the serverless cache.
	Arn pulumi.StringPtrInput
	// Sets the cache usage limits for storage and ElastiCache Processing Units for the cache. See configuration below.
	CacheUsageLimits ServerlessCacheCacheUsageLimitsPtrInput
	// Timestamp of when the serverless cache was created.
	CreateTime pulumi.StringPtrInput
	// The daily time that snapshots will be created from the new serverless cache. Only supported for engine type `"redis"`. Defaults to `0`.
	DailySnapshotTime pulumi.StringPtrInput
	// User-provided description for the serverless cache. The default is NULL.
	Description pulumi.StringPtrInput
	// Represents the information required for client programs to connect to a cache node. See config below for details.
	Endpoints ServerlessCacheEndpointArrayInput
	// Name of the cache engine to be used for this cache cluster. Valid values are `memcached` or `redis`.
	Engine pulumi.StringPtrInput
	// The name and version number of the engine the serverless cache is compatible with.
	FullEngineVersion pulumi.StringPtrInput
	// ARN of the customer managed key for encrypting the data at rest. If no KMS key is provided, a default service key is used.
	KmsKeyId pulumi.StringPtrInput
	// The version of the cache engine that will be used to create the serverless cache.
	// 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.
	MajorEngineVersion pulumi.StringPtrInput
	// The Cluster name which serves as a unique identifier to the serverless cache
	//
	// The following arguments are optional:
	Name pulumi.StringPtrInput
	// Represents the information required for client programs to connect to a cache node. See config below for details.
	ReaderEndpoints ServerlessCacheReaderEndpointArrayInput
	// A list of the one or more VPC security groups to be associated with the serverless cache. The security group will authorize traffic access for the VPC end-point (private-link). If no other information is given this will be the VPC’s Default Security Group that is associated with the cluster VPC end-point.
	SecurityGroupIds pulumi.StringArrayInput
	// The list of ARN(s) of the snapshot that the new serverless cache will be created from. Available for Redis only.
	SnapshotArnsToRestores pulumi.StringArrayInput
	// The number of snapshots that will be retained for the serverless cache that is being created. As new snapshots beyond this limit are added, the oldest snapshots will be deleted on a rolling basis. Available for Redis only.
	SnapshotRetentionLimit pulumi.IntPtrInput
	// The current status of the serverless cache. The allowed values are CREATING, AVAILABLE, DELETING, CREATE-FAILED and MODIFYING.
	Status pulumi.StringPtrInput
	// A list of the identifiers of the subnets where the VPC endpoint for the serverless cache will be deployed. All the subnetIds must belong to the same VPC.
	SubnetIds pulumi.StringArrayInput
	// 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
	// Deprecated: Please use `tags` instead.
	TagsAll  pulumi.StringMapInput
	Timeouts ServerlessCacheTimeoutsPtrInput
	// The identifier of the UserGroup to be associated with the serverless cache. Available for Redis only. Default is NULL.
	UserGroupId pulumi.StringPtrInput
}

func (ServerlessCacheState) ElementType added in v6.18.2

func (ServerlessCacheState) ElementType() reflect.Type

type ServerlessCacheTimeouts added in v6.18.2

type ServerlessCacheTimeouts struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create *string `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete *string `pulumi:"delete"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update *string `pulumi:"update"`
}

type ServerlessCacheTimeoutsArgs added in v6.18.2

type ServerlessCacheTimeoutsArgs struct {
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Create pulumi.StringPtrInput `pulumi:"create"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
	Delete pulumi.StringPtrInput `pulumi:"delete"`
	// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
	Update pulumi.StringPtrInput `pulumi:"update"`
}

func (ServerlessCacheTimeoutsArgs) ElementType added in v6.18.2

func (ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsOutput added in v6.18.2

func (i ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsOutput() ServerlessCacheTimeoutsOutput

func (ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsOutputWithContext added in v6.18.2

func (i ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsOutputWithContext(ctx context.Context) ServerlessCacheTimeoutsOutput

func (ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsPtrOutput added in v6.18.2

func (i ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsPtrOutput() ServerlessCacheTimeoutsPtrOutput

func (ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsPtrOutputWithContext added in v6.18.2

func (i ServerlessCacheTimeoutsArgs) ToServerlessCacheTimeoutsPtrOutputWithContext(ctx context.Context) ServerlessCacheTimeoutsPtrOutput

type ServerlessCacheTimeoutsInput added in v6.18.2

type ServerlessCacheTimeoutsInput interface {
	pulumi.Input

	ToServerlessCacheTimeoutsOutput() ServerlessCacheTimeoutsOutput
	ToServerlessCacheTimeoutsOutputWithContext(context.Context) ServerlessCacheTimeoutsOutput
}

ServerlessCacheTimeoutsInput is an input type that accepts ServerlessCacheTimeoutsArgs and ServerlessCacheTimeoutsOutput values. You can construct a concrete instance of `ServerlessCacheTimeoutsInput` via:

ServerlessCacheTimeoutsArgs{...}

type ServerlessCacheTimeoutsOutput added in v6.18.2

type ServerlessCacheTimeoutsOutput struct{ *pulumi.OutputState }

func (ServerlessCacheTimeoutsOutput) Create added in v6.18.2

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (ServerlessCacheTimeoutsOutput) Delete added in v6.18.2

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (ServerlessCacheTimeoutsOutput) ElementType added in v6.18.2

func (ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsOutput added in v6.18.2

func (o ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsOutput() ServerlessCacheTimeoutsOutput

func (ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsOutputWithContext added in v6.18.2

func (o ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsOutputWithContext(ctx context.Context) ServerlessCacheTimeoutsOutput

func (ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsPtrOutput added in v6.18.2

func (o ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsPtrOutput() ServerlessCacheTimeoutsPtrOutput

func (ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsPtrOutputWithContext added in v6.18.2

func (o ServerlessCacheTimeoutsOutput) ToServerlessCacheTimeoutsPtrOutputWithContext(ctx context.Context) ServerlessCacheTimeoutsPtrOutput

func (ServerlessCacheTimeoutsOutput) Update added in v6.18.2

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

type ServerlessCacheTimeoutsPtrInput added in v6.18.2

type ServerlessCacheTimeoutsPtrInput interface {
	pulumi.Input

	ToServerlessCacheTimeoutsPtrOutput() ServerlessCacheTimeoutsPtrOutput
	ToServerlessCacheTimeoutsPtrOutputWithContext(context.Context) ServerlessCacheTimeoutsPtrOutput
}

ServerlessCacheTimeoutsPtrInput is an input type that accepts ServerlessCacheTimeoutsArgs, ServerlessCacheTimeoutsPtr and ServerlessCacheTimeoutsPtrOutput values. You can construct a concrete instance of `ServerlessCacheTimeoutsPtrInput` via:

        ServerlessCacheTimeoutsArgs{...}

or:

        nil

func ServerlessCacheTimeoutsPtr added in v6.18.2

func ServerlessCacheTimeoutsPtr(v *ServerlessCacheTimeoutsArgs) ServerlessCacheTimeoutsPtrInput

type ServerlessCacheTimeoutsPtrOutput added in v6.18.2

type ServerlessCacheTimeoutsPtrOutput struct{ *pulumi.OutputState }

func (ServerlessCacheTimeoutsPtrOutput) Create added in v6.18.2

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

func (ServerlessCacheTimeoutsPtrOutput) Delete added in v6.18.2

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

func (ServerlessCacheTimeoutsPtrOutput) Elem added in v6.18.2

func (ServerlessCacheTimeoutsPtrOutput) ElementType added in v6.18.2

func (ServerlessCacheTimeoutsPtrOutput) ToServerlessCacheTimeoutsPtrOutput added in v6.18.2

func (o ServerlessCacheTimeoutsPtrOutput) ToServerlessCacheTimeoutsPtrOutput() ServerlessCacheTimeoutsPtrOutput

func (ServerlessCacheTimeoutsPtrOutput) ToServerlessCacheTimeoutsPtrOutputWithContext added in v6.18.2

func (o ServerlessCacheTimeoutsPtrOutput) ToServerlessCacheTimeoutsPtrOutputWithContext(ctx context.Context) ServerlessCacheTimeoutsPtrOutput

func (ServerlessCacheTimeoutsPtrOutput) Update added in v6.18.2

A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

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.
	//
	// Deprecated: Please use `tags` instead.
	TagsAll pulumi.StringMapOutput `pulumi:"tagsAll"`
}

Provides an ElastiCache Subnet Group resource.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi-aws/sdk/v6/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

Using `pulumi import`, import ElastiCache Subnet Groups using the `name`. For example:

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

func (SubnetGroupOutput) Description

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

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

func (SubnetGroupOutput) SubnetIds

List of VPC Subnet IDs for the cache subnet group

func (SubnetGroupOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

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.
	//
	// Deprecated: Please use `tags` instead.
	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"`
	// Deprecated: Please use `tags` instead.
	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/v6/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/v6/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/v6/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

Using `pulumi import`, import ElastiCache users using the `user_id`. For example:

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

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

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

func (UserAuthenticationModeArgs) ElementType() reflect.Type

func (UserAuthenticationModeArgs) ToUserAuthenticationModeOutput

func (i UserAuthenticationModeArgs) ToUserAuthenticationModeOutput() UserAuthenticationModeOutput

func (UserAuthenticationModeArgs) ToUserAuthenticationModeOutputWithContext

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

func (UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutput

func (i UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput

func (UserAuthenticationModeArgs) ToUserAuthenticationModePtrOutputWithContext

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

type UserAuthenticationModeInput

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

type UserAuthenticationModeOutput struct{ *pulumi.OutputState }

func (UserAuthenticationModeOutput) ElementType

func (UserAuthenticationModeOutput) PasswordCount

func (UserAuthenticationModeOutput) Passwords

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

func (UserAuthenticationModeOutput) ToUserAuthenticationModeOutput

func (o UserAuthenticationModeOutput) ToUserAuthenticationModeOutput() UserAuthenticationModeOutput

func (UserAuthenticationModeOutput) ToUserAuthenticationModeOutputWithContext

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

func (UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutput

func (o UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput

func (UserAuthenticationModeOutput) ToUserAuthenticationModePtrOutputWithContext

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

func (UserAuthenticationModeOutput) Type

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

type UserAuthenticationModePtrInput

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

type UserAuthenticationModePtrOutput

type UserAuthenticationModePtrOutput struct{ *pulumi.OutputState }

func (UserAuthenticationModePtrOutput) Elem

func (UserAuthenticationModePtrOutput) ElementType

func (UserAuthenticationModePtrOutput) PasswordCount

func (UserAuthenticationModePtrOutput) Passwords

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

func (UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutput

func (o UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutput() UserAuthenticationModePtrOutput

func (UserAuthenticationModePtrOutput) ToUserAuthenticationModePtrOutputWithContext

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

func (UserAuthenticationModePtrOutput) Type

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.
	//
	// Deprecated: Please use `tags` instead.
	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/v6/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

Using `pulumi import`, import ElastiCache user groups using the `user_group_id`. For example:

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

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/v6/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

Using `pulumi import`, import ElastiCache user group associations using the `user_group_id` and `user_id`. For example:

```sh

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

```

func GetUserGroupAssociation

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

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

func (*UserGroupAssociation) ElementType() reflect.Type

func (*UserGroupAssociation) ToUserGroupAssociationOutput

func (i *UserGroupAssociation) ToUserGroupAssociationOutput() UserGroupAssociationOutput

func (*UserGroupAssociation) ToUserGroupAssociationOutputWithContext

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

type UserGroupAssociationArgs

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

func (UserGroupAssociationArgs) ElementType() reflect.Type

type UserGroupAssociationArray

type UserGroupAssociationArray []UserGroupAssociationInput

func (UserGroupAssociationArray) ElementType

func (UserGroupAssociationArray) ElementType() reflect.Type

func (UserGroupAssociationArray) ToUserGroupAssociationArrayOutput

func (i UserGroupAssociationArray) ToUserGroupAssociationArrayOutput() UserGroupAssociationArrayOutput

func (UserGroupAssociationArray) ToUserGroupAssociationArrayOutputWithContext

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

type UserGroupAssociationArrayInput

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

type UserGroupAssociationArrayOutput struct{ *pulumi.OutputState }

func (UserGroupAssociationArrayOutput) ElementType

func (UserGroupAssociationArrayOutput) Index

func (UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutput

func (o UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutput() UserGroupAssociationArrayOutput

func (UserGroupAssociationArrayOutput) ToUserGroupAssociationArrayOutputWithContext

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

type UserGroupAssociationInput

type UserGroupAssociationInput interface {
	pulumi.Input

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

type UserGroupAssociationMap

type UserGroupAssociationMap map[string]UserGroupAssociationInput

func (UserGroupAssociationMap) ElementType

func (UserGroupAssociationMap) ElementType() reflect.Type

func (UserGroupAssociationMap) ToUserGroupAssociationMapOutput

func (i UserGroupAssociationMap) ToUserGroupAssociationMapOutput() UserGroupAssociationMapOutput

func (UserGroupAssociationMap) ToUserGroupAssociationMapOutputWithContext

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

type UserGroupAssociationMapInput

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

type UserGroupAssociationMapOutput struct{ *pulumi.OutputState }

func (UserGroupAssociationMapOutput) ElementType

func (UserGroupAssociationMapOutput) MapIndex

func (UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutput

func (o UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutput() UserGroupAssociationMapOutput

func (UserGroupAssociationMapOutput) ToUserGroupAssociationMapOutputWithContext

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

type UserGroupAssociationOutput

type UserGroupAssociationOutput struct{ *pulumi.OutputState }

func (UserGroupAssociationOutput) ElementType

func (UserGroupAssociationOutput) ElementType() reflect.Type

func (UserGroupAssociationOutput) ToUserGroupAssociationOutput

func (o UserGroupAssociationOutput) ToUserGroupAssociationOutput() UserGroupAssociationOutput

func (UserGroupAssociationOutput) ToUserGroupAssociationOutputWithContext

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

func (UserGroupAssociationOutput) UserGroupId

ID of the user group.

func (UserGroupAssociationOutput) UserId

ID of the user to associated with the user group.

type UserGroupAssociationState

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

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

The ARN that identifies the user group.

func (UserGroupOutput) ElementType

func (UserGroupOutput) ElementType() reflect.Type

func (UserGroupOutput) Engine

func (o UserGroupOutput) Engine() pulumi.StringOutput

The current supported value is `REDIS`.

func (UserGroupOutput) Tags

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 deprecated

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

Deprecated: Please use `tags` instead.

func (UserGroupOutput) ToUserGroupOutput

func (o UserGroupOutput) ToUserGroupOutput() UserGroupOutput

func (UserGroupOutput) ToUserGroupOutputWithContext

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

func (UserGroupOutput) UserGroupId

func (o UserGroupOutput) UserGroupId() pulumi.StringOutput

The ID of the user group.

The following arguments are optional:

func (UserGroupOutput) UserIds

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.
	//
	// Deprecated: Please use `tags` instead.
	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

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

func (o UserOutput) Arn() pulumi.StringOutput

The ARN of the created ElastiCache User.

func (UserOutput) AuthenticationMode

func (o UserOutput) AuthenticationMode() UserAuthenticationModeOutput

Denotes the user's authentication properties. Detailed below.

func (UserOutput) ElementType

func (UserOutput) ElementType() reflect.Type

func (UserOutput) Engine

func (o UserOutput) Engine() pulumi.StringOutput

The current supported value is `REDIS`.

func (UserOutput) NoPasswordRequired

func (o UserOutput) NoPasswordRequired() pulumi.BoolPtrOutput

Indicates a password is not required for this user.

func (UserOutput) Passwords

func (o UserOutput) Passwords() pulumi.StringArrayOutput

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

func (UserOutput) Tags

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

func (UserOutput) TagsAll deprecated

func (o UserOutput) TagsAll() pulumi.StringMapOutput

Deprecated: Please use `tags` instead.

func (UserOutput) ToUserOutput

func (o UserOutput) ToUserOutput() UserOutput

func (UserOutput) ToUserOutputWithContext

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

func (UserOutput) UserId

func (o UserOutput) UserId() pulumi.StringOutput

The ID of the user.

func (UserOutput) UserName

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
	// Deprecated: Please use `tags` instead.
	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