// THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. // Package elasticache provides a client for Amazon ElastiCache. package elasticache import ( "time" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" "github.com/aws/aws-sdk-go/private/protocol/query" ) const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a request for the AddTagsToResource operation. func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *TagListMessage) { op := &request.Operation{ Name: opAddTagsToResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &AddTagsToResourceInput{} } req = c.newRequest(op, input, output) output = &TagListMessage{} req.Data = output return } // 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). func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error) { req, out := c.AddTagsToResourceRequest(input) err := req.Send() return out, err } const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress" // AuthorizeCacheSecurityGroupIngressRequest generates a request for the AuthorizeCacheSecurityGroupIngress operation. func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput) { op := &request.Operation{ Name: opAuthorizeCacheSecurityGroupIngress, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &AuthorizeCacheSecurityGroupIngressInput{} } req = c.newRequest(op, input, output) output = &AuthorizeCacheSecurityGroupIngressOutput{} req.Data = output return } // 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. func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSecurityGroupIngressInput) (*AuthorizeCacheSecurityGroupIngressOutput, error) { req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input) err := req.Send() return out, err } const opCopySnapshot = "CopySnapshot" // CopySnapshotRequest generates a request for the CopySnapshot operation. func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { op := &request.Operation{ Name: opCopySnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CopySnapshotInput{} } req = c.newRequest(op, input, output) output = &CopySnapshotOutput{} req.Data = output return } // The CopySnapshot action makes a copy of an existing snapshot. func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { req, out := c.CopySnapshotRequest(input) err := req.Send() return out, err } const opCreateCacheCluster = "CreateCacheCluster" // CreateCacheClusterRequest generates a request for the CreateCacheCluster operation. func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) { op := &request.Operation{ Name: opCreateCacheCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateCacheClusterInput{} } req = c.newRequest(op, input, output) output = &CreateCacheClusterOutput{} req.Data = output return } // 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. func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) { req, out := c.CreateCacheClusterRequest(input) err := req.Send() return out, err } const opCreateCacheParameterGroup = "CreateCacheParameterGroup" // CreateCacheParameterGroupRequest generates a request for the CreateCacheParameterGroup operation. func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) { op := &request.Operation{ Name: opCreateCacheParameterGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateCacheParameterGroupInput{} } req = c.newRequest(op, input, output) output = &CreateCacheParameterGroupOutput{} req.Data = output return } // 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. func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) { req, out := c.CreateCacheParameterGroupRequest(input) err := req.Send() return out, err } const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup" // CreateCacheSecurityGroupRequest generates a request for the CreateCacheSecurityGroup operation. func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) { op := &request.Operation{ Name: opCreateCacheSecurityGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateCacheSecurityGroupInput{} } req = c.newRequest(op, input, output) output = &CreateCacheSecurityGroupOutput{} req.Data = output return } // 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). func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) { req, out := c.CreateCacheSecurityGroupRequest(input) err := req.Send() return out, err } const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup" // CreateCacheSubnetGroupRequest generates a request for the CreateCacheSubnetGroup operation. func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) { op := &request.Operation{ Name: opCreateCacheSubnetGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateCacheSubnetGroupInput{} } req = c.newRequest(op, input, output) output = &CreateCacheSubnetGroupOutput{} req.Data = output return } // 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). func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) { req, out := c.CreateCacheSubnetGroupRequest(input) err := req.Send() return out, err } const opCreateReplicationGroup = "CreateReplicationGroup" // CreateReplicationGroupRequest generates a request for the CreateReplicationGroup operation. func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) { op := &request.Operation{ Name: opCreateReplicationGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateReplicationGroupInput{} } req = c.newRequest(op, input, output) output = &CreateReplicationGroupOutput{} req.Data = output return } // 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. // // Note: This action is valid only for Redis. func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { req, out := c.CreateReplicationGroupRequest(input) err := req.Send() return out, err } const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a request for the CreateSnapshot operation. func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { op := &request.Operation{ Name: opCreateSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &CreateSnapshotInput{} } req = c.newRequest(op, input, output) output = &CreateSnapshotOutput{} req.Data = output return } // The CreateSnapshot action creates a copy of an entire cache cluster at a // specific moment in time. func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { req, out := c.CreateSnapshotRequest(input) err := req.Send() return out, err } const opDeleteCacheCluster = "DeleteCacheCluster" // DeleteCacheClusterRequest generates a request for the DeleteCacheCluster operation. func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { op := &request.Operation{ Name: opDeleteCacheCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteCacheClusterInput{} } req = c.newRequest(op, input, output) output = &DeleteCacheClusterOutput{} req.Data = output return } // 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. func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { req, out := c.DeleteCacheClusterRequest(input) err := req.Send() return out, err } const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" // DeleteCacheParameterGroupRequest generates a request for the DeleteCacheParameterGroup operation. func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { op := &request.Operation{ Name: opDeleteCacheParameterGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteCacheParameterGroupInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteCacheParameterGroupOutput{} req.Data = output return } // The DeleteCacheParameterGroup action deletes the specified cache parameter // group. You cannot delete a cache parameter group if it is associated with // any cache clusters. func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { req, out := c.DeleteCacheParameterGroupRequest(input) err := req.Send() return out, err } const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" // DeleteCacheSecurityGroupRequest generates a request for the DeleteCacheSecurityGroup operation. func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { op := &request.Operation{ Name: opDeleteCacheSecurityGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteCacheSecurityGroupInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteCacheSecurityGroupOutput{} req.Data = output return } // The DeleteCacheSecurityGroup action deletes a cache security group. // // You cannot delete a cache security group if it is associated with any cache // clusters. func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { req, out := c.DeleteCacheSecurityGroupRequest(input) err := req.Send() return out, err } const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" // DeleteCacheSubnetGroupRequest generates a request for the DeleteCacheSubnetGroup operation. func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { op := &request.Operation{ Name: opDeleteCacheSubnetGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteCacheSubnetGroupInput{} } req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Remove(query.UnmarshalHandler) req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler) output = &DeleteCacheSubnetGroupOutput{} req.Data = output return } // The DeleteCacheSubnetGroup action deletes a cache subnet group. // // You cannot delete a cache subnet group if it is associated with any cache // clusters. func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { req, out := c.DeleteCacheSubnetGroupRequest(input) err := req.Send() return out, err } const opDeleteReplicationGroup = "DeleteReplicationGroup" // DeleteReplicationGroupRequest generates a request for the DeleteReplicationGroup operation. func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { op := &request.Operation{ Name: opDeleteReplicationGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteReplicationGroupInput{} } req = c.newRequest(op, input, output) output = &DeleteReplicationGroupOutput{} req.Data = output return } // 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. func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { req, out := c.DeleteReplicationGroupRequest(input) err := req.Send() return out, err } const opDeleteSnapshot = "DeleteSnapshot" // DeleteSnapshotRequest generates a request for the DeleteSnapshot operation. func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { op := &request.Operation{ Name: opDeleteSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &DeleteSnapshotInput{} } req = c.newRequest(op, input, output) output = &DeleteSnapshotOutput{} req.Data = output return } // 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. func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { req, out := c.DeleteSnapshotRequest(input) err := req.Send() return out, err } const opDescribeCacheClusters = "DescribeCacheClusters" // DescribeCacheClustersRequest generates a request for the DescribeCacheClusters operation. func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { op := &request.Operation{ Name: opDescribeCacheClusters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeCacheClustersInput{} } req = c.newRequest(op, input, output) output = &DescribeCacheClustersOutput{} req.Data = output return } // 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. func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { req, out := c.DescribeCacheClustersRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(p *DescribeCacheClustersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheClustersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeCacheClustersOutput), lastPage) }) } const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" // DescribeCacheEngineVersionsRequest generates a request for the DescribeCacheEngineVersions operation. func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { op := &request.Operation{ Name: opDescribeCacheEngineVersions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeCacheEngineVersionsInput{} } req = c.newRequest(op, input, output) output = &DescribeCacheEngineVersionsOutput{} req.Data = output return } // The DescribeCacheEngineVersions action returns a list of the available cache // engines and their versions. func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { req, out := c.DescribeCacheEngineVersionsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(p *DescribeCacheEngineVersionsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheEngineVersionsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeCacheEngineVersionsOutput), lastPage) }) } const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" // DescribeCacheParameterGroupsRequest generates a request for the DescribeCacheParameterGroups operation. func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { op := &request.Operation{ Name: opDescribeCacheParameterGroups, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeCacheParameterGroupsInput{} } req = c.newRequest(op, input, output) output = &DescribeCacheParameterGroupsOutput{} req.Data = output return } // 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. func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { req, out := c.DescribeCacheParameterGroupsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(p *DescribeCacheParameterGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheParameterGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeCacheParameterGroupsOutput), lastPage) }) } const opDescribeCacheParameters = "DescribeCacheParameters" // DescribeCacheParametersRequest generates a request for the DescribeCacheParameters operation. func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { op := &request.Operation{ Name: opDescribeCacheParameters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeCacheParametersInput{} } req = c.newRequest(op, input, output) output = &DescribeCacheParametersOutput{} req.Data = output return } // The DescribeCacheParameters action returns the detailed parameter list for // a particular cache parameter group. func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { req, out := c.DescribeCacheParametersRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(p *DescribeCacheParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeCacheParametersOutput), lastPage) }) } const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" // DescribeCacheSecurityGroupsRequest generates a request for the DescribeCacheSecurityGroups operation. func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { op := &request.Operation{ Name: opDescribeCacheSecurityGroups, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeCacheSecurityGroupsInput{} } req = c.newRequest(op, input, output) output = &DescribeCacheSecurityGroupsOutput{} req.Data = output return } // 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. func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { req, out := c.DescribeCacheSecurityGroupsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(p *DescribeCacheSecurityGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheSecurityGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeCacheSecurityGroupsOutput), lastPage) }) } const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" // DescribeCacheSubnetGroupsRequest generates a request for the DescribeCacheSubnetGroups operation. func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { op := &request.Operation{ Name: opDescribeCacheSubnetGroups, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeCacheSubnetGroupsInput{} } req = c.newRequest(op, input, output) output = &DescribeCacheSubnetGroupsOutput{} req.Data = output return } // 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. func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { req, out := c.DescribeCacheSubnetGroupsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(p *DescribeCacheSubnetGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeCacheSubnetGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeCacheSubnetGroupsOutput), lastPage) }) } const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" // DescribeEngineDefaultParametersRequest generates a request for the DescribeEngineDefaultParameters operation. func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { op := &request.Operation{ Name: opDescribeEngineDefaultParameters, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"EngineDefaults.Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeEngineDefaultParametersInput{} } req = c.newRequest(op, input, output) output = &DescribeEngineDefaultParametersOutput{} req.Data = output return } // The DescribeEngineDefaultParameters action returns the default engine and // system parameter information for the specified cache engine. func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { req, out := c.DescribeEngineDefaultParametersRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(p *DescribeEngineDefaultParametersOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEngineDefaultParametersRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeEngineDefaultParametersOutput), lastPage) }) } const opDescribeEvents = "DescribeEvents" // DescribeEventsRequest generates a request for the DescribeEvents operation. func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { op := &request.Operation{ Name: opDescribeEvents, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeEventsInput{} } req = c.newRequest(op, input, output) output = &DescribeEventsOutput{} req.Data = output return } // 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. func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { req, out := c.DescribeEventsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(p *DescribeEventsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeEventsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeEventsOutput), lastPage) }) } const opDescribeReplicationGroups = "DescribeReplicationGroups" // DescribeReplicationGroupsRequest generates a request for the DescribeReplicationGroups operation. func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { op := &request.Operation{ Name: opDescribeReplicationGroups, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeReplicationGroupsInput{} } req = c.newRequest(op, input, output) output = &DescribeReplicationGroupsOutput{} req.Data = output return } // The DescribeReplicationGroups action returns information about a particular // replication group. If no identifier is specified, DescribeReplicationGroups // returns information about all replication groups. func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { req, out := c.DescribeReplicationGroupsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(p *DescribeReplicationGroupsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReplicationGroupsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeReplicationGroupsOutput), lastPage) }) } const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" // DescribeReservedCacheNodesRequest generates a request for the DescribeReservedCacheNodes operation. func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { op := &request.Operation{ Name: opDescribeReservedCacheNodes, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeReservedCacheNodesInput{} } req = c.newRequest(op, input, output) output = &DescribeReservedCacheNodesOutput{} req.Data = output return } // The DescribeReservedCacheNodes action returns information about reserved // cache nodes for this account, or about a specified reserved cache node. func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { req, out := c.DescribeReservedCacheNodesRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(p *DescribeReservedCacheNodesOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedCacheNodesRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeReservedCacheNodesOutput), lastPage) }) } const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" // DescribeReservedCacheNodesOfferingsRequest generates a request for the DescribeReservedCacheNodesOfferings operation. func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { op := &request.Operation{ Name: opDescribeReservedCacheNodesOfferings, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeReservedCacheNodesOfferingsInput{} } req = c.newRequest(op, input, output) output = &DescribeReservedCacheNodesOfferingsOutput{} req.Data = output return } // The DescribeReservedCacheNodesOfferings action lists available reserved cache // node offerings. func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(p *DescribeReservedCacheNodesOfferingsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeReservedCacheNodesOfferingsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeReservedCacheNodesOfferingsOutput), lastPage) }) } const opDescribeSnapshots = "DescribeSnapshots" // DescribeSnapshotsRequest generates a request for the DescribeSnapshots operation. func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { op := &request.Operation{ Name: opDescribeSnapshots, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"Marker"}, OutputTokens: []string{"Marker"}, LimitToken: "MaxRecords", TruncationToken: "", }, } if input == nil { input = &DescribeSnapshotsInput{} } req = c.newRequest(op, input, output) output = &DescribeSnapshotsOutput{} req.Data = output return } // 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. func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { req, out := c.DescribeSnapshotsRequest(input) err := req.Send() return out, err } func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(p *DescribeSnapshotsOutput, lastPage bool) (shouldContinue bool)) error { page, _ := c.DescribeSnapshotsRequest(input) page.Handlers.Build.PushBack(request.MakeAddToUserAgentFreeFormHandler("Paginator")) return page.EachPage(func(p interface{}, lastPage bool) bool { return fn(p.(*DescribeSnapshotsOutput), lastPage) }) } const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" // ListAllowedNodeTypeModificationsRequest generates a request for the ListAllowedNodeTypeModifications operation. func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { op := &request.Operation{ Name: opListAllowedNodeTypeModifications, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ListAllowedNodeTypeModificationsInput{} } req = c.newRequest(op, input, output) output = &ListAllowedNodeTypeModificationsOutput{} req.Data = output return } // 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. func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { req, out := c.ListAllowedNodeTypeModificationsRequest(input) err := req.Send() return out, err } const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a request for the ListTagsForResource operation. func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { op := &request.Operation{ Name: opListTagsForResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ListTagsForResourceInput{} } req = c.newRequest(op, input, output) output = &TagListMessage{} req.Data = output return } // 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). func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { req, out := c.ListTagsForResourceRequest(input) err := req.Send() return out, err } const opModifyCacheCluster = "ModifyCacheCluster" // ModifyCacheClusterRequest generates a request for the ModifyCacheCluster operation. func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { op := &request.Operation{ Name: opModifyCacheCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ModifyCacheClusterInput{} } req = c.newRequest(op, input, output) output = &ModifyCacheClusterOutput{} req.Data = output return } // 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. func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { req, out := c.ModifyCacheClusterRequest(input) err := req.Send() return out, err } const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" // ModifyCacheParameterGroupRequest generates a request for the ModifyCacheParameterGroup operation. func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { op := &request.Operation{ Name: opModifyCacheParameterGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ModifyCacheParameterGroupInput{} } req = c.newRequest(op, input, output) output = &CacheParameterGroupNameMessage{} req.Data = output return } // 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. func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { req, out := c.ModifyCacheParameterGroupRequest(input) err := req.Send() return out, err } const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" // ModifyCacheSubnetGroupRequest generates a request for the ModifyCacheSubnetGroup operation. func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { op := &request.Operation{ Name: opModifyCacheSubnetGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ModifyCacheSubnetGroupInput{} } req = c.newRequest(op, input, output) output = &ModifyCacheSubnetGroupOutput{} req.Data = output return } // The ModifyCacheSubnetGroup action modifies an existing cache subnet group. func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { req, out := c.ModifyCacheSubnetGroupRequest(input) err := req.Send() return out, err } const opModifyReplicationGroup = "ModifyReplicationGroup" // ModifyReplicationGroupRequest generates a request for the ModifyReplicationGroup operation. func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { op := &request.Operation{ Name: opModifyReplicationGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ModifyReplicationGroupInput{} } req = c.newRequest(op, input, output) output = &ModifyReplicationGroupOutput{} req.Data = output return } // The ModifyReplicationGroup action modifies the settings for a replication // group. func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { req, out := c.ModifyReplicationGroupRequest(input) err := req.Send() return out, err } const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" // PurchaseReservedCacheNodesOfferingRequest generates a request for the PurchaseReservedCacheNodesOffering operation. func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { op := &request.Operation{ Name: opPurchaseReservedCacheNodesOffering, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &PurchaseReservedCacheNodesOfferingInput{} } req = c.newRequest(op, input, output) output = &PurchaseReservedCacheNodesOfferingOutput{} req.Data = output return } // The PurchaseReservedCacheNodesOffering action allows you to purchase a reserved // cache node offering. func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) err := req.Send() return out, err } const opRebootCacheCluster = "RebootCacheCluster" // RebootCacheClusterRequest generates a request for the RebootCacheCluster operation. func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { op := &request.Operation{ Name: opRebootCacheCluster, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RebootCacheClusterInput{} } req = c.newRequest(op, input, output) output = &RebootCacheClusterOutput{} req.Data = output return } // 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. func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { req, out := c.RebootCacheClusterRequest(input) err := req.Send() return out, err } const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a request for the RemoveTagsFromResource operation. func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { op := &request.Operation{ Name: opRemoveTagsFromResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RemoveTagsFromResourceInput{} } req = c.newRequest(op, input, output) output = &TagListMessage{} req.Data = output return } // The RemoveTagsFromResource action removes the tags identified by the TagKeys // list from the named resource. func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { req, out := c.RemoveTagsFromResourceRequest(input) err := req.Send() return out, err } const opResetCacheParameterGroup = "ResetCacheParameterGroup" // ResetCacheParameterGroupRequest generates a request for the ResetCacheParameterGroup operation. func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { op := &request.Operation{ Name: opResetCacheParameterGroup, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &ResetCacheParameterGroupInput{} } req = c.newRequest(op, input, output) output = &CacheParameterGroupNameMessage{} req.Data = output return } // 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. func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { req, out := c.ResetCacheParameterGroupRequest(input) err := req.Send() return out, err } const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" // RevokeCacheSecurityGroupIngressRequest generates a request for the RevokeCacheSecurityGroupIngress operation. func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { op := &request.Operation{ Name: opRevokeCacheSecurityGroupIngress, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { input = &RevokeCacheSecurityGroupIngressInput{} } req = c.newRequest(op, input, output) output = &RevokeCacheSecurityGroupIngressOutput{} req.Data = output return } // 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. func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { req, out := c.RevokeCacheSecurityGroupIngressRequest(input) err := req.Send() return out, err } // Represents the input of an AddTagsToResource action. type AddTagsToResourceInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s AddTagsToResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AddTagsToResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AddTagsToResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} if s.ResourceName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if s.Tags == nil { invalidParams.Add(request.NewErrParamRequired("Tags")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Represents the input of an AuthorizeCacheSecurityGroupIngress action. type AuthorizeCacheSecurityGroupIngressInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s AuthorizeCacheSecurityGroupIngressInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} if s.CacheSecurityGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) } if s.EC2SecurityGroupName == nil { invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) } if s.EC2SecurityGroupOwnerId == nil { invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type AuthorizeCacheSecurityGroupIngressOutput struct { _ struct{} `type:"structure"` // Represents the output of one of the following actions: // // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress CacheSecurityGroup *CacheSecurityGroup `type:"structure"` } // String returns the string representation func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { return s.String() } // Describes an Availability Zone in which the cache cluster is launched. type AvailabilityZone struct { _ struct{} `type:"structure"` // The name of the Availability Zone. Name *string `type:"string"` } // String returns the string representation func (s AvailabilityZone) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s AvailabilityZone) GoString() string { return s.String() } // Contains all of the attributes of a specific cache cluster. type CacheCluster struct { _ struct{} `type:"structure"` // 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. // // ImportantIf 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"` } // String returns the string representation func (s CacheCluster) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheCluster) GoString() string { return s.String() } // Provides all of the details about a particular cache engine version. type CacheEngineVersion struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheEngineVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheEngineVersion) GoString() string { return s.String() } // 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 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). type CacheNode struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheNode) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheNode) GoString() string { return s.String() } // 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. type CacheNodeTypeSpecificParameter struct { _ struct{} `type:"structure"` // 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"` // 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"` } // String returns the string representation func (s CacheNodeTypeSpecificParameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheNodeTypeSpecificParameter) GoString() string { return s.String() } // A value that applies only to a certain cache node type. type CacheNodeTypeSpecificValue struct { _ struct{} `type:"structure"` // The cache node type for which this value applies. CacheNodeType *string `type:"string"` // The value for the cache node type. Value *string `type:"string"` } // String returns the string representation func (s CacheNodeTypeSpecificValue) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheNodeTypeSpecificValue) GoString() string { return s.String() } // Represents the output of a CreateCacheParameterGroup action. type CacheParameterGroup struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheParameterGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheParameterGroup) GoString() string { return s.String() } // Represents the output of one of the following actions: // // ModifyCacheParameterGroup ResetCacheParameterGroup type CacheParameterGroupNameMessage struct { _ struct{} `type:"structure"` // The name of the cache parameter group. CacheParameterGroupName *string `type:"string"` } // String returns the string representation func (s CacheParameterGroupNameMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheParameterGroupNameMessage) GoString() string { return s.String() } // The status of the cache parameter group. type CacheParameterGroupStatus struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheParameterGroupStatus) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheParameterGroupStatus) GoString() string { return s.String() } // Represents the output of one of the following actions: // // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress type CacheSecurityGroup struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheSecurityGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheSecurityGroup) GoString() string { return s.String() } // Represents a cache cluster's status within a particular cache security group. type CacheSecurityGroupMembership struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheSecurityGroupMembership) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheSecurityGroupMembership) GoString() string { return s.String() } // Represents the output of one of the following actions: // // CreateCacheSubnetGroup ModifyCacheSubnetGroup type CacheSubnetGroup struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CacheSubnetGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CacheSubnetGroup) GoString() string { return s.String() } // Represents the input of a CopySnapshotMessage action. type CopySnapshotInput struct { _ struct{} `type:"structure"` // The name of an existing snapshot from which to copy. SourceSnapshotName *string `type:"string" required:"true"` // A name for the copied snapshot. TargetSnapshotName *string `type:"string" required:"true"` } // String returns the string representation func (s CopySnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CopySnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CopySnapshotInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} if s.SourceSnapshotName == nil { invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) } if s.TargetSnapshotName == nil { invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CopySnapshotOutput struct { _ struct{} `type:"structure"` // Represents a copy of an entire cache cluster as of the time when the snapshot // was taken. Snapshot *Snapshot `type:"structure"` } // String returns the string representation func (s CopySnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CopySnapshotOutput) GoString() string { return s.String() } // Represents the input of a CreateCacheCluster action. type CreateCacheClusterInput struct { _ struct{} `type:"structure"` // 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: // // Example: All three Memcached nodes in one Availability Zone: 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. // // Note: 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. // // Note: 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. // // Note: 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. // // Note: 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"` } // String returns the string representation func (s CreateCacheClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCacheClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} if s.CacheClusterId == nil { invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateCacheClusterOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific cache cluster. CacheCluster *CacheCluster `type:"structure"` } // String returns the string representation func (s CreateCacheClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheClusterOutput) GoString() string { return s.String() } // Represents the input of a CreateCacheParameterGroup action. type CreateCacheParameterGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CreateCacheParameterGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheParameterGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCacheParameterGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} if s.CacheParameterGroupFamily == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) } if s.CacheParameterGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) } if s.Description == nil { invalidParams.Add(request.NewErrParamRequired("Description")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateCacheParameterGroupOutput struct { _ struct{} `type:"structure"` // Represents the output of a CreateCacheParameterGroup action. CacheParameterGroup *CacheParameterGroup `type:"structure"` } // String returns the string representation func (s CreateCacheParameterGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheParameterGroupOutput) GoString() string { return s.String() } // Represents the input of a CreateCacheSecurityGroup action. type CreateCacheSecurityGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CreateCacheSecurityGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheSecurityGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCacheSecurityGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} if s.CacheSecurityGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) } if s.Description == nil { invalidParams.Add(request.NewErrParamRequired("Description")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateCacheSecurityGroupOutput struct { _ struct{} `type:"structure"` // Represents the output of one of the following actions: // // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress CacheSecurityGroup *CacheSecurityGroup `type:"structure"` } // String returns the string representation func (s CreateCacheSecurityGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheSecurityGroupOutput) GoString() string { return s.String() } // Represents the input of a CreateCacheSubnetGroup action. type CreateCacheSubnetGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CreateCacheSubnetGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheSubnetGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateCacheSubnetGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} if s.CacheSubnetGroupDescription == nil { invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) } if s.CacheSubnetGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) } if s.SubnetIds == nil { invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateCacheSubnetGroupOutput struct { _ struct{} `type:"structure"` // Represents the output of one of the following actions: // // CreateCacheSubnetGroup ModifyCacheSubnetGroup CacheSubnetGroup *CacheSubnetGroup `type:"structure"` } // String returns the string representation func (s CreateCacheSubnetGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateCacheSubnetGroupOutput) GoString() string { return s.String() } // Represents the input of a CreateReplicationGroup action. type CreateReplicationGroupInput struct { _ struct{} `type:"structure"` // 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)), // 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. 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. // // Note: 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. // // Note: 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. // // Note: 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"` } // String returns the string representation func (s CreateReplicationGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateReplicationGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateReplicationGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} if s.ReplicationGroupDescription == nil { invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) } if s.ReplicationGroupId == nil { invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateReplicationGroupOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific replication group. ReplicationGroup *ReplicationGroup `type:"structure"` } // String returns the string representation func (s CreateReplicationGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateReplicationGroupOutput) GoString() string { return s.String() } // Represents the input of a CreateSnapshot action. type CreateSnapshotInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s CreateSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *CreateSnapshotInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} if s.CacheClusterId == nil { invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) } if s.SnapshotName == nil { invalidParams.Add(request.NewErrParamRequired("SnapshotName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type CreateSnapshotOutput struct { _ struct{} `type:"structure"` // Represents a copy of an entire cache cluster as of the time when the snapshot // was taken. Snapshot *Snapshot `type:"structure"` } // String returns the string representation func (s CreateSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s CreateSnapshotOutput) GoString() string { return s.String() } // Represents the input of a DeleteCacheCluster action. type DeleteCacheClusterInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DeleteCacheClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteCacheClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} if s.CacheClusterId == nil { invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteCacheClusterOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific cache cluster. CacheCluster *CacheCluster `type:"structure"` } // String returns the string representation func (s DeleteCacheClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheClusterOutput) GoString() string { return s.String() } // Represents the input of a DeleteCacheParameterGroup action. type DeleteCacheParameterGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DeleteCacheParameterGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheParameterGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteCacheParameterGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} if s.CacheParameterGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteCacheParameterGroupOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteCacheParameterGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheParameterGroupOutput) GoString() string { return s.String() } // Represents the input of a DeleteCacheSecurityGroup action. type DeleteCacheSecurityGroupInput struct { _ struct{} `type:"structure"` // The name of the cache security group to delete. // // You cannot delete the default security group. CacheSecurityGroupName *string `type:"string" required:"true"` } // String returns the string representation func (s DeleteCacheSecurityGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheSecurityGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteCacheSecurityGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} if s.CacheSecurityGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteCacheSecurityGroupOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteCacheSecurityGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheSecurityGroupOutput) GoString() string { return s.String() } // Represents the input of a DeleteCacheSubnetGroup action. type DeleteCacheSubnetGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DeleteCacheSubnetGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheSubnetGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteCacheSubnetGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} if s.CacheSubnetGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteCacheSubnetGroupOutput struct { _ struct{} `type:"structure"` } // String returns the string representation func (s DeleteCacheSubnetGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteCacheSubnetGroupOutput) GoString() string { return s.String() } // Represents the input of a DeleteReplicationGroup action. type DeleteReplicationGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DeleteReplicationGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteReplicationGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteReplicationGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} if s.ReplicationGroupId == nil { invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteReplicationGroupOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific replication group. ReplicationGroup *ReplicationGroup `type:"structure"` } // String returns the string representation func (s DeleteReplicationGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteReplicationGroupOutput) GoString() string { return s.String() } // Represents the input of a DeleteSnapshot action. type DeleteSnapshotInput struct { _ struct{} `type:"structure"` // The name of the snapshot to be deleted. SnapshotName *string `type:"string" required:"true"` } // String returns the string representation func (s DeleteSnapshotInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DeleteSnapshotInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} if s.SnapshotName == nil { invalidParams.Add(request.NewErrParamRequired("SnapshotName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DeleteSnapshotOutput struct { _ struct{} `type:"structure"` // Represents a copy of an entire cache cluster as of the time when the snapshot // was taken. Snapshot *Snapshot `type:"structure"` } // String returns the string representation func (s DeleteSnapshotOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DeleteSnapshotOutput) GoString() string { return s.String() } // Represents the input of a DescribeCacheClusters action. type DescribeCacheClustersInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheClustersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheClustersInput) GoString() string { return s.String() } // Represents the output of a DescribeCacheClusters action. type DescribeCacheClustersOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheClustersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheClustersOutput) GoString() string { return s.String() } // Represents the input of a DescribeCacheEngineVersions action. type DescribeCacheEngineVersionsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheEngineVersionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheEngineVersionsInput) GoString() string { return s.String() } // Represents the output of a DescribeCacheEngineVersions action. type DescribeCacheEngineVersionsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheEngineVersionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheEngineVersionsOutput) GoString() string { return s.String() } // Represents the input of a DescribeCacheParameterGroups action. type DescribeCacheParameterGroupsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheParameterGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheParameterGroupsInput) GoString() string { return s.String() } // Represents the output of a DescribeCacheParameterGroups action. type DescribeCacheParameterGroupsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheParameterGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheParameterGroupsOutput) GoString() string { return s.String() } // Represents the input of a DescribeCacheParameters action. type DescribeCacheParametersInput struct { _ struct{} `type:"structure"` // 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 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 parameter types to return. // // Valid values: user | system | engine-default Source *string `type:"string"` } // String returns the string representation func (s DescribeCacheParametersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheParametersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeCacheParametersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} if s.CacheParameterGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Represents the output of a DescribeCacheParameters action. type DescribeCacheParametersOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheParametersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheParametersOutput) GoString() string { return s.String() } // Represents the input of a DescribeCacheSecurityGroups action. type DescribeCacheSecurityGroupsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheSecurityGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheSecurityGroupsInput) GoString() string { return s.String() } // Represents the output of a DescribeCacheSecurityGroups action. type DescribeCacheSecurityGroupsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheSecurityGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheSecurityGroupsOutput) GoString() string { return s.String() } // Represents the input of a DescribeCacheSubnetGroups action. type DescribeCacheSubnetGroupsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheSubnetGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheSubnetGroupsInput) GoString() string { return s.String() } // Represents the output of a DescribeCacheSubnetGroups action. type DescribeCacheSubnetGroupsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeCacheSubnetGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeCacheSubnetGroupsOutput) GoString() string { return s.String() } // Represents the input of a DescribeEngineDefaultParameters action. type DescribeEngineDefaultParametersInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeEngineDefaultParametersInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeEngineDefaultParametersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeEngineDefaultParametersInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} if s.CacheParameterGroupFamily == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type DescribeEngineDefaultParametersOutput struct { _ struct{} `type:"structure"` // Represents the output of a DescribeEngineDefaultParameters action. EngineDefaults *EngineDefaults `type:"structure"` } // String returns the string representation func (s DescribeEngineDefaultParametersOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeEngineDefaultParametersOutput) GoString() string { return s.String() } // Represents the input of a DescribeEvents action. type DescribeEventsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeEventsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeEventsInput) GoString() string { return s.String() } // Represents the output of a DescribeEvents action. type DescribeEventsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeEventsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeEventsOutput) GoString() string { return s.String() } // Represents the input of a DescribeReplicationGroups action. type DescribeReplicationGroupsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeReplicationGroupsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeReplicationGroupsInput) GoString() string { return s.String() } // Represents the output of a DescribeReplicationGroups action. type DescribeReplicationGroupsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeReplicationGroupsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeReplicationGroupsOutput) GoString() string { return s.String() } // Represents the input of a DescribeReservedCacheNodes action. type DescribeReservedCacheNodesInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeReservedCacheNodesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeReservedCacheNodesInput) GoString() string { return s.String() } // Represents the input of a DescribeReservedCacheNodesOfferings action. type DescribeReservedCacheNodesOfferingsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeReservedCacheNodesOfferingsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { return s.String() } // Represents the output of a DescribeReservedCacheNodesOfferings action. type DescribeReservedCacheNodesOfferingsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeReservedCacheNodesOfferingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { return s.String() } // Represents the output of a DescribeReservedCacheNodes action. type DescribeReservedCacheNodesOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeReservedCacheNodesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeReservedCacheNodesOutput) GoString() string { return s.String() } // Represents the input of a DescribeSnapshotsMessage action. type DescribeSnapshotsInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeSnapshotsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeSnapshotsInput) GoString() string { return s.String() } // Represents the output of a DescribeSnapshots action. type DescribeSnapshotsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s DescribeSnapshotsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s DescribeSnapshotsOutput) GoString() string { return s.String() } // Provides ownership and status information for an Amazon EC2 security group. type EC2SecurityGroup struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s EC2SecurityGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s EC2SecurityGroup) GoString() string { return s.String() } // Represents the information required for client programs to connect to a cache // node. type Endpoint struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s Endpoint) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Endpoint) GoString() string { return s.String() } // Represents the output of a DescribeEngineDefaultParameters action. type EngineDefaults struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s EngineDefaults) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s EngineDefaults) GoString() string { return s.String() } // 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. type Event struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s Event) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Event) GoString() string { return s.String() } // The input parameters for the ListAllowedNodeTypeModifications action. type ListAllowedNodeTypeModificationsInput struct { _ struct{} `type:"structure"` // 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. // // Important: 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. // // Important: You must provide a value for either the CacheClusterId or the // ReplicationGroupId. ReplicationGroupId *string `type:"string"` } // String returns the string representation func (s ListAllowedNodeTypeModificationsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListAllowedNodeTypeModificationsInput) GoString() string { return s.String() } // Represents the allowed node types you can use to modify your cache cluster // or replication group. type ListAllowedNodeTypeModificationsOutput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ListAllowedNodeTypeModificationsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListAllowedNodeTypeModificationsOutput) GoString() string { return s.String() } // The input parameters for the ListTagsForResource action. type ListTagsForResourceInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ListTagsForResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} if s.ResourceName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Represents the input of a ModifyCacheCluster action. type ModifyCacheClusterInput struct { _ struct{} `type:"structure"` // 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 []*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. // // Note: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. // // ImportantIf 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"` } // String returns the string representation func (s ModifyCacheClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyCacheClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyCacheClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} if s.CacheClusterId == nil { invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ModifyCacheClusterOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific cache cluster. CacheCluster *CacheCluster `type:"structure"` } // String returns the string representation func (s ModifyCacheClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyCacheClusterOutput) GoString() string { return s.String() } // Represents the input of a ModifyCacheParameterGroup action. type ModifyCacheParameterGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ModifyCacheParameterGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyCacheParameterGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyCacheParameterGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} if s.CacheParameterGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) } if s.ParameterNameValues == nil { invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Represents the input of a ModifyCacheSubnetGroup action. type ModifyCacheSubnetGroupInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ModifyCacheSubnetGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyCacheSubnetGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyCacheSubnetGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} if s.CacheSubnetGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ModifyCacheSubnetGroupOutput struct { _ struct{} `type:"structure"` // Represents the output of one of the following actions: // // CreateCacheSubnetGroup ModifyCacheSubnetGroup CacheSubnetGroup *CacheSubnetGroup `type:"structure"` } // String returns the string representation func (s ModifyCacheSubnetGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyCacheSubnetGroupOutput) GoString() string { return s.String() } // Represents the input of a ModifyReplicationGroups action. type ModifyReplicationGroupInput struct { _ struct{} `type:"structure"` // 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. // // ImportantIf 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"` } // String returns the string representation func (s ModifyReplicationGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyReplicationGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ModifyReplicationGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} if s.ReplicationGroupId == nil { invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type ModifyReplicationGroupOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific replication group. ReplicationGroup *ReplicationGroup `type:"structure"` } // String returns the string representation func (s ModifyReplicationGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ModifyReplicationGroupOutput) GoString() string { return s.String() } // Represents a collection of cache nodes in a replication group. type NodeGroup struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s NodeGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NodeGroup) GoString() string { return s.String() } // Represents a single node within a node group. type NodeGroupMember struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s NodeGroupMember) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NodeGroupMember) GoString() string { return s.String() } // Represents an individual cache node in a snapshot of a cache cluster. type NodeSnapshot struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s NodeSnapshot) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NodeSnapshot) GoString() string { return s.String() } // Describes a notification topic and its status. Notification topics are used // for publishing ElastiCache events to subscribers using Amazon Simple Notification // Service (SNS). type NotificationConfiguration struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) that identifies the topic. TopicArn *string `type:"string"` // The current state of the topic. TopicStatus *string `type:"string"` } // String returns the string representation func (s NotificationConfiguration) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s NotificationConfiguration) GoString() string { return s.String() } // Describes an individual setting that controls some aspect of ElastiCache // behavior. type Parameter struct { _ struct{} `type:"structure"` // The valid range of values for the parameter. AllowedValues *string `type:"string"` // 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"` } // String returns the string representation func (s Parameter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Parameter) GoString() string { return s.String() } // Describes a name-value pair that is used to update the value of a parameter. type ParameterNameValue struct { _ struct{} `type:"structure"` // The name of the parameter. ParameterName *string `type:"string"` // The value of the parameter. ParameterValue *string `type:"string"` } // String returns the string representation func (s ParameterNameValue) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ParameterNameValue) GoString() string { return s.String() } // A group of settings that will be applied to the cache cluster in the future, // or that are currently being applied. type PendingModifiedValues struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s PendingModifiedValues) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PendingModifiedValues) GoString() string { return s.String() } // Represents the input of a PurchaseReservedCacheNodesOffering action. type PurchaseReservedCacheNodesOfferingInput struct { _ struct{} `type:"structure"` // The number of cache node instances to reserve. // // Default: 1 CacheNodeCount *int64 `type:"integer"` // A customer-specified identifier to track this reservation. // // Note: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"` } // String returns the string representation func (s PurchaseReservedCacheNodesOfferingInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} if s.ReservedCacheNodesOfferingId == nil { invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type PurchaseReservedCacheNodesOfferingOutput struct { _ struct{} `type:"structure"` // Represents the output of a PurchaseReservedCacheNodesOffering action. ReservedCacheNode *ReservedCacheNode `type:"structure"` } // String returns the string representation func (s PurchaseReservedCacheNodesOfferingOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { return s.String() } // Represents the input of a RebootCacheCluster action. type RebootCacheClusterInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s RebootCacheClusterInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RebootCacheClusterInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RebootCacheClusterInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} if s.CacheClusterId == nil { invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) } if s.CacheNodeIdsToReboot == nil { invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type RebootCacheClusterOutput struct { _ struct{} `type:"structure"` // Contains all of the attributes of a specific cache cluster. CacheCluster *CacheCluster `type:"structure"` } // String returns the string representation func (s RebootCacheClusterOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RebootCacheClusterOutput) GoString() string { return s.String() } // Contains the specific price and frequency of a recurring charges for a reserved // cache node, or for a reserved cache node offering. type RecurringCharge struct { _ struct{} `type:"structure"` // The monetary amount of the recurring charge. RecurringChargeAmount *float64 `type:"double"` // The frequency of the recurring charge. RecurringChargeFrequency *string `type:"string"` } // String returns the string representation func (s RecurringCharge) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RecurringCharge) GoString() string { return s.String() } // Represents the input of a RemoveTagsFromResource action. type RemoveTagsFromResourceInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s RemoveTagsFromResourceInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RemoveTagsFromResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RemoveTagsFromResourceInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} if s.ResourceName == nil { invalidParams.Add(request.NewErrParamRequired("ResourceName")) } if s.TagKeys == nil { invalidParams.Add(request.NewErrParamRequired("TagKeys")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Contains all of the attributes of a specific replication group. type ReplicationGroup struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ReplicationGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReplicationGroup) GoString() string { return s.String() } // The settings to be applied to the replication group, either immediately or // during the next maintenance window. type ReplicationGroupPendingModifiedValues struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ReplicationGroupPendingModifiedValues) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReplicationGroupPendingModifiedValues) GoString() string { return s.String() } // Represents the output of a PurchaseReservedCacheNodesOffering action. type ReservedCacheNode struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ReservedCacheNode) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReservedCacheNode) GoString() string { return s.String() } // Describes all of the attributes of a reserved cache node offering. type ReservedCacheNodesOffering struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s ReservedCacheNodesOffering) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ReservedCacheNodesOffering) GoString() string { return s.String() } // Represents the input of a ResetCacheParameterGroup action. type ResetCacheParameterGroupInput struct { _ struct{} `type:"structure"` // The name of the cache parameter group to reset. CacheParameterGroupName *string `type:"string" required:"true"` // An array of parameter names to be reset. If you are not resetting the entire // cache parameter group, you must specify at least one parameter name. ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` // If true, all parameters in the cache parameter group will be reset to default // values. If false, no such action occurs. // // Valid values: true | false ResetAllParameters *bool `type:"boolean"` } // String returns the string representation func (s ResetCacheParameterGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s ResetCacheParameterGroupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *ResetCacheParameterGroupInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} if s.CacheParameterGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) } if s.ParameterNameValues == nil { invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) } if invalidParams.Len() > 0 { return invalidParams } return nil } // Represents the input of a RevokeCacheSecurityGroupIngress action. type RevokeCacheSecurityGroupIngressInput struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s RevokeCacheSecurityGroupIngressInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RevokeCacheSecurityGroupIngressInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} if s.CacheSecurityGroupName == nil { invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) } if s.EC2SecurityGroupName == nil { invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) } if s.EC2SecurityGroupOwnerId == nil { invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) } if invalidParams.Len() > 0 { return invalidParams } return nil } type RevokeCacheSecurityGroupIngressOutput struct { _ struct{} `type:"structure"` // Represents the output of one of the following actions: // // AuthorizeCacheSecurityGroupIngress CreateCacheSecurityGroup RevokeCacheSecurityGroupIngress CacheSecurityGroup *CacheSecurityGroup `type:"structure"` } // String returns the string representation func (s RevokeCacheSecurityGroupIngressOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { return s.String() } // Represents a single cache security group and its status. type SecurityGroupMembership struct { _ struct{} `type:"structure"` // 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"` } // String returns the string representation func (s SecurityGroupMembership) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s SecurityGroupMembership) GoString() string { return s.String() } // Represents a copy of an entire cache cluster as of the time when the snapshot // was taken. type Snapshot struct { _ struct{} `type:"structure"` // 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. // // ImportantIf 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"` } // String returns the string representation func (s Snapshot) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Snapshot) GoString() string { return s.String() } // 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. type Subnet struct { _ struct{} `type:"structure"` // The Availability Zone associated with the subnet. SubnetAvailabilityZone *AvailabilityZone `type:"structure"` // The unique identifier for the subnet. SubnetIdentifier *string `type:"string"` } // String returns the string representation func (s Subnet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Subnet) GoString() string { return s.String() } // 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. type Tag struct { _ struct{} `type:"structure"` // The key for the tag. Key *string `type:"string"` // The tag's value. May not be null. Value *string `type:"string"` } // String returns the string representation func (s Tag) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s Tag) GoString() string { return s.String() } // Represents the output from the AddTagsToResource, ListTagsOnResource, and // RemoveTagsFromResource actions. type TagListMessage struct { _ struct{} `type:"structure"` // A list of cost allocation tags as key-value pairs. TagList []*Tag `locationNameList:"Tag" type:"list"` } // String returns the string representation func (s TagListMessage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation func (s TagListMessage) GoString() string { return s.String() } const ( // @enum AZMode AZModeSingleAz = "single-az" // @enum AZMode AZModeCrossAz = "cross-az" ) const ( // @enum AutomaticFailoverStatus AutomaticFailoverStatusEnabled = "enabled" // @enum AutomaticFailoverStatus AutomaticFailoverStatusDisabled = "disabled" // @enum AutomaticFailoverStatus AutomaticFailoverStatusEnabling = "enabling" // @enum AutomaticFailoverStatus AutomaticFailoverStatusDisabling = "disabling" ) const ( // @enum PendingAutomaticFailoverStatus PendingAutomaticFailoverStatusEnabled = "enabled" // @enum PendingAutomaticFailoverStatus PendingAutomaticFailoverStatusDisabled = "disabled" ) const ( // @enum SourceType SourceTypeCacheCluster = "cache-cluster" // @enum SourceType SourceTypeCacheParameterGroup = "cache-parameter-group" // @enum SourceType SourceTypeCacheSecurityGroup = "cache-security-group" // @enum SourceType SourceTypeCacheSubnetGroup = "cache-subnet-group" )