elasticache

package
v1.3.1-0...-9abe157 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2016 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package elasticache provides a client for Amazon ElastiCache.

Index

Examples

Constants

View Source
const (
	// @enum AZMode
	AZModeSingleAz = "single-az"
	// @enum AZMode
	AZModeCrossAz = "cross-az"
)
View Source
const (
	// @enum AutomaticFailoverStatus
	AutomaticFailoverStatusEnabled = "enabled"
	// @enum AutomaticFailoverStatus
	AutomaticFailoverStatusDisabled = "disabled"
	// @enum AutomaticFailoverStatus
	AutomaticFailoverStatusEnabling = "enabling"
	// @enum AutomaticFailoverStatus
	AutomaticFailoverStatusDisabling = "disabling"
)
View Source
const (
	// @enum ChangeType
	ChangeTypeImmediate = "immediate"
	// @enum ChangeType
	ChangeTypeRequiresReboot = "requires-reboot"
)
View Source
const (
	// @enum PendingAutomaticFailoverStatus
	PendingAutomaticFailoverStatusEnabled = "enabled"
	// @enum PendingAutomaticFailoverStatus
	PendingAutomaticFailoverStatusDisabled = "disabled"
)
View Source
const (
	// @enum SourceType
	SourceTypeCacheCluster = "cache-cluster"
	// @enum SourceType
	SourceTypeCacheParameterGroup = "cache-parameter-group"
	// @enum SourceType
	SourceTypeCacheSecurityGroup = "cache-security-group"
	// @enum SourceType
	SourceTypeCacheSubnetGroup = "cache-subnet-group"
)
View Source
const ServiceName = "elasticache"

A ServiceName is the name of the service the client will make API calls to.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddTagsToResourceInput

type AddTagsToResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource to which the tags are to be
	// added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
	// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.
	//
	// For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS
	// Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
	ResourceName *string `type:"string" required:"true"`

	// A list of cost allocation tags to be added to this resource. A tag is a key-value
	// pair. A tag key must be accompanied by a tag value.
	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of an AddTagsToResource action.

func (AddTagsToResourceInput) GoString

func (s AddTagsToResourceInput) GoString() string

GoString returns the string representation

func (AddTagsToResourceInput) String

func (s AddTagsToResourceInput) String() string

String returns the string representation

func (*AddTagsToResourceInput) Validate

func (s *AddTagsToResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AuthorizeCacheSecurityGroupIngressInput

type AuthorizeCacheSecurityGroupIngressInput struct {

	// The cache security group which will allow network ingress.
	CacheSecurityGroupName *string `type:"string" required:"true"`

	// The Amazon EC2 security group to be authorized for ingress to the cache security
	// group.
	EC2SecurityGroupName *string `type:"string" required:"true"`

	// The AWS account number of the Amazon EC2 security group owner. Note that
	// this is not the same thing as an AWS access key ID - you must provide a valid
	// AWS account number for this parameter.
	EC2SecurityGroupOwnerId *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of an AuthorizeCacheSecurityGroupIngress action.

func (AuthorizeCacheSecurityGroupIngressInput) GoString

GoString returns the string representation

func (AuthorizeCacheSecurityGroupIngressInput) String

String returns the string representation

func (*AuthorizeCacheSecurityGroupIngressInput) Validate

Validate inspects the fields of the type to determine if they are valid.

type AuthorizeCacheSecurityGroupIngressOutput

type AuthorizeCacheSecurityGroupIngressOutput struct {

	// Represents the output of one of the following actions:
	//
	//    AuthorizeCacheSecurityGroupIngress
	//
	//    CreateCacheSecurityGroup
	//
	//    RevokeCacheSecurityGroupIngress
	CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (AuthorizeCacheSecurityGroupIngressOutput) GoString

GoString returns the string representation

func (AuthorizeCacheSecurityGroupIngressOutput) String

String returns the string representation

type AvailabilityZone

type AvailabilityZone struct {

	// The name of the Availability Zone.
	Name *string `type:"string"`
	// contains filtered or unexported fields
}

Describes an Availability Zone in which the cache cluster is launched.

func (AvailabilityZone) GoString

func (s AvailabilityZone) GoString() string

GoString returns the string representation

func (AvailabilityZone) String

func (s AvailabilityZone) String() string

String returns the string representation

type CacheCluster

type CacheCluster struct {

	// This parameter is currently disabled.
	AutoMinorVersionUpgrade *bool `type:"boolean"`

	// The date and time when the cache cluster was created.
	CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The user-supplied identifier of the cache cluster. This identifier is a unique
	// key that identifies a cache cluster.
	CacheClusterId *string `type:"string"`

	// The current state of this cache cluster, one of the following values: available,
	// creating, deleted, deleting, incompatible-network, modifying, rebooting cache
	// cluster nodes, restore-failed, or snapshotting.
	CacheClusterStatus *string `type:"string"`

	// The name of the compute and memory capacity node type for the cache cluster.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// A list of cache nodes that are members of the cache cluster.
	CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"`

	// The status of the cache parameter group.
	CacheParameterGroup *CacheParameterGroupStatus `type:"structure"`

	// A list of cache security group elements, composed of name and status sub-elements.
	CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"`

	// The name of the cache subnet group associated with the cache cluster.
	CacheSubnetGroupName *string `type:"string"`

	// The URL of the web page where you can download the latest ElastiCache client
	// library.
	ClientDownloadLandingPage *string `type:"string"`

	// Represents the information required for client programs to connect to a cache
	// node.
	ConfigurationEndpoint *Endpoint `type:"structure"`

	// The name of the cache engine (memcached or redis) to be used for this cache
	// cluster.
	Engine *string `type:"string"`

	// The version of the cache engine that is used in this cache cluster.
	EngineVersion *string `type:"string"`

	// Describes a notification topic and its status. Notification topics are used
	// for publishing ElastiCache events to subscribers using Amazon Simple Notification
	// Service (SNS).
	NotificationConfiguration *NotificationConfiguration `type:"structure"`

	// The number of cache nodes in the cache cluster.
	//
	// For clusters running Redis, this value must be 1. For clusters running Memcached,
	// this value must be between 1 and 20.
	NumCacheNodes *int64 `type:"integer"`

	// A group of settings that will be applied to the cache cluster in the future,
	// or that are currently being applied.
	PendingModifiedValues *PendingModifiedValues `type:"structure"`

	// The name of the Availability Zone in which the cache cluster is located or
	// "Multiple" if the cache nodes are located in different Availability Zones.
	PreferredAvailabilityZone *string `type:"string"`

	// Specifies the weekly time range during which maintenance on the cache cluster
	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
	// values for ddd are:
	//
	//    sun
	//
	//    mon
	//
	//    tue
	//
	//    wed
	//
	//    thu
	//
	//    fri
	//
	//    sat
	//
	//   Example: sun:05:00-sun:09:00
	PreferredMaintenanceWindow *string `type:"string"`

	// The replication group to which this cache cluster belongs. If this field
	// is empty, the cache cluster is not associated with any replication group.
	ReplicationGroupId *string `type:"string"`

	// A list of VPC Security Groups associated with the cache cluster.
	SecurityGroups []*SecurityGroupMembership `type:"list"`

	// The number of days for which ElastiCache will retain automatic cache cluster
	// snapshots before deleting them. For example, if you set SnapshotRetentionLimit
	// to 5, then a snapshot that was taken today will be retained for 5 days before
	// being deleted.
	//
	//   If the value of SnapshotRetentionLimit is set to zero (0), backups are
	// turned off.
	SnapshotRetentionLimit *int64 `type:"integer"`

	// The daily time range (in UTC) during which ElastiCache will begin taking
	// a daily snapshot of your cache cluster.
	//
	// Example: 05:00-09:00
	SnapshotWindow *string `type:"string"`
	// contains filtered or unexported fields
}

Contains all of the attributes of a specific cache cluster.

func (CacheCluster) GoString

func (s CacheCluster) GoString() string

GoString returns the string representation

func (CacheCluster) String

func (s CacheCluster) String() string

String returns the string representation

type CacheEngineVersion

type CacheEngineVersion struct {

	// The description of the cache engine.
	CacheEngineDescription *string `type:"string"`

	// The description of the cache engine version.
	CacheEngineVersionDescription *string `type:"string"`

	// The name of the cache parameter group family associated with this cache engine.
	CacheParameterGroupFamily *string `type:"string"`

	// The name of the cache engine.
	Engine *string `type:"string"`

	// The version number of the cache engine.
	EngineVersion *string `type:"string"`
	// contains filtered or unexported fields
}

Provides all of the details about a particular cache engine version.

func (CacheEngineVersion) GoString

func (s CacheEngineVersion) GoString() string

GoString returns the string representation

func (CacheEngineVersion) String

func (s CacheEngineVersion) String() string

String returns the string representation

type CacheNode

type CacheNode struct {

	// The date and time when the cache node was created.
	CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The cache node identifier. A node ID is a numeric identifier (0001, 0002,
	// etc.). The combination of cluster ID and node ID uniquely identifies every
	// cache node used in a customer's AWS account.
	CacheNodeId *string `type:"string"`

	// The current state of this cache node.
	CacheNodeStatus *string `type:"string"`

	// The Availability Zone where this node was created and now resides.
	CustomerAvailabilityZone *string `type:"string"`

	// The hostname for connecting to this cache node.
	Endpoint *Endpoint `type:"structure"`

	// The status of the parameter group applied to this cache node.
	ParameterGroupStatus *string `type:"string"`

	// The ID of the primary node to which this read replica node is synchronized.
	// If this field is empty, then this node is not associated with a primary cache
	// cluster.
	SourceCacheNodeId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents an individual cache node within a cache cluster. Each cache node runs its own instance of the cluster's protocol-compliant caching software - either Memcached or Redis.

Valid node types are as follows:

General purpose:

Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,

cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,

cache.m1.large, cache.m1.xlarge

  Compute optimized: cache.c1.xlarge

Memory optimized:

Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,

cache.r3.4xlarge, cache.r3.8xlarge

Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

   Notes:

All t2 instances are created in an Amazon Virtual Private Cloud (VPC).

Redis backup/restore is not supported for t2 instances.

Redis Append-only files (AOF) functionality is not supported for t1 or

t2 instances.

For a complete listing of cache node types and specifications, see Amazon

ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details) and either Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific) or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).

func (CacheNode) GoString

func (s CacheNode) GoString() string

GoString returns the string representation

func (CacheNode) String

func (s CacheNode) String() string

String returns the string representation

type CacheNodeTypeSpecificParameter

type CacheNodeTypeSpecificParameter struct {

	// The valid range of values for the parameter.
	AllowedValues *string `type:"string"`

	// A list of cache node types and their corresponding values for this parameter.
	CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"`

	// ChangeType indicates whether a change to the parameter will be applied immediately
	// or requires a reboot for the change to be applied. You can force a reboot
	// or wait until the next maintenance window's reboot. For more information,
	// see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html).
	ChangeType *string `type:"string" enum:"ChangeType"`

	// The valid data type for the parameter.
	DataType *string `type:"string"`

	// A description of the parameter.
	Description *string `type:"string"`

	// Indicates whether (true) or not (false) the parameter can be modified. Some
	// parameters have security or operational implications that prevent them from
	// being changed.
	IsModifiable *bool `type:"boolean"`

	// The earliest cache engine version to which the parameter can apply.
	MinimumEngineVersion *string `type:"string"`

	// The name of the parameter.
	ParameterName *string `type:"string"`

	// The source of the parameter value.
	Source *string `type:"string"`
	// contains filtered or unexported fields
}

A parameter that has a different value for each cache node type it is applied to. For example, in a Redis cache cluster, a cache.m1.large cache node type would have a larger maxmemory value than a cache.m1.small type.

func (CacheNodeTypeSpecificParameter) GoString

GoString returns the string representation

func (CacheNodeTypeSpecificParameter) String

String returns the string representation

type CacheNodeTypeSpecificValue

type CacheNodeTypeSpecificValue struct {

	// The cache node type for which this value applies.
	CacheNodeType *string `type:"string"`

	// The value for the cache node type.
	Value *string `type:"string"`
	// contains filtered or unexported fields
}

A value that applies only to a certain cache node type.

func (CacheNodeTypeSpecificValue) GoString

func (s CacheNodeTypeSpecificValue) GoString() string

GoString returns the string representation

func (CacheNodeTypeSpecificValue) String

String returns the string representation

type CacheParameterGroup

type CacheParameterGroup struct {

	// The name of the cache parameter group family that this cache parameter group
	// is compatible with.
	CacheParameterGroupFamily *string `type:"string"`

	// The name of the cache parameter group.
	CacheParameterGroupName *string `type:"string"`

	// The description for this cache parameter group.
	Description *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a CreateCacheParameterGroup action.

func (CacheParameterGroup) GoString

func (s CacheParameterGroup) GoString() string

GoString returns the string representation

func (CacheParameterGroup) String

func (s CacheParameterGroup) String() string

String returns the string representation

type CacheParameterGroupNameMessage

type CacheParameterGroupNameMessage struct {

	// The name of the cache parameter group.
	CacheParameterGroupName *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of one of the following actions:

ModifyCacheParameterGroup

ResetCacheParameterGroup

func (CacheParameterGroupNameMessage) GoString

GoString returns the string representation

func (CacheParameterGroupNameMessage) String

String returns the string representation

type CacheParameterGroupStatus

type CacheParameterGroupStatus struct {

	// A list of the cache node IDs which need to be rebooted for parameter changes
	// to be applied. A node ID is a numeric identifier (0001, 0002, etc.).
	CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"`

	// The name of the cache parameter group.
	CacheParameterGroupName *string `type:"string"`

	// The status of parameter updates.
	ParameterApplyStatus *string `type:"string"`
	// contains filtered or unexported fields
}

The status of the cache parameter group.

func (CacheParameterGroupStatus) GoString

func (s CacheParameterGroupStatus) GoString() string

GoString returns the string representation

func (CacheParameterGroupStatus) String

func (s CacheParameterGroupStatus) String() string

String returns the string representation

type CacheSecurityGroup

type CacheSecurityGroup struct {

	// The name of the cache security group.
	CacheSecurityGroupName *string `type:"string"`

	// The description of the cache security group.
	Description *string `type:"string"`

	// A list of Amazon EC2 security groups that are associated with this cache
	// security group.
	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`

	// The AWS account ID of the cache security group owner.
	OwnerId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of one of the following actions:

AuthorizeCacheSecurityGroupIngress

CreateCacheSecurityGroup

RevokeCacheSecurityGroupIngress

func (CacheSecurityGroup) GoString

func (s CacheSecurityGroup) GoString() string

GoString returns the string representation

func (CacheSecurityGroup) String

func (s CacheSecurityGroup) String() string

String returns the string representation

type CacheSecurityGroupMembership

type CacheSecurityGroupMembership struct {

	// The name of the cache security group.
	CacheSecurityGroupName *string `type:"string"`

	// The membership status in the cache security group. The status changes when
	// a cache security group is modified, or when the cache security groups assigned
	// to a cache cluster are modified.
	Status *string `type:"string"`
	// contains filtered or unexported fields
}

Represents a cache cluster's status within a particular cache security group.

func (CacheSecurityGroupMembership) GoString

func (s CacheSecurityGroupMembership) GoString() string

GoString returns the string representation

func (CacheSecurityGroupMembership) String

String returns the string representation

type CacheSubnetGroup

type CacheSubnetGroup struct {

	// The description of the cache subnet group.
	CacheSubnetGroupDescription *string `type:"string"`

	// The name of the cache subnet group.
	CacheSubnetGroupName *string `type:"string"`

	// A list of subnets associated with the cache subnet group.
	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`

	// The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet
	// group.
	VpcId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of one of the following actions:

CreateCacheSubnetGroup

ModifyCacheSubnetGroup

func (CacheSubnetGroup) GoString

func (s CacheSubnetGroup) GoString() string

GoString returns the string representation

func (CacheSubnetGroup) String

func (s CacheSubnetGroup) String() string

String returns the string representation

type CopySnapshotInput

type CopySnapshotInput struct {

	// The name of an existing snapshot from which to make a copy.
	SourceSnapshotName *string `type:"string" required:"true"`

	// The Amazon S3 bucket to which the snapshot will be exported. This parameter
	// is used only when exporting a snapshot for external access.
	//
	// When using this parameter to export a snapshot, be sure Amazon ElastiCache
	// has the needed permissions to this S3 bucket. For more information, see Step
	// 2: Grant ElastiCache Access to Your Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.GrantAccess)
	// in the Amazon ElastiCache User Guide.
	//
	//  Error Messages:
	//
	// You could receive one of the following error messages.
	//
	//  Erorr Messages     Error Message:  ElastiCache has not been granted READ
	// permissions %s on the S3 Bucket.
	//
	//  Solution: Add List and Read permissions on the bucket.
	//
	//    Error Message:  ElastiCache has not been granted WRITE permissions %s
	// on the S3 Bucket.
	//
	//  Solution: Add Upload/Delete permissions on the bucket.
	//
	//    Error Message:  ElastiCache has not been granted READ_ACP permissions
	// %s on the S3 Bucket.
	//
	//  Solution: Add View Permissions permissions on the bucket.
	//
	//    Error Message: The S3 bucket %s is outside of the region.
	//
	//  Solution: Before exporting your snapshot, create a new Amazon S3 bucket
	// in the same region as your snapshot. For more information, see Step 1: Create
	// an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket).
	//
	//    Error Message: The S3 bucket %s does not exist.
	//
	//  Solution: Create an Amazon S3 bucket in the same region as your snapshot.
	// For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket).
	//
	//    Error Message: The S3 bucket %s is not owned by the authenticated user.
	//
	//  Solution: Create an Amazon S3 bucket in the same region as your snapshot.
	// For more information, see Step 1: Create an Amazon S3 Bucket (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html#Snapshots.Exporting.CreateBucket).
	//
	//    Error Message: The authenticated user does not have sufficient permissions
	// to perform the desired activity.
	//
	//  Solution: Contact your system administrator to get the needed permissions.
	//
	//   For more information, see Exporting a Snapshot (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Snapshots.Exporting.html)
	// in the Amazon ElastiCache User Guide.
	TargetBucket *string `type:"string"`

	// A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot,
	// therefore this name must be unique within its context - ElastiCache or an
	// Amazon S3 bucket if exporting.
	//
	//  Error Message     Error Message: The S3 bucket %s already contains an object
	// with key %s.
	//
	//  Solution: Give the TargetSnapshotName a new and unique value. If exporting
	// a snapshot, you could alternatively create a new Amazon S3 bucket and use
	// this same value for TargetSnapshotName.
	TargetSnapshotName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a CopySnapshotMessage action.

func (CopySnapshotInput) GoString

func (s CopySnapshotInput) GoString() string

GoString returns the string representation

func (CopySnapshotInput) String

func (s CopySnapshotInput) String() string

String returns the string representation

func (*CopySnapshotInput) Validate

func (s *CopySnapshotInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CopySnapshotOutput

type CopySnapshotOutput struct {

	// Represents a copy of an entire cache cluster as of the time when the snapshot
	// was taken.
	Snapshot *Snapshot `type:"structure"`
	// contains filtered or unexported fields
}

func (CopySnapshotOutput) GoString

func (s CopySnapshotOutput) GoString() string

GoString returns the string representation

func (CopySnapshotOutput) String

func (s CopySnapshotOutput) String() string

String returns the string representation

type CreateCacheClusterInput

type CreateCacheClusterInput struct {

	// Specifies whether the nodes in this Memcached node group are created in a
	// single Availability Zone or created across multiple Availability Zones in
	// the cluster's region.
	//
	// This parameter is only supported for Memcached cache clusters.
	//
	// If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache
	// assumes single-az mode.
	AZMode *string `type:"string" enum:"AZMode"`

	// This parameter is currently disabled.
	AutoMinorVersionUpgrade *bool `type:"boolean"`

	// The node group identifier. This parameter is stored as a lowercase string.
	//
	//  Constraints:
	//
	//   A name must contain from 1 to 20 alphanumeric characters or hyphens.
	//
	//   The first character must be a letter.
	//
	//   A name cannot end with a hyphen or contain two consecutive hyphens.
	CacheClusterId *string `type:"string" required:"true"`

	// The compute and memory capacity of the nodes in the node group.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// The name of the parameter group to associate with this cache cluster. If
	// this argument is omitted, the default parameter group for the specified engine
	// is used.
	CacheParameterGroupName *string `type:"string"`

	// A list of security group names to associate with this cache cluster.
	//
	// Use this parameter only when you are creating a cache cluster outside of
	// an Amazon Virtual Private Cloud (VPC).
	CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`

	// The name of the subnet group to be used for the cache cluster.
	//
	// Use this parameter only when you are creating a cache cluster in an Amazon
	// Virtual Private Cloud (VPC).
	CacheSubnetGroupName *string `type:"string"`

	// The name of the cache engine to be used for this cache cluster.
	//
	// Valid values for this parameter are:
	//
	//  memcached | redis
	Engine *string `type:"string"`

	// The version number of the cache engine to be used for this cache cluster.
	// To view the supported cache engine versions, use the DescribeCacheEngineVersions
	// action.
	//
	//  Important: You can upgrade to a newer engine version (see Selecting a Cache
	// Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)),
	// but you cannot downgrade to an earlier engine version. If you want to use
	// an earlier engine version, you must delete the existing cache cluster or
	// replication group and create it anew with the earlier engine version.
	EngineVersion *string `type:"string"`

	// The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
	// (SNS) topic to which notifications will be sent.
	//
	//  The Amazon SNS topic owner must be the same as the cache cluster owner.
	NotificationTopicArn *string `type:"string"`

	// The initial number of cache nodes that the cache cluster will have.
	//
	// For clusters running Redis, this value must be 1. For clusters running Memcached,
	// this value must be between 1 and 20.
	//
	// If you need more than 20 nodes for your Memcached cluster, please fill out
	// the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/
	// (http://aws.amazon.com/contact-us/elasticache-node-limit-request/).
	NumCacheNodes *int64 `type:"integer"`

	// The port number on which each of the cache nodes will accept connections.
	Port *int64 `type:"integer"`

	// The EC2 Availability Zone in which the cache cluster will be created.
	//
	// All nodes belonging to this Memcached cache cluster are placed in the preferred
	// Availability Zone. If you want to create your nodes across multiple Availability
	// Zones, use PreferredAvailabilityZones.
	//
	// Default: System chosen Availability Zone.
	PreferredAvailabilityZone *string `type:"string"`

	// A list of the Availability Zones in which cache nodes will be created. The
	// order of the zones in the list is not important.
	//
	// This option is only supported on Memcached.
	//
	//  If you are creating your cache cluster in an Amazon VPC (recommended) 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 PreferredAvailabilityZone
	// instead, or repeat the Availability Zone multiple times in the list.
	//
	// Default: System chosen Availability Zones.
	//
	// Example: One Memcached node in each of three different Availability Zones:
	// PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2b&PreferredAvailabilityZones.member.3=us-west-2c
	//
	// Example: All three Memcached nodes in one Availability Zone: PreferredAvailabilityZones.member.1=us-west-2a&PreferredAvailabilityZones.member.2=us-west-2a&PreferredAvailabilityZones.member.3=us-west-2a
	PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"`

	// Specifies the weekly time range during which maintenance on the cache cluster
	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
	// values for ddd are:
	//
	//    sun
	//
	//    mon
	//
	//    tue
	//
	//    wed
	//
	//    thu
	//
	//    fri
	//
	//    sat
	//
	//   Example: sun:05:00-sun:09:00
	PreferredMaintenanceWindow *string `type:"string"`

	// The ID of the replication group to which this cache cluster should belong.
	// If this parameter is specified, the cache cluster will be added to the specified
	// replication group as a read replica; otherwise, the cache cluster will be
	// a standalone primary that is not part of any replication group.
	//
	// If the specified replication group is Multi-AZ enabled and the availability
	// zone is not specified, the cache cluster will be created in availability
	// zones that provide the best spread of read replicas across availability zones.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	ReplicationGroupId *string `type:"string"`

	// One or more VPC security groups associated with the cache cluster.
	//
	// Use this parameter only when you are creating a cache cluster in an Amazon
	// Virtual Private Cloud (VPC).
	SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`

	// A single-element string list containing an Amazon Resource Name (ARN) that
	// uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot
	// file will be used to populate the node group. The Amazon S3 object name in
	// the ARN cannot contain any commas.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	//
	//  Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
	SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"`

	// The name of a snapshot from which to restore data into the new node group.
	// The snapshot status changes to restoring while the new node group is being
	// created.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	SnapshotName *string `type:"string"`

	// The number of days for which ElastiCache will retain automatic 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.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	//
	//  Default: 0 (i.e., automatic backups are disabled for this cache cluster).
	SnapshotRetentionLimit *int64 `type:"integer"`

	// The daily time range (in UTC) during which ElastiCache will begin taking
	// a daily snapshot of your node group.
	//
	// Example: 05:00-09:00
	//
	// If you do not specify this parameter, then ElastiCache will automatically
	// choose an appropriate time range.
	//
	//  Note: This parameter is only valid if the Engine parameter is redis.
	SnapshotWindow *string `type:"string"`

	// A list of cost allocation tags to be added to this resource. A tag is a key-value
	// pair. A tag key must be accompanied by a tag value.
	Tags []*Tag `locationNameList:"Tag" type:"list"`
	// contains filtered or unexported fields
}

Represents the input of a CreateCacheCluster action.

func (CreateCacheClusterInput) GoString

func (s CreateCacheClusterInput) GoString() string

GoString returns the string representation

func (CreateCacheClusterInput) String

func (s CreateCacheClusterInput) String() string

String returns the string representation

func (*CreateCacheClusterInput) Validate

func (s *CreateCacheClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateCacheClusterOutput

type CreateCacheClusterOutput struct {

	// Contains all of the attributes of a specific cache cluster.
	CacheCluster *CacheCluster `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateCacheClusterOutput) GoString

func (s CreateCacheClusterOutput) GoString() string

GoString returns the string representation

func (CreateCacheClusterOutput) String

func (s CreateCacheClusterOutput) String() string

String returns the string representation

type CreateCacheParameterGroupInput

type CreateCacheParameterGroupInput struct {

	// The name of the cache parameter group family the cache parameter group can
	// be used with.
	//
	// Valid values are: memcached1.4 | redis2.6 | redis2.8
	CacheParameterGroupFamily *string `type:"string" required:"true"`

	// A user-specified name for the cache parameter group.
	CacheParameterGroupName *string `type:"string" required:"true"`

	// A user-specified description for the cache parameter group.
	Description *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a CreateCacheParameterGroup action.

func (CreateCacheParameterGroupInput) GoString

GoString returns the string representation

func (CreateCacheParameterGroupInput) String

String returns the string representation

func (*CreateCacheParameterGroupInput) Validate

func (s *CreateCacheParameterGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateCacheParameterGroupOutput

type CreateCacheParameterGroupOutput struct {

	// Represents the output of a CreateCacheParameterGroup action.
	CacheParameterGroup *CacheParameterGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateCacheParameterGroupOutput) GoString

GoString returns the string representation

func (CreateCacheParameterGroupOutput) String

String returns the string representation

type CreateCacheSecurityGroupInput

type CreateCacheSecurityGroupInput struct {

	// A name for the cache security group. This value is stored as a lowercase
	// string.
	//
	// Constraints: Must contain no more than 255 alphanumeric characters. Cannot
	// be the word "Default".
	//
	// Example: mysecuritygroup
	CacheSecurityGroupName *string `type:"string" required:"true"`

	// A description for the cache security group.
	Description *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a CreateCacheSecurityGroup action.

func (CreateCacheSecurityGroupInput) GoString

GoString returns the string representation

func (CreateCacheSecurityGroupInput) String

String returns the string representation

func (*CreateCacheSecurityGroupInput) Validate

func (s *CreateCacheSecurityGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateCacheSecurityGroupOutput

type CreateCacheSecurityGroupOutput struct {

	// Represents the output of one of the following actions:
	//
	//    AuthorizeCacheSecurityGroupIngress
	//
	//    CreateCacheSecurityGroup
	//
	//    RevokeCacheSecurityGroupIngress
	CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateCacheSecurityGroupOutput) GoString

GoString returns the string representation

func (CreateCacheSecurityGroupOutput) String

String returns the string representation

type CreateCacheSubnetGroupInput

type CreateCacheSubnetGroupInput struct {

	// A description for the cache subnet group.
	CacheSubnetGroupDescription *string `type:"string" required:"true"`

	// A name for the cache subnet group. This value is stored as a lowercase string.
	//
	// Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
	//
	// Example: mysubnetgroup
	CacheSubnetGroupName *string `type:"string" required:"true"`

	// A list of VPC subnet IDs for the cache subnet group.
	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a CreateCacheSubnetGroup action.

func (CreateCacheSubnetGroupInput) GoString

func (s CreateCacheSubnetGroupInput) GoString() string

GoString returns the string representation

func (CreateCacheSubnetGroupInput) String

String returns the string representation

func (*CreateCacheSubnetGroupInput) Validate

func (s *CreateCacheSubnetGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateCacheSubnetGroupOutput

type CreateCacheSubnetGroupOutput struct {

	// Represents the output of one of the following actions:
	//
	//    CreateCacheSubnetGroup
	//
	//    ModifyCacheSubnetGroup
	CacheSubnetGroup *CacheSubnetGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateCacheSubnetGroupOutput) GoString

func (s CreateCacheSubnetGroupOutput) GoString() string

GoString returns the string representation

func (CreateCacheSubnetGroupOutput) String

String returns the string representation

type CreateReplicationGroupInput

type CreateReplicationGroupInput struct {

	// This parameter is currently disabled.
	AutoMinorVersionUpgrade *bool `type:"boolean"`

	// Specifies whether a read-only replica will be automatically promoted to read/write
	// primary if the existing primary fails.
	//
	// If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ
	// is disabled for this replication group.
	//
	// Default: false
	//
	//  ElastiCache Multi-AZ replication groups is not supported on:
	//
	//   Redis versions earlier than 2.8.6.
	//
	//   T1 and T2 cache node types.
	AutomaticFailoverEnabled *bool `type:"boolean"`

	// The compute and memory capacity of the nodes in the node group.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// The name of the parameter group to associate with this replication group.
	// If this argument is omitted, the default cache parameter group for the specified
	// engine is used.
	CacheParameterGroupName *string `type:"string"`

	// A list of cache security group names to associate with this replication group.
	CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`

	// The name of the cache subnet group to be used for the replication group.
	CacheSubnetGroupName *string `type:"string"`

	// The name of the cache engine to be used for the cache clusters in this replication
	// group.
	//
	// Default: redis
	Engine *string `type:"string"`

	// The version number of the cache engine to be used for the cache clusters
	// in this replication group. To view the supported cache engine versions, use
	// the DescribeCacheEngineVersions action.
	//
	//  Important: You can upgrade to a newer engine version (see Selecting a Cache
	// Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement))
	// in the ElastiCache User Guide, but you cannot downgrade to an earlier engine
	// version. If you want to use an earlier engine version, you must delete the
	// existing cache cluster or replication group and create it anew with the earlier
	// engine version.
	EngineVersion *string `type:"string"`

	// The Amazon Resource Name (ARN) of the Amazon Simple Notification Service
	// (SNS) topic to which notifications will be sent.
	//
	//  The Amazon SNS topic owner must be the same as the cache cluster owner.
	NotificationTopicArn *string `type:"string"`

	// The number of cache clusters this replication group will initially have.
	//
	// If Multi-AZ is enabled, the value of this parameter must be at least 2.
	//
	// The maximum permitted value for NumCacheClusters is 6 (primary plus 5 replicas).
	// If you need to exceed this limit, please fill out the ElastiCache Limit Increase
	// Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request
	// (http://aws.amazon.com/contact-us/elasticache-node-limit-request).
	NumCacheClusters *int64 `type:"integer"`

	// The port number on which each member of the replication group will accept
	// connections.
	Port *int64 `type:"integer"`

	// A list of EC2 availability zones in which the replication group's cache clusters
	// will be created. The order of the availability zones in the list is not important.
	//
	//  If you are creating your replication group in an Amazon VPC (recommended),
	// you can only locate cache clusters in availability zones associated with
	// the subnets in the selected subnet group.
	//
	// The number of availability zones listed must equal the value of NumCacheClusters.
	//
	//  Default: system chosen availability zones.
	//
	// Example: One Redis cache cluster in each of three availability zones.
	//
	//  PreferredAvailabilityZones.member.1=us-west-2a PreferredAvailabilityZones.member.2=us-west-2c
	// PreferredAvailabilityZones.member.3=us-west-2c
	PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"`

	// Specifies the weekly time range during which maintenance on the cache cluster
	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
	// values for ddd are:
	//
	//    sun
	//
	//    mon
	//
	//    tue
	//
	//    wed
	//
	//    thu
	//
	//    fri
	//
	//    sat
	//
	//   Example: sun:05:00-sun:09:00
	PreferredMaintenanceWindow *string `type:"string"`

	// The identifier of the cache cluster that will serve as the primary for this
	// replication group. This cache cluster must already exist and have a status
	// of available.
	//
	// This parameter is not required if NumCacheClusters is specified.
	PrimaryClusterId *string `type:"string"`

	// A user-created description for the replication group.
	ReplicationGroupDescription *string `type:"string" required:"true"`

	// The replication group identifier. This parameter is stored as a lowercase
	// string.
	//
	// Constraints:
	//
	//   A name must contain from 1 to 20 alphanumeric characters or hyphens.
	//
	//   The first character must be a letter.
	//
	//   A name cannot end with a hyphen or contain two consecutive hyphens.
	ReplicationGroupId *string `type:"string" required:"true"`

	// 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 (VPC).
	SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`

	// A single-element string list containing an Amazon Resource Name (ARN) that
	// uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot
	// file will be used to populate the node group. The Amazon S3 object name in
	// the ARN cannot contain any commas.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	//
	//  Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb
	SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"`

	// The name of a snapshot from which to restore data into the new node group.
	// The snapshot status changes to restoring while the new node group is being
	// created.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	SnapshotName *string `type:"string"`

	// The number of days for which ElastiCache will retain automatic 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.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	//
	//  Default: 0 (i.e., automatic backups are disabled for this cache cluster).
	SnapshotRetentionLimit *int64 `type:"integer"`

	// The daily time range (in UTC) during which ElastiCache will begin taking
	// a daily snapshot of your node group.
	//
	// Example: 05:00-09:00
	//
	// If you do not specify this parameter, then ElastiCache will automatically
	// choose an appropriate time range.
	//
	//  This parameter is only valid if the Engine parameter is redis.
	SnapshotWindow *string `type:"string"`

	// A list of cost allocation tags to be added to this resource. A tag is a key-value
	// pair. A tag key must be accompanied by a tag value.
	Tags []*Tag `locationNameList:"Tag" type:"list"`
	// contains filtered or unexported fields
}

Represents the input of a CreateReplicationGroup action.

func (CreateReplicationGroupInput) GoString

func (s CreateReplicationGroupInput) GoString() string

GoString returns the string representation

func (CreateReplicationGroupInput) String

String returns the string representation

func (*CreateReplicationGroupInput) Validate

func (s *CreateReplicationGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateReplicationGroupOutput

type CreateReplicationGroupOutput struct {

	// Contains all of the attributes of a specific replication group.
	ReplicationGroup *ReplicationGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateReplicationGroupOutput) GoString

func (s CreateReplicationGroupOutput) GoString() string

GoString returns the string representation

func (CreateReplicationGroupOutput) String

String returns the string representation

type CreateSnapshotInput

type CreateSnapshotInput struct {

	// The identifier of an existing cache cluster. The snapshot will be created
	// from this cache cluster.
	CacheClusterId *string `type:"string" required:"true"`

	// A name for the snapshot being created.
	SnapshotName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a CreateSnapshot action.

func (CreateSnapshotInput) GoString

func (s CreateSnapshotInput) GoString() string

GoString returns the string representation

func (CreateSnapshotInput) String

func (s CreateSnapshotInput) String() string

String returns the string representation

func (*CreateSnapshotInput) Validate

func (s *CreateSnapshotInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type CreateSnapshotOutput

type CreateSnapshotOutput struct {

	// Represents a copy of an entire cache cluster as of the time when the snapshot
	// was taken.
	Snapshot *Snapshot `type:"structure"`
	// contains filtered or unexported fields
}

func (CreateSnapshotOutput) GoString

func (s CreateSnapshotOutput) GoString() string

GoString returns the string representation

func (CreateSnapshotOutput) String

func (s CreateSnapshotOutput) String() string

String returns the string representation

type DeleteCacheClusterInput

type DeleteCacheClusterInput struct {

	// The cache cluster identifier for the cluster to be deleted. This parameter
	// is not case sensitive.
	CacheClusterId *string `type:"string" required:"true"`

	// The user-supplied name of a final cache cluster snapshot. This is the unique
	// name that identifies the snapshot. ElastiCache creates the snapshot, and
	// then deletes the cache cluster immediately afterward.
	FinalSnapshotIdentifier *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a DeleteCacheCluster action.

func (DeleteCacheClusterInput) GoString

func (s DeleteCacheClusterInput) GoString() string

GoString returns the string representation

func (DeleteCacheClusterInput) String

func (s DeleteCacheClusterInput) String() string

String returns the string representation

func (*DeleteCacheClusterInput) Validate

func (s *DeleteCacheClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteCacheClusterOutput

type DeleteCacheClusterOutput struct {

	// Contains all of the attributes of a specific cache cluster.
	CacheCluster *CacheCluster `type:"structure"`
	// contains filtered or unexported fields
}

func (DeleteCacheClusterOutput) GoString

func (s DeleteCacheClusterOutput) GoString() string

GoString returns the string representation

func (DeleteCacheClusterOutput) String

func (s DeleteCacheClusterOutput) String() string

String returns the string representation

type DeleteCacheParameterGroupInput

type DeleteCacheParameterGroupInput struct {

	// The name of the cache parameter group to delete.
	//
	//  The specified cache security group must not be associated with any cache
	// clusters.
	CacheParameterGroupName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a DeleteCacheParameterGroup action.

func (DeleteCacheParameterGroupInput) GoString

GoString returns the string representation

func (DeleteCacheParameterGroupInput) String

String returns the string representation

func (*DeleteCacheParameterGroupInput) Validate

func (s *DeleteCacheParameterGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteCacheParameterGroupOutput

type DeleteCacheParameterGroupOutput struct {
	// contains filtered or unexported fields
}

func (DeleteCacheParameterGroupOutput) GoString

GoString returns the string representation

func (DeleteCacheParameterGroupOutput) String

String returns the string representation

type DeleteCacheSecurityGroupInput

type DeleteCacheSecurityGroupInput struct {

	// The name of the cache security group to delete.
	//
	//  You cannot delete the default security group.
	CacheSecurityGroupName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a DeleteCacheSecurityGroup action.

func (DeleteCacheSecurityGroupInput) GoString

GoString returns the string representation

func (DeleteCacheSecurityGroupInput) String

String returns the string representation

func (*DeleteCacheSecurityGroupInput) Validate

func (s *DeleteCacheSecurityGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteCacheSecurityGroupOutput

type DeleteCacheSecurityGroupOutput struct {
	// contains filtered or unexported fields
}

func (DeleteCacheSecurityGroupOutput) GoString

GoString returns the string representation

func (DeleteCacheSecurityGroupOutput) String

String returns the string representation

type DeleteCacheSubnetGroupInput

type DeleteCacheSubnetGroupInput struct {

	// The name of the cache subnet group to delete.
	//
	// Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
	CacheSubnetGroupName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a DeleteCacheSubnetGroup action.

func (DeleteCacheSubnetGroupInput) GoString

func (s DeleteCacheSubnetGroupInput) GoString() string

GoString returns the string representation

func (DeleteCacheSubnetGroupInput) String

String returns the string representation

func (*DeleteCacheSubnetGroupInput) Validate

func (s *DeleteCacheSubnetGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteCacheSubnetGroupOutput

type DeleteCacheSubnetGroupOutput struct {
	// contains filtered or unexported fields
}

func (DeleteCacheSubnetGroupOutput) GoString

func (s DeleteCacheSubnetGroupOutput) GoString() string

GoString returns the string representation

func (DeleteCacheSubnetGroupOutput) String

String returns the string representation

type DeleteReplicationGroupInput

type DeleteReplicationGroupInput struct {

	// The name of a final node group snapshot. ElastiCache creates the snapshot
	// from the primary node in the cluster, rather than one of the replicas; this
	// is to ensure that it captures the freshest data. After the final snapshot
	// is taken, the cluster is immediately deleted.
	FinalSnapshotIdentifier *string `type:"string"`

	// The identifier for the cluster to be deleted. This parameter is not case
	// sensitive.
	ReplicationGroupId *string `type:"string" required:"true"`

	// If set to true, all of the read replicas will be deleted, but the primary
	// node will be retained.
	RetainPrimaryCluster *bool `type:"boolean"`
	// contains filtered or unexported fields
}

Represents the input of a DeleteReplicationGroup action.

func (DeleteReplicationGroupInput) GoString

func (s DeleteReplicationGroupInput) GoString() string

GoString returns the string representation

func (DeleteReplicationGroupInput) String

String returns the string representation

func (*DeleteReplicationGroupInput) Validate

func (s *DeleteReplicationGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteReplicationGroupOutput

type DeleteReplicationGroupOutput struct {

	// Contains all of the attributes of a specific replication group.
	ReplicationGroup *ReplicationGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (DeleteReplicationGroupOutput) GoString

func (s DeleteReplicationGroupOutput) GoString() string

GoString returns the string representation

func (DeleteReplicationGroupOutput) String

String returns the string representation

type DeleteSnapshotInput

type DeleteSnapshotInput struct {

	// The name of the snapshot to be deleted.
	SnapshotName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a DeleteSnapshot action.

func (DeleteSnapshotInput) GoString

func (s DeleteSnapshotInput) GoString() string

GoString returns the string representation

func (DeleteSnapshotInput) String

func (s DeleteSnapshotInput) String() string

String returns the string representation

func (*DeleteSnapshotInput) Validate

func (s *DeleteSnapshotInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DeleteSnapshotOutput

type DeleteSnapshotOutput struct {

	// Represents a copy of an entire cache cluster as of the time when the snapshot
	// was taken.
	Snapshot *Snapshot `type:"structure"`
	// contains filtered or unexported fields
}

func (DeleteSnapshotOutput) GoString

func (s DeleteSnapshotOutput) GoString() string

GoString returns the string representation

func (DeleteSnapshotOutput) String

func (s DeleteSnapshotOutput) String() string

String returns the string representation

type DescribeCacheClustersInput

type DescribeCacheClustersInput struct {

	// The user-supplied cluster identifier. If this parameter is specified, only
	// information about that specific cache cluster is returned. This parameter
	// isn't case sensitive.
	CacheClusterId *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`

	// An optional flag that can be included in the DescribeCacheCluster request
	// to retrieve information about the individual cache nodes.
	ShowCacheNodeInfo *bool `type:"boolean"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeCacheClusters action.

func (DescribeCacheClustersInput) GoString

func (s DescribeCacheClustersInput) GoString() string

GoString returns the string representation

func (DescribeCacheClustersInput) String

String returns the string representation

type DescribeCacheClustersOutput

type DescribeCacheClustersOutput struct {

	// A list of cache clusters. Each item in the list contains detailed information
	// about one cache cluster.
	CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeCacheClusters action.

func (DescribeCacheClustersOutput) GoString

func (s DescribeCacheClustersOutput) GoString() string

GoString returns the string representation

func (DescribeCacheClustersOutput) String

String returns the string representation

type DescribeCacheEngineVersionsInput

type DescribeCacheEngineVersionsInput struct {

	// The name of a specific cache parameter group family to return details for.
	//
	// Constraints:
	//
	//   Must be 1 to 255 alphanumeric characters
	//
	//   First character must be a letter
	//
	//   Cannot end with a hyphen or contain two consecutive hyphens
	CacheParameterGroupFamily *string `type:"string"`

	// If true, specifies that only the default version of the specified engine
	// or engine and major version combination is to be returned.
	DefaultOnly *bool `type:"boolean"`

	// The cache engine to return. Valid values: memcached | redis
	Engine *string `type:"string"`

	// The cache engine version to return.
	//
	// Example: 1.4.14
	EngineVersion *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeCacheEngineVersions action.

func (DescribeCacheEngineVersionsInput) GoString

GoString returns the string representation

func (DescribeCacheEngineVersionsInput) String

String returns the string representation

type DescribeCacheEngineVersionsOutput

type DescribeCacheEngineVersionsOutput struct {

	// A list of cache engine version details. Each element in the list contains
	// detailed information about one cache engine version.
	CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeCacheEngineVersions action.

func (DescribeCacheEngineVersionsOutput) GoString

GoString returns the string representation

func (DescribeCacheEngineVersionsOutput) String

String returns the string representation

type DescribeCacheParameterGroupsInput

type DescribeCacheParameterGroupsInput struct {

	// The name of a specific cache parameter group to return details for.
	CacheParameterGroupName *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeCacheParameterGroups action.

func (DescribeCacheParameterGroupsInput) GoString

GoString returns the string representation

func (DescribeCacheParameterGroupsInput) String

String returns the string representation

type DescribeCacheParameterGroupsOutput

type DescribeCacheParameterGroupsOutput struct {

	// A list of cache parameter groups. Each element in the list contains detailed
	// information about one cache parameter group.
	CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeCacheParameterGroups action.

func (DescribeCacheParameterGroupsOutput) GoString

GoString returns the string representation

func (DescribeCacheParameterGroupsOutput) String

String returns the string representation

type DescribeCacheParametersInput

type DescribeCacheParametersInput struct {

	// The name of a specific cache parameter group to return details for.
	CacheParameterGroupName *string `type:"string" required:"true"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of brecords to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`

	// The parameter types to return.
	//
	// Valid values: user | system | engine-default
	Source *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeCacheParameters action.

func (DescribeCacheParametersInput) GoString

func (s DescribeCacheParametersInput) GoString() string

GoString returns the string representation

func (DescribeCacheParametersInput) String

String returns the string representation

func (*DescribeCacheParametersInput) Validate

func (s *DescribeCacheParametersInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type DescribeCacheParametersOutput

type DescribeCacheParametersOutput struct {

	// A list of parameters specific to a particular cache node type. Each element
	// in the list contains detailed information about one parameter.
	CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`

	// A list of Parameter instances.
	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeCacheParameters action.

func (DescribeCacheParametersOutput) GoString

GoString returns the string representation

func (DescribeCacheParametersOutput) String

String returns the string representation

type DescribeCacheSecurityGroupsInput

type DescribeCacheSecurityGroupsInput struct {

	// The name of the cache security group to return details for.
	CacheSecurityGroupName *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeCacheSecurityGroups action.

func (DescribeCacheSecurityGroupsInput) GoString

GoString returns the string representation

func (DescribeCacheSecurityGroupsInput) String

String returns the string representation

type DescribeCacheSecurityGroupsOutput

type DescribeCacheSecurityGroupsOutput struct {

	// A list of cache security groups. Each element in the list contains detailed
	// information about one group.
	CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeCacheSecurityGroups action.

func (DescribeCacheSecurityGroupsOutput) GoString

GoString returns the string representation

func (DescribeCacheSecurityGroupsOutput) String

String returns the string representation

type DescribeCacheSubnetGroupsInput

type DescribeCacheSubnetGroupsInput struct {

	// The name of the cache subnet group to return details for.
	CacheSubnetGroupName *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeCacheSubnetGroups action.

func (DescribeCacheSubnetGroupsInput) GoString

GoString returns the string representation

func (DescribeCacheSubnetGroupsInput) String

String returns the string representation

type DescribeCacheSubnetGroupsOutput

type DescribeCacheSubnetGroupsOutput struct {

	// A list of cache subnet groups. Each element in the list contains detailed
	// information about one group.
	CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeCacheSubnetGroups action.

func (DescribeCacheSubnetGroupsOutput) GoString

GoString returns the string representation

func (DescribeCacheSubnetGroupsOutput) String

String returns the string representation

type DescribeEngineDefaultParametersInput

type DescribeEngineDefaultParametersInput struct {

	// The name of the cache parameter group family. Valid values are: memcached1.4
	// | redis2.6 | redis2.8
	CacheParameterGroupFamily *string `type:"string" required:"true"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeEngineDefaultParameters action.

func (DescribeEngineDefaultParametersInput) GoString

GoString returns the string representation

func (DescribeEngineDefaultParametersInput) String

String returns the string representation

func (*DescribeEngineDefaultParametersInput) Validate

Validate inspects the fields of the type to determine if they are valid.

type DescribeEngineDefaultParametersOutput

type DescribeEngineDefaultParametersOutput struct {

	// Represents the output of a DescribeEngineDefaultParameters action.
	EngineDefaults *EngineDefaults `type:"structure"`
	// contains filtered or unexported fields
}

func (DescribeEngineDefaultParametersOutput) GoString

GoString returns the string representation

func (DescribeEngineDefaultParametersOutput) String

String returns the string representation

type DescribeEventsInput

type DescribeEventsInput struct {

	// The number of minutes' worth of events to retrieve.
	Duration *int64 `type:"integer"`

	// The end of the time interval for which to retrieve events, specified in ISO
	// 8601 format.
	EndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`

	// The identifier of the event source for which events will be returned. If
	// not specified, then all sources are included in the response.
	SourceIdentifier *string `type:"string"`

	// The event source to retrieve events for. If no value is specified, all events
	// are returned.
	//
	// Valid values are: cache-cluster | cache-parameter-group | cache-security-group
	// | cache-subnet-group
	SourceType *string `type:"string" enum:"SourceType"`

	// The beginning of the time interval to retrieve events for, specified in ISO
	// 8601 format.
	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeEvents action.

func (DescribeEventsInput) GoString

func (s DescribeEventsInput) GoString() string

GoString returns the string representation

func (DescribeEventsInput) String

func (s DescribeEventsInput) String() string

String returns the string representation

type DescribeEventsOutput

type DescribeEventsOutput struct {

	// A list of events. Each element in the list contains detailed information
	// about one event.
	Events []*Event `locationNameList:"Event" type:"list"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeEvents action.

func (DescribeEventsOutput) GoString

func (s DescribeEventsOutput) GoString() string

GoString returns the string representation

func (DescribeEventsOutput) String

func (s DescribeEventsOutput) String() string

String returns the string representation

type DescribeReplicationGroupsInput

type DescribeReplicationGroupsInput struct {

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`

	// The identifier for the replication group to be described. This parameter
	// is not case sensitive.
	//
	// If you do not specify this parameter, information about all replication
	// groups is returned.
	ReplicationGroupId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeReplicationGroups action.

func (DescribeReplicationGroupsInput) GoString

GoString returns the string representation

func (DescribeReplicationGroupsInput) String

String returns the string representation

type DescribeReplicationGroupsOutput

type DescribeReplicationGroupsOutput struct {

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`

	// A list of replication groups. Each item in the list contains detailed information
	// about one replication group.
	ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeReplicationGroups action.

func (DescribeReplicationGroupsOutput) GoString

GoString returns the string representation

func (DescribeReplicationGroupsOutput) String

String returns the string representation

type DescribeReservedCacheNodesInput

type DescribeReservedCacheNodesInput struct {

	// The cache node type filter value. Use this parameter to show only those reservations
	// matching the specified cache node type.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// The duration filter value, specified in years or seconds. Use this parameter
	// to show only reservations for this duration.
	//
	// Valid Values: 1 | 3 | 31536000 | 94608000
	Duration *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`

	// The offering type filter value. Use this parameter to show only the available
	// offerings matching the specified offering type.
	//
	// Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"
	OfferingType *string `type:"string"`

	// The product description filter value. Use this parameter to show only those
	// reservations matching the specified product description.
	ProductDescription *string `type:"string"`

	// The reserved cache node identifier filter value. Use this parameter to show
	// only the reservation that matches the specified reservation ID.
	ReservedCacheNodeId *string `type:"string"`

	// The offering identifier filter value. Use this parameter to show only purchased
	// reservations matching the specified offering identifier.
	ReservedCacheNodesOfferingId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeReservedCacheNodes action.

func (DescribeReservedCacheNodesInput) GoString

GoString returns the string representation

func (DescribeReservedCacheNodesInput) String

String returns the string representation

type DescribeReservedCacheNodesOfferingsInput

type DescribeReservedCacheNodesOfferingsInput struct {

	// The cache node type filter value. Use this parameter to show only the available
	// offerings matching the specified cache node type.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// Duration filter value, specified in years or seconds. Use this parameter
	// to show only reservations for a given duration.
	//
	// Valid Values: 1 | 3 | 31536000 | 94608000
	Duration *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 100
	//
	// Constraints: minimum 20; maximum 100.
	MaxRecords *int64 `type:"integer"`

	// The offering type filter value. Use this parameter to show only the available
	// offerings matching the specified offering type.
	//
	// Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization"
	OfferingType *string `type:"string"`

	// The product description filter value. Use this parameter to show only the
	// available offerings matching the specified product description.
	ProductDescription *string `type:"string"`

	// The offering identifier filter value. Use this parameter to show only the
	// available offering that matches the specified reservation identifier.
	//
	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
	ReservedCacheNodesOfferingId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeReservedCacheNodesOfferings action.

func (DescribeReservedCacheNodesOfferingsInput) GoString

GoString returns the string representation

func (DescribeReservedCacheNodesOfferingsInput) String

String returns the string representation

type DescribeReservedCacheNodesOfferingsOutput

type DescribeReservedCacheNodesOfferingsOutput struct {

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`

	// A list of reserved cache node offerings. Each element in the list contains
	// detailed information about one offering.
	ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeReservedCacheNodesOfferings action.

func (DescribeReservedCacheNodesOfferingsOutput) GoString

GoString returns the string representation

func (DescribeReservedCacheNodesOfferingsOutput) String

String returns the string representation

type DescribeReservedCacheNodesOutput

type DescribeReservedCacheNodesOutput struct {

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`

	// A list of reserved cache nodes. Each element in the list contains detailed
	// information about one node.
	ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeReservedCacheNodes action.

func (DescribeReservedCacheNodesOutput) GoString

GoString returns the string representation

func (DescribeReservedCacheNodesOutput) String

String returns the string representation

type DescribeSnapshotsInput

type DescribeSnapshotsInput struct {

	// A user-supplied cluster identifier. If this parameter is specified, only
	// snapshots associated with that specific cache cluster will be described.
	CacheClusterId *string `type:"string"`

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// The maximum number of records to include in the response. If more records
	// exist than the specified MaxRecords value, a marker is included in the response
	// so that the remaining results can be retrieved.
	//
	// Default: 50
	//
	// Constraints: minimum 20; maximum 50.
	MaxRecords *int64 `type:"integer"`

	// A user-supplied name of the snapshot. If this parameter is specified, only
	// this snapshot will be described.
	SnapshotName *string `type:"string"`

	// If set to system, the output shows snapshots that were automatically created
	// by ElastiCache. If set to user the output shows snapshots that were manually
	// created. If omitted, the output shows both automatically and manually created
	// snapshots.
	SnapshotSource *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a DescribeSnapshotsMessage action.

func (DescribeSnapshotsInput) GoString

func (s DescribeSnapshotsInput) GoString() string

GoString returns the string representation

func (DescribeSnapshotsInput) String

func (s DescribeSnapshotsInput) String() string

String returns the string representation

type DescribeSnapshotsOutput

type DescribeSnapshotsOutput struct {

	// An optional marker returned from a prior request. Use this marker for pagination
	// of results from this action. If this parameter is specified, the response
	// includes only records beyond the marker, up to the value specified by MaxRecords.
	Marker *string `type:"string"`

	// A list of snapshots. Each item in the list contains detailed information
	// about one snapshot.
	Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeSnapshots action.

func (DescribeSnapshotsOutput) GoString

func (s DescribeSnapshotsOutput) GoString() string

GoString returns the string representation

func (DescribeSnapshotsOutput) String

func (s DescribeSnapshotsOutput) String() string

String returns the string representation

type EC2SecurityGroup

type EC2SecurityGroup struct {

	// The name of the Amazon EC2 security group.
	EC2SecurityGroupName *string `type:"string"`

	// The AWS account ID of the Amazon EC2 security group owner.
	EC2SecurityGroupOwnerId *string `type:"string"`

	// The status of the Amazon EC2 security group.
	Status *string `type:"string"`
	// contains filtered or unexported fields
}

Provides ownership and status information for an Amazon EC2 security group.

func (EC2SecurityGroup) GoString

func (s EC2SecurityGroup) GoString() string

GoString returns the string representation

func (EC2SecurityGroup) String

func (s EC2SecurityGroup) String() string

String returns the string representation

type ElastiCache

type ElastiCache struct {
	*client.Client
}

Amazon ElastiCache is a web service that makes it easier to set up, operate, and scale a distributed cache in the cloud.

With ElastiCache, customers gain all of the benefits of a high-performance, in-memory cache with far less of the administrative burden of launching and managing a distributed cache. The service makes setup, scaling, and cluster failure handling much simpler than in a self-managed cache deployment.

In addition, through integration with Amazon CloudWatch, customers get enhanced visibility into the key performance statistics associated with their cache and can receive alarms if a part of their cache runs hot. The service client's operations are safe to be used concurrently. It is not safe to mutate any of the client's properties though.

func New

func New(p client.ConfigProvider, cfgs ...*aws.Config) *ElastiCache

New creates a new instance of the ElastiCache client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

// Create a ElastiCache client from just a session.
svc := elasticache.New(mySession)

// Create a ElastiCache client with additional configuration
svc := elasticache.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*ElastiCache) AddTagsToResource

func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error)

The AddTagsToResource action adds up to 10 cost allocation tags to the named resource. A cost allocation tag is a key-value pair where the key and value are case-sensitive. Cost allocation tags can be used to categorize and track your AWS costs.

When you apply tags to your ElastiCache resources, AWS generates a cost

allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags in Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Tagging.html) in the ElastiCache User Guide.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.AddTagsToResourceInput{
		ResourceName: aws.String("String"), // Required
		Tags: []*elasticache.Tag{ // Required
			{ // Required
				Key:   aws.String("String"),
				Value: aws.String("String"),
			},
			// More values...
		},
	}
	resp, err := svc.AddTagsToResource(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) AddTagsToResourceRequest

func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *TagListMessage)

AddTagsToResourceRequest generates a "aws/request.Request" representing the client's request for the AddTagsToResource operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the AddTagsToResource method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the AddTagsToResourceRequest method.
req, resp := client.AddTagsToResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) AuthorizeCacheSecurityGroupIngress

The AuthorizeCacheSecurityGroupIngress action allows network ingress to a cache security group. Applications using ElastiCache must be running on Amazon EC2, and Amazon EC2 security groups are used as the authorization mechanism.

You cannot authorize ingress from an Amazon EC2 security group in one region

to an ElastiCache cluster in another region.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.AuthorizeCacheSecurityGroupIngressInput{
		CacheSecurityGroupName:  aws.String("String"), // Required
		EC2SecurityGroupName:    aws.String("String"), // Required
		EC2SecurityGroupOwnerId: aws.String("String"), // Required
	}
	resp, err := svc.AuthorizeCacheSecurityGroupIngress(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) AuthorizeCacheSecurityGroupIngressRequest

func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput)

AuthorizeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the client's request for the AuthorizeCacheSecurityGroupIngress operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the AuthorizeCacheSecurityGroupIngress method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the AuthorizeCacheSecurityGroupIngressRequest method.
req, resp := client.AuthorizeCacheSecurityGroupIngressRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CopySnapshot

func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error)

The CopySnapshot action makes a copy of an existing snapshot.

Users or groups that have permissions to use the CopySnapshot API can create

their own Amazon S3 buckets and copy snapshots to it. To control access to your snapshots, use an IAM policy to control who has the ability to use the CopySnapshot API. For more information about using IAM to control the use of ElastiCache APIs, see Exporting Snapshots (http://docs.aws.amazon.com/ElastiCache/latest/Snapshots.Exporting.html) and Authentication & Access Control (http://docs.aws.amazon.com/ElastiCache/latest/IAM.html).

Erorr Message:     Error Message: The authenticated user does not have

sufficient permissions to perform the desired activity.

Solution: Contact your system administrator to get the needed permissions.
Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CopySnapshotInput{
		SourceSnapshotName: aws.String("String"), // Required
		TargetSnapshotName: aws.String("String"), // Required
		TargetBucket:       aws.String("String"),
	}
	resp, err := svc.CopySnapshot(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CopySnapshotRequest

func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput)

CopySnapshotRequest generates a "aws/request.Request" representing the client's request for the CopySnapshot operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CopySnapshot method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CopySnapshotRequest method.
req, resp := client.CopySnapshotRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CreateCacheCluster

func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error)

The CreateCacheCluster action creates a cache cluster. All nodes in the cache cluster run the same protocol-compliant cache engine software, either Memcached or Redis.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CreateCacheClusterInput{
		CacheClusterId:          aws.String("String"), // Required
		AZMode:                  aws.String("AZMode"),
		AutoMinorVersionUpgrade: aws.Bool(true),
		CacheNodeType:           aws.String("String"),
		CacheParameterGroupName: aws.String("String"),
		CacheSecurityGroupNames: []*string{
			aws.String("String"), // Required
			// More values...
		},
		CacheSubnetGroupName:      aws.String("String"),
		Engine:                    aws.String("String"),
		EngineVersion:             aws.String("String"),
		NotificationTopicArn:      aws.String("String"),
		NumCacheNodes:             aws.Int64(1),
		Port:                      aws.Int64(1),
		PreferredAvailabilityZone: aws.String("String"),
		PreferredAvailabilityZones: []*string{
			aws.String("String"), // Required
			// More values...
		},
		PreferredMaintenanceWindow: aws.String("String"),
		ReplicationGroupId:         aws.String("String"),
		SecurityGroupIds: []*string{
			aws.String("String"), // Required
			// More values...
		},
		SnapshotArns: []*string{
			aws.String("String"), // Required
			// More values...
		},
		SnapshotName:           aws.String("String"),
		SnapshotRetentionLimit: aws.Int64(1),
		SnapshotWindow:         aws.String("String"),
		Tags: []*elasticache.Tag{
			{ // Required
				Key:   aws.String("String"),
				Value: aws.String("String"),
			},
			// More values...
		},
	}
	resp, err := svc.CreateCacheCluster(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CreateCacheClusterRequest

func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput)

CreateCacheClusterRequest generates a "aws/request.Request" representing the client's request for the CreateCacheCluster operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CreateCacheCluster method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CreateCacheClusterRequest method.
req, resp := client.CreateCacheClusterRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CreateCacheParameterGroup

func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error)

The CreateCacheParameterGroup action creates a new cache parameter group. A cache parameter group is a collection of parameters that you apply to all of the nodes in a cache cluster.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CreateCacheParameterGroupInput{
		CacheParameterGroupFamily: aws.String("String"), // Required
		CacheParameterGroupName:   aws.String("String"), // Required
		Description:               aws.String("String"), // Required
	}
	resp, err := svc.CreateCacheParameterGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CreateCacheParameterGroupRequest

func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput)

CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the client's request for the CreateCacheParameterGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CreateCacheParameterGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CreateCacheParameterGroupRequest method.
req, resp := client.CreateCacheParameterGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CreateCacheSecurityGroup

func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error)

The CreateCacheSecurityGroup action creates a new cache security group. Use a cache security group to control access to one or more cache clusters.

Cache security groups are only used when you are creating a cache cluster outside of an Amazon Virtual Private Cloud (VPC). If you are creating a cache cluster inside of a VPC, use a cache subnet group instead. For more information, see CreateCacheSubnetGroup (http://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html).

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CreateCacheSecurityGroupInput{
		CacheSecurityGroupName: aws.String("String"), // Required
		Description:            aws.String("String"), // Required
	}
	resp, err := svc.CreateCacheSecurityGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CreateCacheSecurityGroupRequest

func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput)

CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the client's request for the CreateCacheSecurityGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CreateCacheSecurityGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CreateCacheSecurityGroupRequest method.
req, resp := client.CreateCacheSecurityGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CreateCacheSubnetGroup

func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error)

The CreateCacheSubnetGroup action creates a new cache subnet group.

Use this parameter only when you are creating a cluster in an Amazon Virtual Private Cloud (VPC).

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CreateCacheSubnetGroupInput{
		CacheSubnetGroupDescription: aws.String("String"), // Required
		CacheSubnetGroupName:        aws.String("String"), // Required
		SubnetIds: []*string{ // Required
			aws.String("String"), // Required
			// More values...
		},
	}
	resp, err := svc.CreateCacheSubnetGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CreateCacheSubnetGroupRequest

func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput)

CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the client's request for the CreateCacheSubnetGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CreateCacheSubnetGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CreateCacheSubnetGroupRequest method.
req, resp := client.CreateCacheSubnetGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CreateReplicationGroup

func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error)

The CreateReplicationGroup action creates a replication group. A replication group is a collection of cache clusters, where one of the cache clusters is a read/write primary and the others are read-only replicas. Writes to the primary are automatically propagated to the replicas.

When you create a replication group, you must specify an existing cache cluster that is in the primary role. When the replication group has been successfully created, you can add one or more read replica replicas to it, up to a total of five read replicas.

This action is valid only for Redis.
Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CreateReplicationGroupInput{
		ReplicationGroupDescription: aws.String("String"), // Required
		ReplicationGroupId:          aws.String("String"), // Required
		AutoMinorVersionUpgrade:     aws.Bool(true),
		AutomaticFailoverEnabled:    aws.Bool(true),
		CacheNodeType:               aws.String("String"),
		CacheParameterGroupName:     aws.String("String"),
		CacheSecurityGroupNames: []*string{
			aws.String("String"), // Required
			// More values...
		},
		CacheSubnetGroupName: aws.String("String"),
		Engine:               aws.String("String"),
		EngineVersion:        aws.String("String"),
		NotificationTopicArn: aws.String("String"),
		NumCacheClusters:     aws.Int64(1),
		Port:                 aws.Int64(1),
		PreferredCacheClusterAZs: []*string{
			aws.String("String"), // Required
			// More values...
		},
		PreferredMaintenanceWindow: aws.String("String"),
		PrimaryClusterId:           aws.String("String"),
		SecurityGroupIds: []*string{
			aws.String("String"), // Required
			// More values...
		},
		SnapshotArns: []*string{
			aws.String("String"), // Required
			// More values...
		},
		SnapshotName:           aws.String("String"),
		SnapshotRetentionLimit: aws.Int64(1),
		SnapshotWindow:         aws.String("String"),
		Tags: []*elasticache.Tag{
			{ // Required
				Key:   aws.String("String"),
				Value: aws.String("String"),
			},
			// More values...
		},
	}
	resp, err := svc.CreateReplicationGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CreateReplicationGroupRequest

func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput)

CreateReplicationGroupRequest generates a "aws/request.Request" representing the client's request for the CreateReplicationGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CreateReplicationGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CreateReplicationGroupRequest method.
req, resp := client.CreateReplicationGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) CreateSnapshot

func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error)

The CreateSnapshot action creates a copy of an entire cache cluster at a specific moment in time.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.CreateSnapshotInput{
		CacheClusterId: aws.String("String"), // Required
		SnapshotName:   aws.String("String"), // Required
	}
	resp, err := svc.CreateSnapshot(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) CreateSnapshotRequest

func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput)

CreateSnapshotRequest generates a "aws/request.Request" representing the client's request for the CreateSnapshot operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the CreateSnapshot method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the CreateSnapshotRequest method.
req, resp := client.CreateSnapshotRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DeleteCacheCluster

func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error)

The DeleteCacheCluster action deletes a previously provisioned cache cluster. DeleteCacheCluster deletes all associated cache nodes, node endpoints and the cache cluster itself. When you receive a successful response from this action, Amazon ElastiCache immediately begins deleting the cache cluster; you cannot cancel or revert this action.

This API cannot be used to delete a cache cluster that is the last read replica of a replication group that has Multi-AZ mode enabled.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DeleteCacheClusterInput{
		CacheClusterId:          aws.String("String"), // Required
		FinalSnapshotIdentifier: aws.String("String"),
	}
	resp, err := svc.DeleteCacheCluster(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DeleteCacheClusterRequest

func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput)

DeleteCacheClusterRequest generates a "aws/request.Request" representing the client's request for the DeleteCacheCluster operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DeleteCacheCluster method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DeleteCacheClusterRequest method.
req, resp := client.DeleteCacheClusterRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DeleteCacheParameterGroup

func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error)

The DeleteCacheParameterGroup action deletes the specified cache parameter group. You cannot delete a cache parameter group if it is associated with any cache clusters.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DeleteCacheParameterGroupInput{
		CacheParameterGroupName: aws.String("String"), // Required
	}
	resp, err := svc.DeleteCacheParameterGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DeleteCacheParameterGroupRequest

func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput)

DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the client's request for the DeleteCacheParameterGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DeleteCacheParameterGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DeleteCacheParameterGroupRequest method.
req, resp := client.DeleteCacheParameterGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DeleteCacheSecurityGroup

func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error)

The DeleteCacheSecurityGroup action deletes a cache security group.

You cannot delete a cache security group if it is associated with any cache

clusters.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DeleteCacheSecurityGroupInput{
		CacheSecurityGroupName: aws.String("String"), // Required
	}
	resp, err := svc.DeleteCacheSecurityGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DeleteCacheSecurityGroupRequest

func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput)

DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the client's request for the DeleteCacheSecurityGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DeleteCacheSecurityGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DeleteCacheSecurityGroupRequest method.
req, resp := client.DeleteCacheSecurityGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DeleteCacheSubnetGroup

func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error)

The DeleteCacheSubnetGroup action deletes a cache subnet group.

You cannot delete a cache subnet group if it is associated with any cache

clusters.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DeleteCacheSubnetGroupInput{
		CacheSubnetGroupName: aws.String("String"), // Required
	}
	resp, err := svc.DeleteCacheSubnetGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DeleteCacheSubnetGroupRequest

func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput)

DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the client's request for the DeleteCacheSubnetGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DeleteCacheSubnetGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DeleteCacheSubnetGroupRequest method.
req, resp := client.DeleteCacheSubnetGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DeleteReplicationGroup

func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error)

The DeleteReplicationGroup action deletes an existing replication group. By default, this action deletes the entire replication group, including the primary cluster and all of the read replicas. You can optionally delete only the read replicas, while retaining the primary cluster.

When you receive a successful response from this action, Amazon ElastiCache immediately begins deleting the selected resources; you cannot cancel or revert this action.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DeleteReplicationGroupInput{
		ReplicationGroupId:      aws.String("String"), // Required
		FinalSnapshotIdentifier: aws.String("String"),
		RetainPrimaryCluster:    aws.Bool(true),
	}
	resp, err := svc.DeleteReplicationGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DeleteReplicationGroupRequest

func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput)

DeleteReplicationGroupRequest generates a "aws/request.Request" representing the client's request for the DeleteReplicationGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DeleteReplicationGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DeleteReplicationGroupRequest method.
req, resp := client.DeleteReplicationGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DeleteSnapshot

func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error)

The DeleteSnapshot action deletes an existing snapshot. When you receive a successful response from this action, ElastiCache immediately begins deleting the snapshot; you cannot cancel or revert this action.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DeleteSnapshotInput{
		SnapshotName: aws.String("String"), // Required
	}
	resp, err := svc.DeleteSnapshot(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DeleteSnapshotRequest

func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput)

DeleteSnapshotRequest generates a "aws/request.Request" representing the client's request for the DeleteSnapshot operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DeleteSnapshot method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DeleteSnapshotRequest method.
req, resp := client.DeleteSnapshotRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeCacheClusters

func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error)

The DescribeCacheClusters action returns information about all provisioned cache clusters if no cache cluster identifier is specified, or about a specific cache cluster if a cache cluster identifier is supplied.

By default, abbreviated information about the cache clusters(s) will be returned. You can use the optional ShowDetails flag to retrieve detailed information about the cache nodes associated with the cache clusters. These details include the DNS address and port for the cache node endpoint.

If the cluster is in the CREATING state, only cluster level information will be displayed until all of the nodes are successfully provisioned.

If the cluster is in the DELETING state, only cluster level information will be displayed.

If cache nodes are currently being added to the cache cluster, node endpoint information and creation time for the additional nodes will not be displayed until they are completely provisioned. When the cache cluster state is available, the cluster is ready for use.

If cache nodes are currently being removed from the cache cluster, no endpoint information for the removed nodes is displayed.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeCacheClustersInput{
		CacheClusterId:    aws.String("String"),
		Marker:            aws.String("String"),
		MaxRecords:        aws.Int64(1),
		ShowCacheNodeInfo: aws.Bool(true),
	}
	resp, err := svc.DescribeCacheClusters(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeCacheClustersPages

func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(p *DescribeCacheClustersOutput, lastPage bool) (shouldContinue bool)) error

DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeCacheClusters method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeCacheClusters operation.
pageNum := 0
err := client.DescribeCacheClustersPages(params,
    func(page *DescribeCacheClustersOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeCacheClustersRequest

func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput)

DescribeCacheClustersRequest generates a "aws/request.Request" representing the client's request for the DescribeCacheClusters operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeCacheClusters method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeCacheClustersRequest method.
req, resp := client.DescribeCacheClustersRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeCacheEngineVersions

func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error)

The DescribeCacheEngineVersions action returns a list of the available cache engines and their versions.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeCacheEngineVersionsInput{
		CacheParameterGroupFamily: aws.String("String"),
		DefaultOnly:               aws.Bool(true),
		Engine:                    aws.String("String"),
		EngineVersion:             aws.String("String"),
		Marker:                    aws.String("String"),
		MaxRecords:                aws.Int64(1),
	}
	resp, err := svc.DescribeCacheEngineVersions(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeCacheEngineVersionsPages

func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(p *DescribeCacheEngineVersionsOutput, lastPage bool) (shouldContinue bool)) error

DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeCacheEngineVersions method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation.
pageNum := 0
err := client.DescribeCacheEngineVersionsPages(params,
    func(page *DescribeCacheEngineVersionsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeCacheEngineVersionsRequest

func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput)

DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the client's request for the DescribeCacheEngineVersions operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeCacheEngineVersions method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeCacheEngineVersionsRequest method.
req, resp := client.DescribeCacheEngineVersionsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeCacheParameterGroups

func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error)

The DescribeCacheParameterGroups action returns a list of cache parameter group descriptions. If a cache parameter group name is specified, the list will contain only the descriptions for that group.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeCacheParameterGroupsInput{
		CacheParameterGroupName: aws.String("String"),
		Marker:                  aws.String("String"),
		MaxRecords:              aws.Int64(1),
	}
	resp, err := svc.DescribeCacheParameterGroups(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeCacheParameterGroupsPages

func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(p *DescribeCacheParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error

DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeCacheParameterGroups method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation.
pageNum := 0
err := client.DescribeCacheParameterGroupsPages(params,
    func(page *DescribeCacheParameterGroupsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeCacheParameterGroupsRequest

func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput)

DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the client's request for the DescribeCacheParameterGroups operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeCacheParameterGroups method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeCacheParameterGroupsRequest method.
req, resp := client.DescribeCacheParameterGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeCacheParameters

func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error)

The DescribeCacheParameters action returns the detailed parameter list for a particular cache parameter group.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeCacheParametersInput{
		CacheParameterGroupName: aws.String("String"), // Required
		Marker:                  aws.String("String"),
		MaxRecords:              aws.Int64(1),
		Source:                  aws.String("String"),
	}
	resp, err := svc.DescribeCacheParameters(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeCacheParametersPages

func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(p *DescribeCacheParametersOutput, lastPage bool) (shouldContinue bool)) error

DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeCacheParameters method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeCacheParameters operation.
pageNum := 0
err := client.DescribeCacheParametersPages(params,
    func(page *DescribeCacheParametersOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeCacheParametersRequest

func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput)

DescribeCacheParametersRequest generates a "aws/request.Request" representing the client's request for the DescribeCacheParameters operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeCacheParameters method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeCacheParametersRequest method.
req, resp := client.DescribeCacheParametersRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeCacheSecurityGroups

func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error)

The DescribeCacheSecurityGroups action returns a list of cache security group descriptions. If a cache security group name is specified, the list will contain only the description of that group.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeCacheSecurityGroupsInput{
		CacheSecurityGroupName: aws.String("String"),
		Marker:                 aws.String("String"),
		MaxRecords:             aws.Int64(1),
	}
	resp, err := svc.DescribeCacheSecurityGroups(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeCacheSecurityGroupsPages

func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(p *DescribeCacheSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error

DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeCacheSecurityGroups method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation.
pageNum := 0
err := client.DescribeCacheSecurityGroupsPages(params,
    func(page *DescribeCacheSecurityGroupsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeCacheSecurityGroupsRequest

func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput)

DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the client's request for the DescribeCacheSecurityGroups operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeCacheSecurityGroups method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeCacheSecurityGroupsRequest method.
req, resp := client.DescribeCacheSecurityGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeCacheSubnetGroups

func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error)

The DescribeCacheSubnetGroups action returns a list of cache subnet group descriptions. If a subnet group name is specified, the list will contain only the description of that group.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeCacheSubnetGroupsInput{
		CacheSubnetGroupName: aws.String("String"),
		Marker:               aws.String("String"),
		MaxRecords:           aws.Int64(1),
	}
	resp, err := svc.DescribeCacheSubnetGroups(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeCacheSubnetGroupsPages

func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(p *DescribeCacheSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error

DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeCacheSubnetGroups method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation.
pageNum := 0
err := client.DescribeCacheSubnetGroupsPages(params,
    func(page *DescribeCacheSubnetGroupsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeCacheSubnetGroupsRequest

func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput)

DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the client's request for the DescribeCacheSubnetGroups operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeCacheSubnetGroups method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeCacheSubnetGroupsRequest method.
req, resp := client.DescribeCacheSubnetGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeEngineDefaultParameters

The DescribeEngineDefaultParameters action returns the default engine and system parameter information for the specified cache engine.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeEngineDefaultParametersInput{
		CacheParameterGroupFamily: aws.String("String"), // Required
		Marker:                    aws.String("String"),
		MaxRecords:                aws.Int64(1),
	}
	resp, err := svc.DescribeEngineDefaultParameters(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeEngineDefaultParametersPages

func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(p *DescribeEngineDefaultParametersOutput, lastPage bool) (shouldContinue bool)) error

DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeEngineDefaultParameters method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
pageNum := 0
err := client.DescribeEngineDefaultParametersPages(params,
    func(page *DescribeEngineDefaultParametersOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeEngineDefaultParametersRequest

func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput)

DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the client's request for the DescribeEngineDefaultParameters operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeEngineDefaultParameters method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeEngineDefaultParametersRequest method.
req, resp := client.DescribeEngineDefaultParametersRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeEvents

func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error)

The DescribeEvents action returns events related to cache clusters, cache security groups, and cache parameter groups. You can obtain events specific to a particular cache cluster, cache security group, or cache parameter group by providing the name as a parameter.

By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

Example
package main

import (
	"fmt"
	"time"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeEventsInput{
		Duration:         aws.Int64(1),
		EndTime:          aws.Time(time.Now()),
		Marker:           aws.String("String"),
		MaxRecords:       aws.Int64(1),
		SourceIdentifier: aws.String("String"),
		SourceType:       aws.String("SourceType"),
		StartTime:        aws.Time(time.Now()),
	}
	resp, err := svc.DescribeEvents(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeEventsPages

func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error

DescribeEventsPages iterates over the pages of a DescribeEvents operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeEvents method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeEvents operation.
pageNum := 0
err := client.DescribeEventsPages(params,
    func(page *DescribeEventsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeEventsRequest

func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput)

DescribeEventsRequest generates a "aws/request.Request" representing the client's request for the DescribeEvents operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeEvents method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeEventsRequest method.
req, resp := client.DescribeEventsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeReplicationGroups

func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error)

The DescribeReplicationGroups action returns information about a particular replication group. If no identifier is specified, DescribeReplicationGroups returns information about all replication groups.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeReplicationGroupsInput{
		Marker:             aws.String("String"),
		MaxRecords:         aws.Int64(1),
		ReplicationGroupId: aws.String("String"),
	}
	resp, err := svc.DescribeReplicationGroups(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeReplicationGroupsPages

func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(p *DescribeReplicationGroupsOutput, lastPage bool) (shouldContinue bool)) error

DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeReplicationGroups method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeReplicationGroups operation.
pageNum := 0
err := client.DescribeReplicationGroupsPages(params,
    func(page *DescribeReplicationGroupsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeReplicationGroupsRequest

func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput)

DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the client's request for the DescribeReplicationGroups operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeReplicationGroups method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeReplicationGroupsRequest method.
req, resp := client.DescribeReplicationGroupsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeReservedCacheNodes

func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error)

The DescribeReservedCacheNodes action returns information about reserved cache nodes for this account, or about a specified reserved cache node.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeReservedCacheNodesInput{
		CacheNodeType:                aws.String("String"),
		Duration:                     aws.String("String"),
		Marker:                       aws.String("String"),
		MaxRecords:                   aws.Int64(1),
		OfferingType:                 aws.String("String"),
		ProductDescription:           aws.String("String"),
		ReservedCacheNodeId:          aws.String("String"),
		ReservedCacheNodesOfferingId: aws.String("String"),
	}
	resp, err := svc.DescribeReservedCacheNodes(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeReservedCacheNodesOfferings

The DescribeReservedCacheNodesOfferings action lists available reserved cache node offerings.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeReservedCacheNodesOfferingsInput{
		CacheNodeType:                aws.String("String"),
		Duration:                     aws.String("String"),
		Marker:                       aws.String("String"),
		MaxRecords:                   aws.Int64(1),
		OfferingType:                 aws.String("String"),
		ProductDescription:           aws.String("String"),
		ReservedCacheNodesOfferingId: aws.String("String"),
	}
	resp, err := svc.DescribeReservedCacheNodesOfferings(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeReservedCacheNodesOfferingsPages

func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(p *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) (shouldContinue bool)) error

DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeReservedCacheNodesOfferings method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation.
pageNum := 0
err := client.DescribeReservedCacheNodesOfferingsPages(params,
    func(page *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeReservedCacheNodesOfferingsRequest

func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput)

DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeReservedCacheNodesOfferings method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method.
req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeReservedCacheNodesPages

func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(p *DescribeReservedCacheNodesOutput, lastPage bool) (shouldContinue bool)) error

DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeReservedCacheNodes method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation.
pageNum := 0
err := client.DescribeReservedCacheNodesPages(params,
    func(page *DescribeReservedCacheNodesOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeReservedCacheNodesRequest

func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput)

DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the client's request for the DescribeReservedCacheNodes operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeReservedCacheNodes method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeReservedCacheNodesRequest method.
req, resp := client.DescribeReservedCacheNodesRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) DescribeSnapshots

func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error)

The DescribeSnapshots action returns information about cache cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cache cluster.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.DescribeSnapshotsInput{
		CacheClusterId: aws.String("String"),
		Marker:         aws.String("String"),
		MaxRecords:     aws.Int64(1),
		SnapshotName:   aws.String("String"),
		SnapshotSource: aws.String("String"),
	}
	resp, err := svc.DescribeSnapshots(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) DescribeSnapshotsPages

func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error

DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, calling the "fn" function with the response data for each page. To stop iterating, return false from the fn function.

See DescribeSnapshots method for more information on how to use this operation.

Note: This operation can generate multiple requests to a service.

// Example iterating over at most 3 pages of a DescribeSnapshots operation.
pageNum := 0
err := client.DescribeSnapshotsPages(params,
    func(page *DescribeSnapshotsOutput, lastPage bool) bool {
        pageNum++
        fmt.Println(page)
        return pageNum <= 3
    })

func (*ElastiCache) DescribeSnapshotsRequest

func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput)

DescribeSnapshotsRequest generates a "aws/request.Request" representing the client's request for the DescribeSnapshots operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the DescribeSnapshots method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the DescribeSnapshotsRequest method.
req, resp := client.DescribeSnapshotsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ListAllowedNodeTypeModifications

The ListAllowedNodeTypeModifications action lists all available node types that you can scale your Redis cluster's or replication group's current node type up to.

When you use the ModifyCacheCluster or ModifyReplicationGroup APIs to scale up your cluster or replication group, the value of the CacheNodeType parameter must be one of the node types returned by this action.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ListAllowedNodeTypeModificationsInput{
		CacheClusterId:     aws.String("String"),
		ReplicationGroupId: aws.String("String"),
	}
	resp, err := svc.ListAllowedNodeTypeModifications(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ListAllowedNodeTypeModificationsRequest

func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput)

ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the client's request for the ListAllowedNodeTypeModifications operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ListAllowedNodeTypeModifications method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ListAllowedNodeTypeModificationsRequest method.
req, resp := client.ListAllowedNodeTypeModificationsRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ListTagsForResource

func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error)

The ListTagsForResource action lists all cost allocation tags currently on the named resource. A cost allocation tag is a key-value pair where the key is case-sensitive and the value is optional. Cost allocation tags can be used to categorize and track your AWS costs.

You can have a maximum of 10 cost allocation tags on an ElastiCache resource. For more information, see Using Cost Allocation Tags in Amazon ElastiCache (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html).

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ListTagsForResourceInput{
		ResourceName: aws.String("String"), // Required
	}
	resp, err := svc.ListTagsForResource(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ListTagsForResourceRequest

func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage)

ListTagsForResourceRequest generates a "aws/request.Request" representing the client's request for the ListTagsForResource operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ListTagsForResource method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ListTagsForResourceRequest method.
req, resp := client.ListTagsForResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ModifyCacheCluster

func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error)

The ModifyCacheCluster action modifies the settings for a cache cluster. You can use this action to change one or more cluster configuration parameters by specifying the parameters and the new values.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ModifyCacheClusterInput{
		CacheClusterId:          aws.String("String"), // Required
		AZMode:                  aws.String("AZMode"),
		ApplyImmediately:        aws.Bool(true),
		AutoMinorVersionUpgrade: aws.Bool(true),
		CacheNodeIdsToRemove: []*string{
			aws.String("String"), // Required
			// More values...
		},
		CacheNodeType:           aws.String("String"),
		CacheParameterGroupName: aws.String("String"),
		CacheSecurityGroupNames: []*string{
			aws.String("String"), // Required
			// More values...
		},
		EngineVersion: aws.String("String"),
		NewAvailabilityZones: []*string{
			aws.String("String"), // Required
			// More values...
		},
		NotificationTopicArn:       aws.String("String"),
		NotificationTopicStatus:    aws.String("String"),
		NumCacheNodes:              aws.Int64(1),
		PreferredMaintenanceWindow: aws.String("String"),
		SecurityGroupIds: []*string{
			aws.String("String"), // Required
			// More values...
		},
		SnapshotRetentionLimit: aws.Int64(1),
		SnapshotWindow:         aws.String("String"),
	}
	resp, err := svc.ModifyCacheCluster(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ModifyCacheClusterRequest

func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput)

ModifyCacheClusterRequest generates a "aws/request.Request" representing the client's request for the ModifyCacheCluster operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ModifyCacheCluster method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ModifyCacheClusterRequest method.
req, resp := client.ModifyCacheClusterRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ModifyCacheParameterGroup

func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error)

The ModifyCacheParameterGroup action modifies the parameters of a cache parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ModifyCacheParameterGroupInput{
		CacheParameterGroupName: aws.String("String"), // Required
		ParameterNameValues: []*elasticache.ParameterNameValue{ // Required
			{ // Required
				ParameterName:  aws.String("String"),
				ParameterValue: aws.String("String"),
			},
			// More values...
		},
	}
	resp, err := svc.ModifyCacheParameterGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ModifyCacheParameterGroupRequest

func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage)

ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the client's request for the ModifyCacheParameterGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ModifyCacheParameterGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ModifyCacheParameterGroupRequest method.
req, resp := client.ModifyCacheParameterGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ModifyCacheSubnetGroup

func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error)

The ModifyCacheSubnetGroup action modifies an existing cache subnet group.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ModifyCacheSubnetGroupInput{
		CacheSubnetGroupName:        aws.String("String"), // Required
		CacheSubnetGroupDescription: aws.String("String"),
		SubnetIds: []*string{
			aws.String("String"), // Required
			// More values...
		},
	}
	resp, err := svc.ModifyCacheSubnetGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ModifyCacheSubnetGroupRequest

func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput)

ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the client's request for the ModifyCacheSubnetGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ModifyCacheSubnetGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ModifyCacheSubnetGroupRequest method.
req, resp := client.ModifyCacheSubnetGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ModifyReplicationGroup

func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error)

The ModifyReplicationGroup action modifies the settings for a replication group.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ModifyReplicationGroupInput{
		ReplicationGroupId:       aws.String("String"), // Required
		ApplyImmediately:         aws.Bool(true),
		AutoMinorVersionUpgrade:  aws.Bool(true),
		AutomaticFailoverEnabled: aws.Bool(true),
		CacheNodeType:            aws.String("String"),
		CacheParameterGroupName:  aws.String("String"),
		CacheSecurityGroupNames: []*string{
			aws.String("String"), // Required
			// More values...
		},
		EngineVersion:               aws.String("String"),
		NotificationTopicArn:        aws.String("String"),
		NotificationTopicStatus:     aws.String("String"),
		PreferredMaintenanceWindow:  aws.String("String"),
		PrimaryClusterId:            aws.String("String"),
		ReplicationGroupDescription: aws.String("String"),
		SecurityGroupIds: []*string{
			aws.String("String"), // Required
			// More values...
		},
		SnapshotRetentionLimit: aws.Int64(1),
		SnapshotWindow:         aws.String("String"),
		SnapshottingClusterId:  aws.String("String"),
	}
	resp, err := svc.ModifyReplicationGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ModifyReplicationGroupRequest

func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput)

ModifyReplicationGroupRequest generates a "aws/request.Request" representing the client's request for the ModifyReplicationGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ModifyReplicationGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ModifyReplicationGroupRequest method.
req, resp := client.ModifyReplicationGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) PurchaseReservedCacheNodesOffering

The PurchaseReservedCacheNodesOffering action allows you to purchase a reserved cache node offering.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.PurchaseReservedCacheNodesOfferingInput{
		ReservedCacheNodesOfferingId: aws.String("String"), // Required
		CacheNodeCount:               aws.Int64(1),
		ReservedCacheNodeId:          aws.String("String"),
	}
	resp, err := svc.PurchaseReservedCacheNodesOffering(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) PurchaseReservedCacheNodesOfferingRequest

func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput)

PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the PurchaseReservedCacheNodesOffering method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method.
req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) RebootCacheCluster

func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error)

The RebootCacheCluster action reboots some, or all, of the cache nodes within a provisioned cache cluster. This API will apply any modified cache parameter groups to the cache cluster. The reboot action takes place as soon as possible, and results in a momentary outage to the cache cluster. During the reboot, the cache cluster status is set to REBOOTING.

The reboot causes the contents of the cache (for each cache node being rebooted) to be lost.

When the reboot is complete, a cache cluster event is created.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.RebootCacheClusterInput{
		CacheClusterId: aws.String("String"), // Required
		CacheNodeIdsToReboot: []*string{ // Required
			aws.String("String"), // Required
			// More values...
		},
	}
	resp, err := svc.RebootCacheCluster(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) RebootCacheClusterRequest

func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput)

RebootCacheClusterRequest generates a "aws/request.Request" representing the client's request for the RebootCacheCluster operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the RebootCacheCluster method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the RebootCacheClusterRequest method.
req, resp := client.RebootCacheClusterRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) RemoveTagsFromResource

func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error)

The RemoveTagsFromResource action removes the tags identified by the TagKeys list from the named resource.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.RemoveTagsFromResourceInput{
		ResourceName: aws.String("String"), // Required
		TagKeys: []*string{ // Required
			aws.String("String"), // Required
			// More values...
		},
	}
	resp, err := svc.RemoveTagsFromResource(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) RemoveTagsFromResourceRequest

func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage)

RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the client's request for the RemoveTagsFromResource operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the RemoveTagsFromResource method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the RemoveTagsFromResourceRequest method.
req, resp := client.RemoveTagsFromResourceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) ResetCacheParameterGroup

func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error)

The ResetCacheParameterGroup action modifies the parameters of a cache parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire cache parameter group, specify the ResetAllParameters and CacheParameterGroupName parameters.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.ResetCacheParameterGroupInput{
		CacheParameterGroupName: aws.String("String"), // Required
		ParameterNameValues: []*elasticache.ParameterNameValue{
			{ // Required
				ParameterName:  aws.String("String"),
				ParameterValue: aws.String("String"),
			},
			// More values...
		},
		ResetAllParameters: aws.Bool(true),
	}
	resp, err := svc.ResetCacheParameterGroup(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) ResetCacheParameterGroupRequest

func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage)

ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the client's request for the ResetCacheParameterGroup operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the ResetCacheParameterGroup method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the ResetCacheParameterGroupRequest method.
req, resp := client.ResetCacheParameterGroupRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) RevokeCacheSecurityGroupIngress

The RevokeCacheSecurityGroupIngress action revokes ingress from a cache security group. Use this action to disallow access from an Amazon EC2 security group that had been previously authorized.

Example
package main

import (
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/elasticache"
)

func main() {
	sess, err := session.NewSession()
	if err != nil {
		fmt.Println("failed to create session,", err)
		return
	}

	svc := elasticache.New(sess)

	params := &elasticache.RevokeCacheSecurityGroupIngressInput{
		CacheSecurityGroupName:  aws.String("String"), // Required
		EC2SecurityGroupName:    aws.String("String"), // Required
		EC2SecurityGroupOwnerId: aws.String("String"), // Required
	}
	resp, err := svc.RevokeCacheSecurityGroupIngress(params)

	if err != nil {
		// Print the error, cast err to awserr.Error to get the Code and
		// Message from an error.
		fmt.Println(err.Error())
		return
	}

	// Pretty-print the response data.
	fmt.Println(resp)
}
Output:

func (*ElastiCache) RevokeCacheSecurityGroupIngressRequest

func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput)

RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return value can be used to capture response data after the request's "Send" method is called.

Creating a request object using this method should be used when you want to inject custom logic into the request's lifecycle using a custom handler, or if you want to access properties on the request object before or after sending the request. If you just want the service response, call the RevokeCacheSecurityGroupIngress method directly instead.

Note: You must call the "Send" method on the returned request object in order to execute the request.

// Example sending a request using the RevokeCacheSecurityGroupIngressRequest method.
req, resp := client.RevokeCacheSecurityGroupIngressRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

func (*ElastiCache) WaitUntilCacheClusterAvailable

func (c *ElastiCache) WaitUntilCacheClusterAvailable(input *DescribeCacheClustersInput) error

func (*ElastiCache) WaitUntilCacheClusterDeleted

func (c *ElastiCache) WaitUntilCacheClusterDeleted(input *DescribeCacheClustersInput) error

func (*ElastiCache) WaitUntilReplicationGroupAvailable

func (c *ElastiCache) WaitUntilReplicationGroupAvailable(input *DescribeReplicationGroupsInput) error

func (*ElastiCache) WaitUntilReplicationGroupDeleted

func (c *ElastiCache) WaitUntilReplicationGroupDeleted(input *DescribeReplicationGroupsInput) error

type Endpoint

type Endpoint struct {

	// The DNS hostname of the cache node.
	Address *string `type:"string"`

	// The port number that the cache engine is listening on.
	Port *int64 `type:"integer"`
	// contains filtered or unexported fields
}

Represents the information required for client programs to connect to a cache node.

func (Endpoint) GoString

func (s Endpoint) GoString() string

GoString returns the string representation

func (Endpoint) String

func (s Endpoint) String() string

String returns the string representation

type EngineDefaults

type EngineDefaults struct {

	// A list of parameters specific to a particular cache node type. Each element
	// in the list contains detailed information about one parameter.
	CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"`

	// Specifies the name of the cache parameter group family to which the engine
	// default parameters apply.
	CacheParameterGroupFamily *string `type:"string"`

	// Provides an identifier to allow retrieval of paginated results.
	Marker *string `type:"string"`

	// Contains a list of engine default parameters.
	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
	// contains filtered or unexported fields
}

Represents the output of a DescribeEngineDefaultParameters action.

func (EngineDefaults) GoString

func (s EngineDefaults) GoString() string

GoString returns the string representation

func (EngineDefaults) String

func (s EngineDefaults) String() string

String returns the string representation

type Event

type Event struct {

	// The date and time when the event occurred.
	Date *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The text of the event.
	Message *string `type:"string"`

	// The identifier for the source of the event. For example, if the event occurred
	// at the cache cluster level, the identifier would be the name of the cache
	// cluster.
	SourceIdentifier *string `type:"string"`

	// Specifies the origin of this event - a cache cluster, a parameter group,
	// a security group, etc.
	SourceType *string `type:"string" enum:"SourceType"`
	// contains filtered or unexported fields
}

Represents a single occurrence of something interesting within the system. Some examples of events are creating a cache cluster, adding or removing a cache node, or rebooting a node.

func (Event) GoString

func (s Event) GoString() string

GoString returns the string representation

func (Event) String

func (s Event) String() string

String returns the string representation

type ListAllowedNodeTypeModificationsInput

type ListAllowedNodeTypeModificationsInput struct {

	// The name of the cache cluster you want to scale up to a larger node instanced
	// type. ElastiCache uses the cluster id to identify the current node type of
	// this cluster and from that to to create a list of node types you can scale
	// up to.
	//
	//  You must provide a value for either the CacheClusterId or the ReplicationGroupId.
	CacheClusterId *string `type:"string"`

	// The name of the replication group want to scale up to a larger node type.
	// ElastiCache uses the replication group id to identify the current node type
	// being used by this replication group, and from that to create a list of node
	// types you can scale up to.
	//
	//  You must provide a value for either the CacheClusterId or the ReplicationGroupId.
	ReplicationGroupId *string `type:"string"`
	// contains filtered or unexported fields
}

The input parameters for the ListAllowedNodeTypeModifications action.

func (ListAllowedNodeTypeModificationsInput) GoString

GoString returns the string representation

func (ListAllowedNodeTypeModificationsInput) String

String returns the string representation

type ListAllowedNodeTypeModificationsOutput

type ListAllowedNodeTypeModificationsOutput struct {

	// A string list, each element of which specifies a cache node type which you
	// can use to scale your cache cluster or replication group.
	//
	// When scaling up a Redis cluster or replication group using ModifyCacheCluster
	// or ModifyReplicationGroup, use a value from this list for the CacheNodeType
	// parameter.
	ScaleUpModifications []*string `type:"list"`
	// contains filtered or unexported fields
}

Represents the allowed node types you can use to modify your cache cluster or replication group.

func (ListAllowedNodeTypeModificationsOutput) GoString

GoString returns the string representation

func (ListAllowedNodeTypeModificationsOutput) String

String returns the string representation

type ListTagsForResourceInput

type ListTagsForResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource for which you want the list
	// of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
	// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.
	//
	// For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS
	// Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
	ResourceName *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

The input parameters for the ListTagsForResource action.

func (ListTagsForResourceInput) GoString

func (s ListTagsForResourceInput) GoString() string

GoString returns the string representation

func (ListTagsForResourceInput) String

func (s ListTagsForResourceInput) String() string

String returns the string representation

func (*ListTagsForResourceInput) Validate

func (s *ListTagsForResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ModifyCacheClusterInput

type ModifyCacheClusterInput struct {

	// Specifies whether the new nodes in this Memcached cache cluster are all created
	// in a single Availability Zone or created across multiple Availability Zones.
	//
	// Valid values: single-az | cross-az.
	//
	// This option is only supported for Memcached cache clusters.
	//
	//  You cannot specify single-az if the Memcached cache cluster already has
	// cache nodes in different Availability Zones. If cross-az is specified, existing
	// Memcached nodes remain in their current Availability Zone.
	//
	// Only newly created nodes will be located in different Availability Zones.
	// For instructions on how to move existing Memcached nodes to different Availability
	// Zones, see the Availability Zone Considerations section of Cache Node Considerations
	// for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html).
	AZMode *string `type:"string" enum:"AZMode"`

	// If true, this parameter causes the modifications in this request and any
	// pending modifications to be applied, asynchronously and as soon as possible,
	// regardless of the PreferredMaintenanceWindow setting for the cache cluster.
	//
	// If false, then changes to the cache cluster are applied on the next maintenance
	// reboot, or the next failure reboot, whichever occurs first.
	//
	//  If you perform a ModifyCacheCluster before a pending modification is applied,
	// the pending modification is replaced by the newer modification.
	//
	//  Valid values: true | false
	//
	// Default: false
	ApplyImmediately *bool `type:"boolean"`

	// This parameter is currently disabled.
	AutoMinorVersionUpgrade *bool `type:"boolean"`

	// The cache cluster identifier. This value is stored as a lowercase string.
	CacheClusterId *string `type:"string" required:"true"`

	// A list of cache node IDs to be removed. A node ID is a numeric identifier
	// (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less
	// than the existing number of cache nodes. The number of cache node IDs supplied
	// in this parameter must match the difference between the existing number of
	// cache nodes in the cluster or pending cache nodes, whichever is greater,
	// and the value of NumCacheNodes in the request.
	//
	// For example: If you have 3 active cache nodes, 7 pending cache nodes, and
	// the number of cache nodes in this ModifyCacheCluser call is 5, you must list
	// 2 (7 - 5) cache node IDs to remove.
	CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"`

	// A valid cache node type that you want to scale this cache cluster to. The
	// value of this parameter must be one of the ScaleUpModifications values returned
	// by the ListAllowedCacheNodeTypeModification action.
	CacheNodeType *string `type:"string"`

	// The name of the cache parameter group to apply to this cache cluster. This
	// change is asynchronously applied as soon as possible for parameters when
	// the ApplyImmediately parameter is specified as true for this request.
	CacheParameterGroupName *string `type:"string"`

	// A list of cache security group names to authorize on this cache cluster.
	// This change is asynchronously applied as soon as possible.
	//
	// This parameter can be used only with clusters that are created outside of
	// an Amazon Virtual Private Cloud (VPC).
	//
	// Constraints: Must contain no more than 255 alphanumeric characters. Must
	// not be "Default".
	CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`

	// The upgraded version of the cache engine to be run on the cache nodes.
	//
	//  Important: You can upgrade to a newer engine version (see Selecting a Cache
	// Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)),
	// but you cannot downgrade to an earlier engine version. If you want to use
	// an earlier engine version, you must delete the existing cache cluster and
	// create it anew with the earlier engine version.
	EngineVersion *string `type:"string"`

	// The list of Availability Zones where the new Memcached cache nodes will be
	// created.
	//
	// This parameter is only valid when NumCacheNodes in the request is greater
	// than the sum of the number of active cache nodes and the number of cache
	// nodes pending creation (which may be zero). The number of Availability Zones
	// supplied in this list must match the cache nodes being added in this request.
	//
	// This option is only supported on Memcached clusters.
	//
	// Scenarios:
	//
	//    Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify
	// NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones for
	// the two new nodes.
	//
	//    Scenario 2: You have 3 active nodes and 2 nodes pending creation (from
	// the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6
	// ((3 + 2) + 1) and optionally specify an Availability Zone for the new node.
	//
	//    Scenario 3: You want to cancel all pending actions. Specify NumCacheNodes=3
	// to cancel all pending actions.
	//
	//   The Availability Zone placement of nodes pending creation cannot be modified.
	// If you wish to cancel any nodes pending creation, add 0 nodes by setting
	// NumCacheNodes to the number of current nodes.
	//
	// If cross-az is specified, existing Memcached nodes remain in their current
	// Availability Zone. Only newly created nodes can be located in different Availability
	// Zones. For guidance on how to move existing Memcached nodes to different
	// Availability Zones, see the Availability Zone Considerations section of Cache
	// Node Considerations for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheNode.Memcached.html).
	//
	//  Impact of new add/remove requests upon pending requests
	//
	//   Scenario-1
	//
	//   Pending Action: Delete
	//
	//   New Request: Delete
	//
	//   Result: The new delete, pending or immediate, replaces the pending delete.
	//
	//     Scenario-2
	//
	//   Pending Action: Delete
	//
	//   New Request: Create
	//
	//   Result: The new create, pending or immediate, replaces the pending delete.
	//
	//     Scenario-3
	//
	//   Pending Action: Create
	//
	//   New Request: Delete
	//
	//   Result: The new delete, pending or immediate, replaces the pending create.
	//
	//     Scenario-4
	//
	//   Pending Action: Create
	//
	//   New Request: Create
	//
	//   Result: The new create is added to the pending create.
	//
	//   Important: If the new create request is Apply Immediately - Yes, all creates
	// are performed immediately. If the new create request is Apply Immediately
	// - No, all creates are pending.
	//
	//      Example:
	//
	//  NewAvailabilityZones.member.1=us-west-2a&amp;NewAvailabilityZones.member.2=us-west-2b&amp;NewAvailabilityZones.member.3=us-west-2c
	NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"`

	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
	// will be sent.
	//
	//  The Amazon SNS topic owner must be same as the cache cluster owner.
	NotificationTopicArn *string `type:"string"`

	// The status of the Amazon SNS notification topic. Notifications are sent only
	// if the status is active.
	//
	// Valid values: active | inactive
	NotificationTopicStatus *string `type:"string"`

	// The number of cache nodes that the cache cluster should have. If the value
	// for NumCacheNodes is greater than the sum of the number of current cache
	// nodes and the number of cache nodes pending creation (which may be zero),
	// then more nodes will be added. If the value is less than the number of existing
	// cache nodes, then nodes will be removed. If the value is equal to the number
	// of current cache nodes, then any pending add or remove requests are canceled.
	//
	// If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter
	// to provide the IDs of the specific cache nodes to remove.
	//
	// For clusters running Redis, this value must be 1. For clusters running Memcached,
	// this value must be between 1 and 20.
	//
	//  Adding or removing Memcached cache nodes can be applied immediately or
	// as a pending action. See ApplyImmediately.
	//
	// A pending action to modify the number of cache nodes in a cluster during
	// its maintenance window, whether by adding or removing nodes in accordance
	// with the scale out architecture, is not queued. The customer's latest request
	// to add or remove nodes to the cluster overrides any previous pending actions
	// to modify the number of cache nodes in the cluster. For example, a request
	// to remove 2 nodes would override a previous pending action to remove 3 nodes.
	// Similarly, a request to add 2 nodes would override a previous pending action
	// to remove 3 nodes and vice versa. As Memcached cache nodes may now be provisioned
	// in different Availability Zones with flexible cache node placement, a request
	// to add nodes does not automatically override a previous pending action to
	// add nodes. The customer can modify the previous pending action to add more
	// nodes or explicitly cancel the pending request and retry the new request.
	// To cancel pending actions to modify the number of cache nodes in a cluster,
	// use the ModifyCacheCluster request and set NumCacheNodes equal to the number
	// of cache nodes currently in the cache cluster.
	NumCacheNodes *int64 `type:"integer"`

	// Specifies the weekly time range during which maintenance on the cache cluster
	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
	// values for ddd are:
	//
	//    sun
	//
	//    mon
	//
	//    tue
	//
	//    wed
	//
	//    thu
	//
	//    fri
	//
	//    sat
	//
	//   Example: sun:05:00-sun:09:00
	PreferredMaintenanceWindow *string `type:"string"`

	// Specifies the VPC Security Groups associated with the cache cluster.
	//
	// This parameter can be used only with clusters that are created in an Amazon
	// Virtual Private Cloud (VPC).
	SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`

	// The number of days for which ElastiCache will retain automatic cache cluster
	// snapshots before deleting them. For example, if you set SnapshotRetentionLimit
	// to 5, then a snapshot that was taken today will be retained for 5 days before
	// being deleted.
	//
	//  If the value of SnapshotRetentionLimit is set to zero (0), backups are
	// turned off.
	SnapshotRetentionLimit *int64 `type:"integer"`

	// The daily time range (in UTC) during which ElastiCache will begin taking
	// a daily snapshot of your cache cluster.
	SnapshotWindow *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a ModifyCacheCluster action.

func (ModifyCacheClusterInput) GoString

func (s ModifyCacheClusterInput) GoString() string

GoString returns the string representation

func (ModifyCacheClusterInput) String

func (s ModifyCacheClusterInput) String() string

String returns the string representation

func (*ModifyCacheClusterInput) Validate

func (s *ModifyCacheClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ModifyCacheClusterOutput

type ModifyCacheClusterOutput struct {

	// Contains all of the attributes of a specific cache cluster.
	CacheCluster *CacheCluster `type:"structure"`
	// contains filtered or unexported fields
}

func (ModifyCacheClusterOutput) GoString

func (s ModifyCacheClusterOutput) GoString() string

GoString returns the string representation

func (ModifyCacheClusterOutput) String

func (s ModifyCacheClusterOutput) String() string

String returns the string representation

type ModifyCacheParameterGroupInput

type ModifyCacheParameterGroupInput struct {

	// The name of the cache parameter group to modify.
	CacheParameterGroupName *string `type:"string" required:"true"`

	// An array of parameter names and values for the parameter update. You must
	// supply at least one parameter name and value; subsequent arguments are optional.
	// A maximum of 20 parameters may be modified per request.
	ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a ModifyCacheParameterGroup action.

func (ModifyCacheParameterGroupInput) GoString

GoString returns the string representation

func (ModifyCacheParameterGroupInput) String

String returns the string representation

func (*ModifyCacheParameterGroupInput) Validate

func (s *ModifyCacheParameterGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ModifyCacheSubnetGroupInput

type ModifyCacheSubnetGroupInput struct {

	// A description for the cache subnet group.
	CacheSubnetGroupDescription *string `type:"string"`

	// The name for the cache subnet group. This value is stored as a lowercase
	// string.
	//
	// Constraints: Must contain no more than 255 alphanumeric characters or hyphens.
	//
	// Example: mysubnetgroup
	CacheSubnetGroupName *string `type:"string" required:"true"`

	// The EC2 subnet IDs for the cache subnet group.
	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"`
	// contains filtered or unexported fields
}

Represents the input of a ModifyCacheSubnetGroup action.

func (ModifyCacheSubnetGroupInput) GoString

func (s ModifyCacheSubnetGroupInput) GoString() string

GoString returns the string representation

func (ModifyCacheSubnetGroupInput) String

String returns the string representation

func (*ModifyCacheSubnetGroupInput) Validate

func (s *ModifyCacheSubnetGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ModifyCacheSubnetGroupOutput

type ModifyCacheSubnetGroupOutput struct {

	// Represents the output of one of the following actions:
	//
	//    CreateCacheSubnetGroup
	//
	//    ModifyCacheSubnetGroup
	CacheSubnetGroup *CacheSubnetGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (ModifyCacheSubnetGroupOutput) GoString

func (s ModifyCacheSubnetGroupOutput) GoString() string

GoString returns the string representation

func (ModifyCacheSubnetGroupOutput) String

String returns the string representation

type ModifyReplicationGroupInput

type ModifyReplicationGroupInput struct {

	// If true, this parameter causes the modifications in this request and any
	// pending modifications to be applied, asynchronously and as soon as possible,
	// regardless of the PreferredMaintenanceWindow setting for the replication
	// group.
	//
	// If false, then changes to the nodes in the replication group are applied
	// on the next maintenance reboot, or the next failure reboot, whichever occurs
	// first.
	//
	// Valid values: true | false
	//
	// Default: false
	ApplyImmediately *bool `type:"boolean"`

	// This parameter is currently disabled.
	AutoMinorVersionUpgrade *bool `type:"boolean"`

	// Whether a read replica will be automatically promoted to read/write primary
	// if the existing primary encounters a failure.
	//
	// Valid values: true | false
	//
	//  ElastiCache Multi-AZ replication groups are not supported on:
	//
	//   Redis versions earlier than 2.8.6.
	//
	//   T1 and T2 cache node types.
	AutomaticFailoverEnabled *bool `type:"boolean"`

	// A valid cache node type that you want to scale this replication group to.
	// The value of this parameter must be one of the ScaleUpModifications values
	// returned by the ListAllowedCacheNodeTypeModification action.
	CacheNodeType *string `type:"string"`

	// The name of the cache parameter group to apply to all of the clusters in
	// this replication group. This change is asynchronously applied as soon as
	// possible for parameters when the ApplyImmediately parameter is specified
	// as true for this request.
	CacheParameterGroupName *string `type:"string"`

	// A list of cache security group names to authorize for the clusters in this
	// replication group. This change is asynchronously applied as soon as possible.
	//
	// This parameter can be used only with replication group containing cache
	// clusters running outside of an Amazon Virtual Private Cloud (VPC).
	//
	// Constraints: Must contain no more than 255 alphanumeric characters. Must
	// not be "Default".
	CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"`

	// The upgraded version of the cache engine to be run on the cache clusters
	// in the replication group.
	//
	//  Important: You can upgrade to a newer engine version (see Selecting a Cache
	// Engine and Version (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/SelectEngine.html#VersionManagement)),
	// but you cannot downgrade to an earlier engine version. If you want to use
	// an earlier engine version, you must delete the existing replication group
	// and create it anew with the earlier engine version.
	EngineVersion *string `type:"string"`

	// The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications
	// will be sent.
	//
	//  The Amazon SNS topic owner must be same as the replication group owner.
	NotificationTopicArn *string `type:"string"`

	// The status of the Amazon SNS notification topic for the replication group.
	// Notifications are sent only if the status is active.
	//
	// Valid values: active | inactive
	NotificationTopicStatus *string `type:"string"`

	// Specifies the weekly time range during which maintenance on the cache cluster
	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
	// values for ddd are:
	//
	//    sun
	//
	//    mon
	//
	//    tue
	//
	//    wed
	//
	//    thu
	//
	//    fri
	//
	//    sat
	//
	//   Example: sun:05:00-sun:09:00
	PreferredMaintenanceWindow *string `type:"string"`

	// If this parameter is specified, ElastiCache will promote the specified cluster
	// in the specified replication group to the primary role. The nodes of all
	// other clusters in the replication group will be read replicas.
	PrimaryClusterId *string `type:"string"`

	// A description for the replication group. Maximum length is 255 characters.
	ReplicationGroupDescription *string `type:"string"`

	// The identifier of the replication group to modify.
	ReplicationGroupId *string `type:"string" required:"true"`

	// Specifies the VPC Security Groups associated with the cache clusters in the
	// replication group.
	//
	// This parameter can be used only with replication group containing cache
	// clusters running in an Amazon Virtual Private Cloud (VPC).
	SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"`

	// The number of days for which ElastiCache will retain automatic node group
	// 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.
	//
	//  Important If the value of SnapshotRetentionLimit is set to zero (0), backups
	// are turned off.
	SnapshotRetentionLimit *int64 `type:"integer"`

	// The daily time range (in UTC) during which ElastiCache will begin taking
	// a daily snapshot of the node group specified by SnapshottingClusterId.
	//
	// Example: 05:00-09:00
	//
	// If you do not specify this parameter, then ElastiCache will automatically
	// choose an appropriate time range.
	SnapshotWindow *string `type:"string"`

	// The cache cluster ID that will be used as the daily snapshot source for the
	// replication group.
	SnapshottingClusterId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the input of a ModifyReplicationGroups action.

func (ModifyReplicationGroupInput) GoString

func (s ModifyReplicationGroupInput) GoString() string

GoString returns the string representation

func (ModifyReplicationGroupInput) String

String returns the string representation

func (*ModifyReplicationGroupInput) Validate

func (s *ModifyReplicationGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ModifyReplicationGroupOutput

type ModifyReplicationGroupOutput struct {

	// Contains all of the attributes of a specific replication group.
	ReplicationGroup *ReplicationGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (ModifyReplicationGroupOutput) GoString

func (s ModifyReplicationGroupOutput) GoString() string

GoString returns the string representation

func (ModifyReplicationGroupOutput) String

String returns the string representation

type NodeGroup

type NodeGroup struct {

	// The identifier for the node group. A replication group contains only one
	// node group; therefore, the node group ID is 0001.
	NodeGroupId *string `type:"string"`

	// A list containing information about individual nodes within the node group.
	NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"`

	// Represents the information required for client programs to connect to a cache
	// node.
	PrimaryEndpoint *Endpoint `type:"structure"`

	// The current state of this replication group - creating, available, etc.
	Status *string `type:"string"`
	// contains filtered or unexported fields
}

Represents a collection of cache nodes in a replication group.

func (NodeGroup) GoString

func (s NodeGroup) GoString() string

GoString returns the string representation

func (NodeGroup) String

func (s NodeGroup) String() string

String returns the string representation

type NodeGroupMember

type NodeGroupMember struct {

	// The ID of the cache cluster to which the node belongs.
	CacheClusterId *string `type:"string"`

	// The ID of the node within its cache cluster. A node ID is a numeric identifier
	// (0001, 0002, etc.).
	CacheNodeId *string `type:"string"`

	// The role that is currently assigned to the node - primary or replica.
	CurrentRole *string `type:"string"`

	// The name of the Availability Zone in which the node is located.
	PreferredAvailabilityZone *string `type:"string"`

	// Represents the information required for client programs to connect to a cache
	// node.
	ReadEndpoint *Endpoint `type:"structure"`
	// contains filtered or unexported fields
}

Represents a single node within a node group.

func (NodeGroupMember) GoString

func (s NodeGroupMember) GoString() string

GoString returns the string representation

func (NodeGroupMember) String

func (s NodeGroupMember) String() string

String returns the string representation

type NodeSnapshot

type NodeSnapshot struct {

	// The date and time when the cache node was created in the source cache cluster.
	CacheNodeCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The cache node identifier for the node in the source cache cluster.
	CacheNodeId *string `type:"string"`

	// The size of the cache on the source cache node.
	CacheSize *string `type:"string"`

	// The date and time when the source node's metadata and cache data set was
	// obtained for the snapshot.
	SnapshotCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
	// contains filtered or unexported fields
}

Represents an individual cache node in a snapshot of a cache cluster.

func (NodeSnapshot) GoString

func (s NodeSnapshot) GoString() string

GoString returns the string representation

func (NodeSnapshot) String

func (s NodeSnapshot) String() string

String returns the string representation

type NotificationConfiguration

type NotificationConfiguration struct {

	// The Amazon Resource Name (ARN) that identifies the topic.
	TopicArn *string `type:"string"`

	// The current state of the topic.
	TopicStatus *string `type:"string"`
	// contains filtered or unexported fields
}

Describes a notification topic and its status. Notification topics are used for publishing ElastiCache events to subscribers using Amazon Simple Notification Service (SNS).

func (NotificationConfiguration) GoString

func (s NotificationConfiguration) GoString() string

GoString returns the string representation

func (NotificationConfiguration) String

func (s NotificationConfiguration) String() string

String returns the string representation

type Parameter

type Parameter struct {

	// The valid range of values for the parameter.
	AllowedValues *string `type:"string"`

	// ChangeType indicates whether a change to the parameter will be applied immediately
	// or requires a reboot for the change to be applied. You can force a reboot
	// or wait until the next maintenance window's reboot. For more information,
	// see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Clusters.Rebooting.html).
	ChangeType *string `type:"string" enum:"ChangeType"`

	// The valid data type for the parameter.
	DataType *string `type:"string"`

	// A description of the parameter.
	Description *string `type:"string"`

	// Indicates whether (true) or not (false) the parameter can be modified. Some
	// parameters have security or operational implications that prevent them from
	// being changed.
	IsModifiable *bool `type:"boolean"`

	// The earliest cache engine version to which the parameter can apply.
	MinimumEngineVersion *string `type:"string"`

	// The name of the parameter.
	ParameterName *string `type:"string"`

	// The value of the parameter.
	ParameterValue *string `type:"string"`

	// The source of the parameter.
	Source *string `type:"string"`
	// contains filtered or unexported fields
}

Describes an individual setting that controls some aspect of ElastiCache behavior.

func (Parameter) GoString

func (s Parameter) GoString() string

GoString returns the string representation

func (Parameter) String

func (s Parameter) String() string

String returns the string representation

type ParameterNameValue

type ParameterNameValue struct {

	// The name of the parameter.
	ParameterName *string `type:"string"`

	// The value of the parameter.
	ParameterValue *string `type:"string"`
	// contains filtered or unexported fields
}

Describes a name-value pair that is used to update the value of a parameter.

func (ParameterNameValue) GoString

func (s ParameterNameValue) GoString() string

GoString returns the string representation

func (ParameterNameValue) String

func (s ParameterNameValue) String() string

String returns the string representation

type PendingModifiedValues

type PendingModifiedValues struct {

	// A list of cache node IDs that are being removed (or will be removed) from
	// the cache cluster. A node ID is a numeric identifier (0001, 0002, etc.).
	CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"`

	// The cache node type that this cache cluster or replication group will be
	// scaled to.
	CacheNodeType *string `type:"string"`

	// The new cache engine version that the cache cluster will run.
	EngineVersion *string `type:"string"`

	// The new number of cache nodes for the cache cluster.
	//
	// For clusters running Redis, this value must be 1. For clusters running Memcached,
	// this value must be between 1 and 20.
	NumCacheNodes *int64 `type:"integer"`
	// contains filtered or unexported fields
}

A group of settings that will be applied to the cache cluster in the future, or that are currently being applied.

func (PendingModifiedValues) GoString

func (s PendingModifiedValues) GoString() string

GoString returns the string representation

func (PendingModifiedValues) String

func (s PendingModifiedValues) String() string

String returns the string representation

type PurchaseReservedCacheNodesOfferingInput

type PurchaseReservedCacheNodesOfferingInput struct {

	// The number of cache node instances to reserve.
	//
	// Default: 1
	CacheNodeCount *int64 `type:"integer"`

	// A customer-specified identifier to track this reservation.
	//
	//  The Reserved Cache Node ID is an unique customer-specified identifier to
	// track this reservation. If this parameter is not specified, ElastiCache automatically
	// generates an identifier for the reservation.
	//
	//  Example: myreservationID
	ReservedCacheNodeId *string `type:"string"`

	// The ID of the reserved cache node offering to purchase.
	//
	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
	ReservedCacheNodesOfferingId *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a PurchaseReservedCacheNodesOffering action.

func (PurchaseReservedCacheNodesOfferingInput) GoString

GoString returns the string representation

func (PurchaseReservedCacheNodesOfferingInput) String

String returns the string representation

func (*PurchaseReservedCacheNodesOfferingInput) Validate

Validate inspects the fields of the type to determine if they are valid.

type PurchaseReservedCacheNodesOfferingOutput

type PurchaseReservedCacheNodesOfferingOutput struct {

	// Represents the output of a PurchaseReservedCacheNodesOffering action.
	ReservedCacheNode *ReservedCacheNode `type:"structure"`
	// contains filtered or unexported fields
}

func (PurchaseReservedCacheNodesOfferingOutput) GoString

GoString returns the string representation

func (PurchaseReservedCacheNodesOfferingOutput) String

String returns the string representation

type RebootCacheClusterInput

type RebootCacheClusterInput struct {

	// The cache cluster identifier. This parameter is stored as a lowercase string.
	CacheClusterId *string `type:"string" required:"true"`

	// A list of cache node IDs to reboot. A node ID is a numeric identifier (0001,
	// 0002, etc.). To reboot an entire cache cluster, specify all of the cache
	// node IDs.
	CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a RebootCacheCluster action.

func (RebootCacheClusterInput) GoString

func (s RebootCacheClusterInput) GoString() string

GoString returns the string representation

func (RebootCacheClusterInput) String

func (s RebootCacheClusterInput) String() string

String returns the string representation

func (*RebootCacheClusterInput) Validate

func (s *RebootCacheClusterInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RebootCacheClusterOutput

type RebootCacheClusterOutput struct {

	// Contains all of the attributes of a specific cache cluster.
	CacheCluster *CacheCluster `type:"structure"`
	// contains filtered or unexported fields
}

func (RebootCacheClusterOutput) GoString

func (s RebootCacheClusterOutput) GoString() string

GoString returns the string representation

func (RebootCacheClusterOutput) String

func (s RebootCacheClusterOutput) String() string

String returns the string representation

type RecurringCharge

type RecurringCharge struct {

	// The monetary amount of the recurring charge.
	RecurringChargeAmount *float64 `type:"double"`

	// The frequency of the recurring charge.
	RecurringChargeFrequency *string `type:"string"`
	// contains filtered or unexported fields
}

Contains the specific price and frequency of a recurring charges for a reserved cache node, or for a reserved cache node offering.

func (RecurringCharge) GoString

func (s RecurringCharge) GoString() string

GoString returns the string representation

func (RecurringCharge) String

func (s RecurringCharge) String() string

String returns the string representation

type RemoveTagsFromResourceInput

type RemoveTagsFromResourceInput struct {

	// The Amazon Resource Name (ARN) of the resource from which you want the tags
	// removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster
	// or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot.
	//
	// For more information on ARNs, go to Amazon Resource Names (ARNs) and AWS
	// Service Namespaces (http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html).
	ResourceName *string `type:"string" required:"true"`

	// A list of TagKeys identifying the tags you want removed from the named resource.
	// For example, TagKeys.member.1=Region removes the cost allocation tag with
	// the key name Region from the resource named by the ResourceName parameter.
	TagKeys []*string `type:"list" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a RemoveTagsFromResource action.

func (RemoveTagsFromResourceInput) GoString

func (s RemoveTagsFromResourceInput) GoString() string

GoString returns the string representation

func (RemoveTagsFromResourceInput) String

String returns the string representation

func (*RemoveTagsFromResourceInput) Validate

func (s *RemoveTagsFromResourceInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type ReplicationGroup

type ReplicationGroup struct {

	// Indicates the status of Multi-AZ for this replication group.
	//
	//  ElastiCache Multi-AZ replication groups are not supported on:
	//
	//   Redis versions earlier than 2.8.6.
	//
	//   T1 and T2 cache node types.
	AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"`

	// The description of the replication group.
	Description *string `type:"string"`

	// The names of all the cache clusters that are part of this replication group.
	MemberClusters []*string `locationNameList:"ClusterId" type:"list"`

	// A single element list with information about the nodes in the replication
	// group.
	NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"`

	// A group of settings to be applied to the replication group, either immediately
	// or during the next maintenance window.
	PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"`

	// The identifier for the replication group.
	ReplicationGroupId *string `type:"string"`

	// The cache cluster ID that is used as the daily snapshot source for the replication
	// group.
	SnapshottingClusterId *string `type:"string"`

	// The current state of this replication group - creating, available, etc.
	Status *string `type:"string"`
	// contains filtered or unexported fields
}

Contains all of the attributes of a specific replication group.

func (ReplicationGroup) GoString

func (s ReplicationGroup) GoString() string

GoString returns the string representation

func (ReplicationGroup) String

func (s ReplicationGroup) String() string

String returns the string representation

type ReplicationGroupPendingModifiedValues

type ReplicationGroupPendingModifiedValues struct {

	// Indicates the status of Multi-AZ for this replication group.
	//
	//  ElastiCache Multi-AZ replication groups are not supported on:
	//
	//   Redis versions earlier than 2.8.6.
	//
	//   T1 and T2 cache node types.
	AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"`

	// The primary cluster ID which will be applied immediately (if --apply-immediately
	// was specified), or during the next maintenance window.
	PrimaryClusterId *string `type:"string"`
	// contains filtered or unexported fields
}

The settings to be applied to the replication group, either immediately or during the next maintenance window.

func (ReplicationGroupPendingModifiedValues) GoString

GoString returns the string representation

func (ReplicationGroupPendingModifiedValues) String

String returns the string representation

type ReservedCacheNode

type ReservedCacheNode struct {

	// The number of cache nodes that have been reserved.
	CacheNodeCount *int64 `type:"integer"`

	// The cache node type for the reserved cache nodes.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// The duration of the reservation in seconds.
	Duration *int64 `type:"integer"`

	// The fixed price charged for this reserved cache node.
	FixedPrice *float64 `type:"double"`

	// The offering type of this reserved cache node.
	OfferingType *string `type:"string"`

	// The description of the reserved cache node.
	ProductDescription *string `type:"string"`

	// The recurring price charged to run this reserved cache node.
	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`

	// The unique identifier for the reservation.
	ReservedCacheNodeId *string `type:"string"`

	// The offering identifier.
	ReservedCacheNodesOfferingId *string `type:"string"`

	// The time the reservation started.
	StartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The state of the reserved cache node.
	State *string `type:"string"`

	// The hourly price charged for this reserved cache node.
	UsagePrice *float64 `type:"double"`
	// contains filtered or unexported fields
}

Represents the output of a PurchaseReservedCacheNodesOffering action.

func (ReservedCacheNode) GoString

func (s ReservedCacheNode) GoString() string

GoString returns the string representation

func (ReservedCacheNode) String

func (s ReservedCacheNode) String() string

String returns the string representation

type ReservedCacheNodesOffering

type ReservedCacheNodesOffering struct {

	// The cache node type for the reserved cache node.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// The duration of the offering. in seconds.
	Duration *int64 `type:"integer"`

	// The fixed price charged for this offering.
	FixedPrice *float64 `type:"double"`

	// The offering type.
	OfferingType *string `type:"string"`

	// The cache engine used by the offering.
	ProductDescription *string `type:"string"`

	// The recurring price charged to run this reserved cache node.
	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`

	// A unique identifier for the reserved cache node offering.
	ReservedCacheNodesOfferingId *string `type:"string"`

	// The hourly price charged for this offering.
	UsagePrice *float64 `type:"double"`
	// contains filtered or unexported fields
}

Describes all of the attributes of a reserved cache node offering.

func (ReservedCacheNodesOffering) GoString

func (s ReservedCacheNodesOffering) GoString() string

GoString returns the string representation

func (ReservedCacheNodesOffering) String

String returns the string representation

type ResetCacheParameterGroupInput

type ResetCacheParameterGroupInput struct {

	// The name of the cache parameter group to reset.
	CacheParameterGroupName *string `type:"string" required:"true"`

	// An array of parameter names to reset to their default values. If ResetAllParameters
	// is false, you must specify the name of at least one parameter to reset.
	ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"`

	// If true, all parameters in the cache parameter group will be reset to their
	// default values. If false, only the parameters listed by ParameterNameValues
	// are reset to their default values.
	//
	// Valid values: true | false
	ResetAllParameters *bool `type:"boolean"`
	// contains filtered or unexported fields
}

Represents the input of a ResetCacheParameterGroup action.

func (ResetCacheParameterGroupInput) GoString

GoString returns the string representation

func (ResetCacheParameterGroupInput) String

String returns the string representation

func (*ResetCacheParameterGroupInput) Validate

func (s *ResetCacheParameterGroupInput) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type RevokeCacheSecurityGroupIngressInput

type RevokeCacheSecurityGroupIngressInput struct {

	// The name of the cache security group to revoke ingress from.
	CacheSecurityGroupName *string `type:"string" required:"true"`

	// The name of the Amazon EC2 security group to revoke access from.
	EC2SecurityGroupName *string `type:"string" required:"true"`

	// The AWS account number of the Amazon EC2 security group owner. Note that
	// this is not the same thing as an AWS access key ID - you must provide a valid
	// AWS account number for this parameter.
	EC2SecurityGroupOwnerId *string `type:"string" required:"true"`
	// contains filtered or unexported fields
}

Represents the input of a RevokeCacheSecurityGroupIngress action.

func (RevokeCacheSecurityGroupIngressInput) GoString

GoString returns the string representation

func (RevokeCacheSecurityGroupIngressInput) String

String returns the string representation

func (*RevokeCacheSecurityGroupIngressInput) Validate

Validate inspects the fields of the type to determine if they are valid.

type RevokeCacheSecurityGroupIngressOutput

type RevokeCacheSecurityGroupIngressOutput struct {

	// Represents the output of one of the following actions:
	//
	//    AuthorizeCacheSecurityGroupIngress
	//
	//    CreateCacheSecurityGroup
	//
	//    RevokeCacheSecurityGroupIngress
	CacheSecurityGroup *CacheSecurityGroup `type:"structure"`
	// contains filtered or unexported fields
}

func (RevokeCacheSecurityGroupIngressOutput) GoString

GoString returns the string representation

func (RevokeCacheSecurityGroupIngressOutput) String

String returns the string representation

type SecurityGroupMembership

type SecurityGroupMembership struct {

	// The identifier of the cache security group.
	SecurityGroupId *string `type:"string"`

	// The status of the cache security group membership. The status changes whenever
	// a cache security group is modified, or when the cache security groups assigned
	// to a cache cluster are modified.
	Status *string `type:"string"`
	// contains filtered or unexported fields
}

Represents a single cache security group and its status.

func (SecurityGroupMembership) GoString

func (s SecurityGroupMembership) GoString() string

GoString returns the string representation

func (SecurityGroupMembership) String

func (s SecurityGroupMembership) String() string

String returns the string representation

type Snapshot

type Snapshot struct {

	// This parameter is currently disabled.
	AutoMinorVersionUpgrade *bool `type:"boolean"`

	// The date and time when the source cache cluster was created.
	CacheClusterCreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`

	// The user-supplied identifier of the source cache cluster.
	CacheClusterId *string `type:"string"`

	// The name of the compute and memory capacity node type for the source cache
	// cluster.
	//
	// Valid node types are as follows:
	//
	//   General purpose:
	//
	//   Current generation: cache.t2.micro, cache.t2.small, cache.t2.medium, cache.m3.medium,
	// cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge
	//
	//   Previous generation: cache.t1.micro, cache.m1.small, cache.m1.medium,
	// cache.m1.large, cache.m1.xlarge
	//
	//     Compute optimized: cache.c1.xlarge
	//
	//   Memory optimized:
	//
	//   Current generation: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge,
	// cache.r3.4xlarge, cache.r3.8xlarge
	//
	//   Previous generation: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge
	//
	//      Notes:
	//
	//   All t2 instances are created in an Amazon Virtual Private Cloud (VPC).
	//
	//   Redis backup/restore is not supported for t2 instances.
	//
	//   Redis Append-only files (AOF) functionality is not supported for t1 or
	// t2 instances.
	//
	//   For a complete listing of cache node types and specifications, see Amazon
	// ElastiCache Product Features and Details (http://aws.amazon.com/elasticache/details)
	// and Cache Node Type-Specific Parameters for Memcached (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Memcached.html#CacheParameterGroups.Memcached.NodeSpecific)
	// or Cache Node Type-Specific Parameters for Redis (http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/CacheParameterGroups.Redis.html#CacheParameterGroups.Redis.NodeSpecific).
	CacheNodeType *string `type:"string"`

	// The cache parameter group that is associated with the source cache cluster.
	CacheParameterGroupName *string `type:"string"`

	// The name of the cache subnet group associated with the source cache cluster.
	CacheSubnetGroupName *string `type:"string"`

	// The name of the cache engine (memcached or redis) used by the source cache
	// cluster.
	Engine *string `type:"string"`

	// The version of the cache engine version that is used by the source cache
	// cluster.
	EngineVersion *string `type:"string"`

	// A list of the cache nodes in the source cache cluster.
	NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"`

	// The number of cache nodes in the source cache cluster.
	//
	// For clusters running Redis, this value must be 1. For clusters running Memcached,
	// this value must be between 1 and 20.
	NumCacheNodes *int64 `type:"integer"`

	// The port number used by each cache nodes in the source cache cluster.
	Port *int64 `type:"integer"`

	// The name of the Availability Zone in which the source cache cluster is located.
	PreferredAvailabilityZone *string `type:"string"`

	// Specifies the weekly time range during which maintenance on the cache cluster
	// is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi
	// (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid
	// values for ddd are:
	//
	//    sun
	//
	//    mon
	//
	//    tue
	//
	//    wed
	//
	//    thu
	//
	//    fri
	//
	//    sat
	//
	//   Example: sun:05:00-sun:09:00
	PreferredMaintenanceWindow *string `type:"string"`

	// The name of a snapshot. For an automatic snapshot, the name is system-generated;
	// for a manual snapshot, this is the user-provided name.
	SnapshotName *string `type:"string"`

	// For an automatic snapshot, the number of days for which ElastiCache will
	// retain the snapshot before deleting it.
	//
	// For manual snapshots, this field reflects the SnapshotRetentionLimit for
	// the source cache cluster when the snapshot was created. This field is otherwise
	// ignored: Manual snapshots do not expire, and can only be deleted using the
	// DeleteSnapshot action.
	//
	//  Important If the value of SnapshotRetentionLimit is set to zero (0), backups
	// are turned off.
	SnapshotRetentionLimit *int64 `type:"integer"`

	// Indicates whether the snapshot is from an automatic backup (automated) or
	// was created manually (manual).
	SnapshotSource *string `type:"string"`

	// The status of the snapshot. Valid values: creating | available | restoring
	// | copying | deleting.
	SnapshotStatus *string `type:"string"`

	// The daily time range during which ElastiCache takes daily snapshots of the
	// source cache cluster.
	SnapshotWindow *string `type:"string"`

	// The Amazon Resource Name (ARN) for the topic used by the source cache cluster
	// for publishing notifications.
	TopicArn *string `type:"string"`

	// The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet
	// group for the source cache cluster.
	VpcId *string `type:"string"`
	// contains filtered or unexported fields
}

Represents a copy of an entire cache cluster as of the time when the snapshot was taken.

func (Snapshot) GoString

func (s Snapshot) GoString() string

GoString returns the string representation

func (Snapshot) String

func (s Snapshot) String() string

String returns the string representation

type Subnet

type Subnet struct {

	// The Availability Zone associated with the subnet.
	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`

	// The unique identifier for the subnet.
	SubnetIdentifier *string `type:"string"`
	// contains filtered or unexported fields
}

Represents the subnet associated with a cache cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with ElastiCache.

func (Subnet) GoString

func (s Subnet) GoString() string

GoString returns the string representation

func (Subnet) String

func (s Subnet) String() string

String returns the string representation

type Tag

type Tag struct {

	// The key for the tag.
	Key *string `type:"string"`

	// The tag's value. May not be null.
	Value *string `type:"string"`
	// contains filtered or unexported fields
}

A cost allocation Tag that can be added to an ElastiCache cluster or replication group. Tags are composed of a Key/Value pair. A tag with a null Value is permitted.

func (Tag) GoString

func (s Tag) GoString() string

GoString returns the string representation

func (Tag) String

func (s Tag) String() string

String returns the string representation

type TagListMessage

type TagListMessage struct {

	// A list of cost allocation tags as key-value pairs.
	TagList []*Tag `locationNameList:"Tag" type:"list"`
	// contains filtered or unexported fields
}

Represents the output from the AddTagsToResource, ListTagsOnResource, and RemoveTagsFromResource actions.

func (TagListMessage) GoString

func (s TagListMessage) GoString() string

GoString returns the string representation

func (TagListMessage) String

func (s TagListMessage) String() string

String returns the string representation

Directories

Path Synopsis
Package elasticacheiface provides an interface for the Amazon ElastiCache.
Package elasticacheiface provides an interface for the Amazon ElastiCache.

Jump to

Keyboard shortcuts

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