1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package elasticache 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/query" 14) 15 16const opAddTagsToResource = "AddTagsToResource" 17 18// AddTagsToResourceRequest generates a "aws/request.Request" representing the 19// client's request for the AddTagsToResource operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See AddTagsToResource for more information on using the AddTagsToResource 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the AddTagsToResourceRequest method. 34// req, resp := client.AddTagsToResourceRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AddTagsToResource 42func (c *ElastiCache) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *TagListMessage) { 43 op := &request.Operation{ 44 Name: opAddTagsToResource, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AddTagsToResourceInput{} 51 } 52 53 output = &TagListMessage{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// AddTagsToResource API operation for Amazon ElastiCache. 59// 60// Adds up to 50 cost allocation tags to the named resource. A cost allocation 61// tag is a key-value pair where the key and value are case-sensitive. You can 62// use cost allocation tags to categorize and track your AWS costs. 63// 64// When you apply tags to your ElastiCache resources, AWS generates a cost allocation 65// report as a comma-separated value (CSV) file with your usage and costs aggregated 66// by your tags. You can apply tags that represent business categories (such 67// as cost centers, application names, or owners) to organize your costs across 68// multiple services. For more information, see Using Cost Allocation Tags in 69// Amazon ElastiCache (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html) 70// in the ElastiCache User Guide. 71// 72// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 73// with awserr.Error's Code and Message methods to get detailed information about 74// the error. 75// 76// See the AWS API reference guide for Amazon ElastiCache's 77// API operation AddTagsToResource for usage and error information. 78// 79// Returned Error Codes: 80// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 81// The requested cluster ID does not refer to an existing cluster. 82// 83// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 84// The requested snapshot name does not refer to an existing snapshot. 85// 86// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 87// The request cannot be processed because it would cause the resource to have 88// more than the allowed number of tags. The maximum number of tags permitted 89// on a resource is 50. 90// 91// * ErrCodeInvalidARNFault "InvalidARN" 92// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 93// 94// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AddTagsToResource 95func (c *ElastiCache) AddTagsToResource(input *AddTagsToResourceInput) (*TagListMessage, error) { 96 req, out := c.AddTagsToResourceRequest(input) 97 return out, req.Send() 98} 99 100// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of 101// the ability to pass a context and additional request options. 102// 103// See AddTagsToResource for details on how to use this API operation. 104// 105// The context must be non-nil and will be used for request cancellation. If 106// the context is nil a panic will occur. In the future the SDK may create 107// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 108// for more information on using Contexts. 109func (c *ElastiCache) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*TagListMessage, error) { 110 req, out := c.AddTagsToResourceRequest(input) 111 req.SetContext(ctx) 112 req.ApplyOptions(opts...) 113 return out, req.Send() 114} 115 116const opAuthorizeCacheSecurityGroupIngress = "AuthorizeCacheSecurityGroupIngress" 117 118// AuthorizeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 119// client's request for the AuthorizeCacheSecurityGroupIngress operation. The "output" return 120// value will be populated with the request's response once the request completes 121// successfully. 122// 123// Use "Send" method on the returned Request to send the API call to the service. 124// the "output" return value is not valid until after Send returns without error. 125// 126// See AuthorizeCacheSecurityGroupIngress for more information on using the AuthorizeCacheSecurityGroupIngress 127// API call, and error handling. 128// 129// This method is useful when you want to inject custom logic or configuration 130// into the SDK's request lifecycle. Such as custom headers, or retry logic. 131// 132// 133// // Example sending a request using the AuthorizeCacheSecurityGroupIngressRequest method. 134// req, resp := client.AuthorizeCacheSecurityGroupIngressRequest(params) 135// 136// err := req.Send() 137// if err == nil { // resp is now filled 138// fmt.Println(resp) 139// } 140// 141// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizeCacheSecurityGroupIngress 142func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressRequest(input *AuthorizeCacheSecurityGroupIngressInput) (req *request.Request, output *AuthorizeCacheSecurityGroupIngressOutput) { 143 op := &request.Operation{ 144 Name: opAuthorizeCacheSecurityGroupIngress, 145 HTTPMethod: "POST", 146 HTTPPath: "/", 147 } 148 149 if input == nil { 150 input = &AuthorizeCacheSecurityGroupIngressInput{} 151 } 152 153 output = &AuthorizeCacheSecurityGroupIngressOutput{} 154 req = c.newRequest(op, input, output) 155 return 156} 157 158// AuthorizeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 159// 160// Allows network ingress to a cache security group. Applications using ElastiCache 161// must be running on Amazon EC2, and Amazon EC2 security groups are used as 162// the authorization mechanism. 163// 164// You cannot authorize ingress from an Amazon EC2 security group in one region 165// to an ElastiCache cluster in another region. 166// 167// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 168// with awserr.Error's Code and Message methods to get detailed information about 169// the error. 170// 171// See the AWS API reference guide for Amazon ElastiCache's 172// API operation AuthorizeCacheSecurityGroupIngress for usage and error information. 173// 174// Returned Error Codes: 175// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 176// The requested cache security group name does not refer to an existing cache 177// security group. 178// 179// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 180// The current state of the cache security group does not allow deletion. 181// 182// * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists" 183// The specified Amazon EC2 security group is already authorized for the specified 184// cache security group. 185// 186// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 187// The value for a parameter is invalid. 188// 189// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 190// Two or more incompatible parameters were specified. 191// 192// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/AuthorizeCacheSecurityGroupIngress 193func (c *ElastiCache) AuthorizeCacheSecurityGroupIngress(input *AuthorizeCacheSecurityGroupIngressInput) (*AuthorizeCacheSecurityGroupIngressOutput, error) { 194 req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input) 195 return out, req.Send() 196} 197 198// AuthorizeCacheSecurityGroupIngressWithContext is the same as AuthorizeCacheSecurityGroupIngress with the addition of 199// the ability to pass a context and additional request options. 200// 201// See AuthorizeCacheSecurityGroupIngress for details on how to use this API operation. 202// 203// The context must be non-nil and will be used for request cancellation. If 204// the context is nil a panic will occur. In the future the SDK may create 205// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 206// for more information on using Contexts. 207func (c *ElastiCache) AuthorizeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeCacheSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeCacheSecurityGroupIngressOutput, error) { 208 req, out := c.AuthorizeCacheSecurityGroupIngressRequest(input) 209 req.SetContext(ctx) 210 req.ApplyOptions(opts...) 211 return out, req.Send() 212} 213 214const opBatchApplyUpdateAction = "BatchApplyUpdateAction" 215 216// BatchApplyUpdateActionRequest generates a "aws/request.Request" representing the 217// client's request for the BatchApplyUpdateAction operation. The "output" return 218// value will be populated with the request's response once the request completes 219// successfully. 220// 221// Use "Send" method on the returned Request to send the API call to the service. 222// the "output" return value is not valid until after Send returns without error. 223// 224// See BatchApplyUpdateAction for more information on using the BatchApplyUpdateAction 225// API call, and error handling. 226// 227// This method is useful when you want to inject custom logic or configuration 228// into the SDK's request lifecycle. Such as custom headers, or retry logic. 229// 230// 231// // Example sending a request using the BatchApplyUpdateActionRequest method. 232// req, resp := client.BatchApplyUpdateActionRequest(params) 233// 234// err := req.Send() 235// if err == nil { // resp is now filled 236// fmt.Println(resp) 237// } 238// 239// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchApplyUpdateAction 240func (c *ElastiCache) BatchApplyUpdateActionRequest(input *BatchApplyUpdateActionInput) (req *request.Request, output *BatchApplyUpdateActionOutput) { 241 op := &request.Operation{ 242 Name: opBatchApplyUpdateAction, 243 HTTPMethod: "POST", 244 HTTPPath: "/", 245 } 246 247 if input == nil { 248 input = &BatchApplyUpdateActionInput{} 249 } 250 251 output = &BatchApplyUpdateActionOutput{} 252 req = c.newRequest(op, input, output) 253 return 254} 255 256// BatchApplyUpdateAction API operation for Amazon ElastiCache. 257// 258// Apply the service update. For more information on service updates and applying 259// them, see Applying Service Updates (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/applying-updates.html). 260// 261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 262// with awserr.Error's Code and Message methods to get detailed information about 263// the error. 264// 265// See the AWS API reference guide for Amazon ElastiCache's 266// API operation BatchApplyUpdateAction for usage and error information. 267// 268// Returned Error Codes: 269// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 270// The service update doesn't exist 271// 272// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 273// The value for a parameter is invalid. 274// 275// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchApplyUpdateAction 276func (c *ElastiCache) BatchApplyUpdateAction(input *BatchApplyUpdateActionInput) (*BatchApplyUpdateActionOutput, error) { 277 req, out := c.BatchApplyUpdateActionRequest(input) 278 return out, req.Send() 279} 280 281// BatchApplyUpdateActionWithContext is the same as BatchApplyUpdateAction with the addition of 282// the ability to pass a context and additional request options. 283// 284// See BatchApplyUpdateAction for details on how to use this API operation. 285// 286// The context must be non-nil and will be used for request cancellation. If 287// the context is nil a panic will occur. In the future the SDK may create 288// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 289// for more information on using Contexts. 290func (c *ElastiCache) BatchApplyUpdateActionWithContext(ctx aws.Context, input *BatchApplyUpdateActionInput, opts ...request.Option) (*BatchApplyUpdateActionOutput, error) { 291 req, out := c.BatchApplyUpdateActionRequest(input) 292 req.SetContext(ctx) 293 req.ApplyOptions(opts...) 294 return out, req.Send() 295} 296 297const opBatchStopUpdateAction = "BatchStopUpdateAction" 298 299// BatchStopUpdateActionRequest generates a "aws/request.Request" representing the 300// client's request for the BatchStopUpdateAction operation. The "output" return 301// value will be populated with the request's response once the request completes 302// successfully. 303// 304// Use "Send" method on the returned Request to send the API call to the service. 305// the "output" return value is not valid until after Send returns without error. 306// 307// See BatchStopUpdateAction for more information on using the BatchStopUpdateAction 308// API call, and error handling. 309// 310// This method is useful when you want to inject custom logic or configuration 311// into the SDK's request lifecycle. Such as custom headers, or retry logic. 312// 313// 314// // Example sending a request using the BatchStopUpdateActionRequest method. 315// req, resp := client.BatchStopUpdateActionRequest(params) 316// 317// err := req.Send() 318// if err == nil { // resp is now filled 319// fmt.Println(resp) 320// } 321// 322// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchStopUpdateAction 323func (c *ElastiCache) BatchStopUpdateActionRequest(input *BatchStopUpdateActionInput) (req *request.Request, output *BatchStopUpdateActionOutput) { 324 op := &request.Operation{ 325 Name: opBatchStopUpdateAction, 326 HTTPMethod: "POST", 327 HTTPPath: "/", 328 } 329 330 if input == nil { 331 input = &BatchStopUpdateActionInput{} 332 } 333 334 output = &BatchStopUpdateActionOutput{} 335 req = c.newRequest(op, input, output) 336 return 337} 338 339// BatchStopUpdateAction API operation for Amazon ElastiCache. 340// 341// Stop the service update. For more information on service updates and stopping 342// them, see Stopping Service Updates (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/stopping-self-service-updates.html). 343// 344// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 345// with awserr.Error's Code and Message methods to get detailed information about 346// the error. 347// 348// See the AWS API reference guide for Amazon ElastiCache's 349// API operation BatchStopUpdateAction for usage and error information. 350// 351// Returned Error Codes: 352// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 353// The service update doesn't exist 354// 355// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 356// The value for a parameter is invalid. 357// 358// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/BatchStopUpdateAction 359func (c *ElastiCache) BatchStopUpdateAction(input *BatchStopUpdateActionInput) (*BatchStopUpdateActionOutput, error) { 360 req, out := c.BatchStopUpdateActionRequest(input) 361 return out, req.Send() 362} 363 364// BatchStopUpdateActionWithContext is the same as BatchStopUpdateAction with the addition of 365// the ability to pass a context and additional request options. 366// 367// See BatchStopUpdateAction for details on how to use this API operation. 368// 369// The context must be non-nil and will be used for request cancellation. If 370// the context is nil a panic will occur. In the future the SDK may create 371// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 372// for more information on using Contexts. 373func (c *ElastiCache) BatchStopUpdateActionWithContext(ctx aws.Context, input *BatchStopUpdateActionInput, opts ...request.Option) (*BatchStopUpdateActionOutput, error) { 374 req, out := c.BatchStopUpdateActionRequest(input) 375 req.SetContext(ctx) 376 req.ApplyOptions(opts...) 377 return out, req.Send() 378} 379 380const opCopySnapshot = "CopySnapshot" 381 382// CopySnapshotRequest generates a "aws/request.Request" representing the 383// client's request for the CopySnapshot operation. The "output" return 384// value will be populated with the request's response once the request completes 385// successfully. 386// 387// Use "Send" method on the returned Request to send the API call to the service. 388// the "output" return value is not valid until after Send returns without error. 389// 390// See CopySnapshot for more information on using the CopySnapshot 391// API call, and error handling. 392// 393// This method is useful when you want to inject custom logic or configuration 394// into the SDK's request lifecycle. Such as custom headers, or retry logic. 395// 396// 397// // Example sending a request using the CopySnapshotRequest method. 398// req, resp := client.CopySnapshotRequest(params) 399// 400// err := req.Send() 401// if err == nil { // resp is now filled 402// fmt.Println(resp) 403// } 404// 405// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot 406func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { 407 op := &request.Operation{ 408 Name: opCopySnapshot, 409 HTTPMethod: "POST", 410 HTTPPath: "/", 411 } 412 413 if input == nil { 414 input = &CopySnapshotInput{} 415 } 416 417 output = &CopySnapshotOutput{} 418 req = c.newRequest(op, input, output) 419 return 420} 421 422// CopySnapshot API operation for Amazon ElastiCache. 423// 424// Makes a copy of an existing snapshot. 425// 426// This operation is valid for Redis only. 427// 428// Users or groups that have permissions to use the CopySnapshot operation can 429// create their own Amazon S3 buckets and copy snapshots to it. To control access 430// to your snapshots, use an IAM policy to control who has the ability to use 431// the CopySnapshot operation. For more information about using IAM to control 432// the use of ElastiCache operations, see Exporting Snapshots (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 433// and Authentication & Access Control (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.html). 434// 435// You could receive the following error messages. 436// 437// Error Messages 438// 439// * Error Message: The S3 bucket %s is outside of the region. Solution: 440// Create an Amazon S3 bucket in the same region as your snapshot. For more 441// information, see Step 1: Create an Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-create-s3-bucket) 442// in the ElastiCache User Guide. 443// 444// * Error Message: The S3 bucket %s does not exist. Solution: Create an 445// Amazon S3 bucket in the same region as your snapshot. For more information, 446// see Step 1: Create an Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-create-s3-bucket) 447// in the ElastiCache User Guide. 448// 449// * Error Message: The S3 bucket %s is not owned by the authenticated user. 450// Solution: Create an Amazon S3 bucket in the same region as your snapshot. 451// For more information, see Step 1: Create an Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-create-s3-bucket) 452// in the ElastiCache User Guide. 453// 454// * Error Message: The authenticated user does not have sufficient permissions 455// to perform the desired activity. Solution: Contact your system administrator 456// to get the needed permissions. 457// 458// * Error Message: The S3 bucket %s already contains an object with key 459// %s. Solution: Give the TargetSnapshotName a new and unique value. If exporting 460// a snapshot, you could alternatively create a new Amazon S3 bucket and 461// use this same value for TargetSnapshotName. 462// 463// * Error Message: ElastiCache has not been granted READ permissions %s 464// on the S3 Bucket. Solution: Add List and Read permissions on the bucket. 465// For more information, see Step 2: Grant ElastiCache Access to Your Amazon 466// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 467// in the ElastiCache User Guide. 468// 469// * Error Message: ElastiCache has not been granted WRITE permissions %s 470// on the S3 Bucket. Solution: Add Upload/Delete permissions on the bucket. 471// For more information, see Step 2: Grant ElastiCache Access to Your Amazon 472// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 473// in the ElastiCache User Guide. 474// 475// * Error Message: ElastiCache has not been granted READ_ACP permissions 476// %s on the S3 Bucket. Solution: Add View Permissions on the bucket. For 477// more information, see Step 2: Grant ElastiCache Access to Your Amazon 478// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 479// in the ElastiCache User Guide. 480// 481// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 482// with awserr.Error's Code and Message methods to get detailed information about 483// the error. 484// 485// See the AWS API reference guide for Amazon ElastiCache's 486// API operation CopySnapshot for usage and error information. 487// 488// Returned Error Codes: 489// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 490// You already have a snapshot with the given name. 491// 492// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 493// The requested snapshot name does not refer to an existing snapshot. 494// 495// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 496// The request cannot be processed because it would exceed the maximum number 497// of snapshots. 498// 499// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 500// The current state of the snapshot does not allow the requested operation 501// to occur. 502// 503// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 504// The value for a parameter is invalid. 505// 506// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 507// Two or more incompatible parameters were specified. 508// 509// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot 510func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { 511 req, out := c.CopySnapshotRequest(input) 512 return out, req.Send() 513} 514 515// CopySnapshotWithContext is the same as CopySnapshot with the addition of 516// the ability to pass a context and additional request options. 517// 518// See CopySnapshot for details on how to use this API operation. 519// 520// The context must be non-nil and will be used for request cancellation. If 521// the context is nil a panic will occur. In the future the SDK may create 522// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 523// for more information on using Contexts. 524func (c *ElastiCache) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) { 525 req, out := c.CopySnapshotRequest(input) 526 req.SetContext(ctx) 527 req.ApplyOptions(opts...) 528 return out, req.Send() 529} 530 531const opCreateCacheCluster = "CreateCacheCluster" 532 533// CreateCacheClusterRequest generates a "aws/request.Request" representing the 534// client's request for the CreateCacheCluster operation. The "output" return 535// value will be populated with the request's response once the request completes 536// successfully. 537// 538// Use "Send" method on the returned Request to send the API call to the service. 539// the "output" return value is not valid until after Send returns without error. 540// 541// See CreateCacheCluster for more information on using the CreateCacheCluster 542// API call, and error handling. 543// 544// This method is useful when you want to inject custom logic or configuration 545// into the SDK's request lifecycle. Such as custom headers, or retry logic. 546// 547// 548// // Example sending a request using the CreateCacheClusterRequest method. 549// req, resp := client.CreateCacheClusterRequest(params) 550// 551// err := req.Send() 552// if err == nil { // resp is now filled 553// fmt.Println(resp) 554// } 555// 556// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster 557func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) { 558 op := &request.Operation{ 559 Name: opCreateCacheCluster, 560 HTTPMethod: "POST", 561 HTTPPath: "/", 562 } 563 564 if input == nil { 565 input = &CreateCacheClusterInput{} 566 } 567 568 output = &CreateCacheClusterOutput{} 569 req = c.newRequest(op, input, output) 570 return 571} 572 573// CreateCacheCluster API operation for Amazon ElastiCache. 574// 575// Creates a cluster. All nodes in the cluster run the same protocol-compliant 576// cache engine software, either Memcached or Redis. 577// 578// This operation is not supported for Redis (cluster mode enabled) clusters. 579// 580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 581// with awserr.Error's Code and Message methods to get detailed information about 582// the error. 583// 584// See the AWS API reference guide for Amazon ElastiCache's 585// API operation CreateCacheCluster for usage and error information. 586// 587// Returned Error Codes: 588// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 589// The specified replication group does not exist. 590// 591// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 592// The requested replication group is not in the available state. 593// 594// * ErrCodeCacheClusterAlreadyExistsFault "CacheClusterAlreadyExists" 595// You already have a cluster with the given identifier. 596// 597// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 598// The requested cache node type is not available in the specified Availability 599// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 600// in the ElastiCache User Guide. 601// 602// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 603// The requested cache security group name does not refer to an existing cache 604// security group. 605// 606// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 607// The requested cache subnet group name does not refer to an existing cache 608// subnet group. 609// 610// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 611// The request cannot be processed because it would exceed the allowed number 612// of clusters per customer. 613// 614// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 615// The request cannot be processed because it would exceed the allowed number 616// of cache nodes in a single cluster. 617// 618// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 619// The request cannot be processed because it would exceed the allowed number 620// of cache nodes per customer. 621// 622// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 623// The requested cache parameter group name does not refer to an existing cache 624// parameter group. 625// 626// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 627// The VPC network is in an invalid state. 628// 629// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 630// The request cannot be processed because it would cause the resource to have 631// more than the allowed number of tags. The maximum number of tags permitted 632// on a resource is 50. 633// 634// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 635// The value for a parameter is invalid. 636// 637// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 638// Two or more incompatible parameters were specified. 639// 640// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster 641func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) { 642 req, out := c.CreateCacheClusterRequest(input) 643 return out, req.Send() 644} 645 646// CreateCacheClusterWithContext is the same as CreateCacheCluster with the addition of 647// the ability to pass a context and additional request options. 648// 649// See CreateCacheCluster for details on how to use this API operation. 650// 651// The context must be non-nil and will be used for request cancellation. If 652// the context is nil a panic will occur. In the future the SDK may create 653// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 654// for more information on using Contexts. 655func (c *ElastiCache) CreateCacheClusterWithContext(ctx aws.Context, input *CreateCacheClusterInput, opts ...request.Option) (*CreateCacheClusterOutput, error) { 656 req, out := c.CreateCacheClusterRequest(input) 657 req.SetContext(ctx) 658 req.ApplyOptions(opts...) 659 return out, req.Send() 660} 661 662const opCreateCacheParameterGroup = "CreateCacheParameterGroup" 663 664// CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the 665// client's request for the CreateCacheParameterGroup operation. The "output" return 666// value will be populated with the request's response once the request completes 667// successfully. 668// 669// Use "Send" method on the returned Request to send the API call to the service. 670// the "output" return value is not valid until after Send returns without error. 671// 672// See CreateCacheParameterGroup for more information on using the CreateCacheParameterGroup 673// API call, and error handling. 674// 675// This method is useful when you want to inject custom logic or configuration 676// into the SDK's request lifecycle. Such as custom headers, or retry logic. 677// 678// 679// // Example sending a request using the CreateCacheParameterGroupRequest method. 680// req, resp := client.CreateCacheParameterGroupRequest(params) 681// 682// err := req.Send() 683// if err == nil { // resp is now filled 684// fmt.Println(resp) 685// } 686// 687// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup 688func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) { 689 op := &request.Operation{ 690 Name: opCreateCacheParameterGroup, 691 HTTPMethod: "POST", 692 HTTPPath: "/", 693 } 694 695 if input == nil { 696 input = &CreateCacheParameterGroupInput{} 697 } 698 699 output = &CreateCacheParameterGroupOutput{} 700 req = c.newRequest(op, input, output) 701 return 702} 703 704// CreateCacheParameterGroup API operation for Amazon ElastiCache. 705// 706// Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache 707// parameter group is a collection of parameters and their values that are applied 708// to all of the nodes in any cluster or replication group using the CacheParameterGroup. 709// 710// A newly created CacheParameterGroup is an exact duplicate of the default 711// parameter group for the CacheParameterGroupFamily. To customize the newly 712// created CacheParameterGroup you can change the values of specific parameters. 713// For more information, see: 714// 715// * ModifyCacheParameterGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheParameterGroup.html) 716// in the ElastiCache API Reference. 717// 718// * Parameters and Parameter Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.html) 719// in the ElastiCache User Guide. 720// 721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 722// with awserr.Error's Code and Message methods to get detailed information about 723// the error. 724// 725// See the AWS API reference guide for Amazon ElastiCache's 726// API operation CreateCacheParameterGroup for usage and error information. 727// 728// Returned Error Codes: 729// * ErrCodeCacheParameterGroupQuotaExceededFault "CacheParameterGroupQuotaExceeded" 730// The request cannot be processed because it would exceed the maximum number 731// of cache security groups. 732// 733// * ErrCodeCacheParameterGroupAlreadyExistsFault "CacheParameterGroupAlreadyExists" 734// A cache parameter group with the requested name already exists. 735// 736// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 737// The current state of the cache parameter group does not allow the requested 738// operation to occur. 739// 740// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 741// The value for a parameter is invalid. 742// 743// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 744// Two or more incompatible parameters were specified. 745// 746// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup 747func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) { 748 req, out := c.CreateCacheParameterGroupRequest(input) 749 return out, req.Send() 750} 751 752// CreateCacheParameterGroupWithContext is the same as CreateCacheParameterGroup with the addition of 753// the ability to pass a context and additional request options. 754// 755// See CreateCacheParameterGroup for details on how to use this API operation. 756// 757// The context must be non-nil and will be used for request cancellation. If 758// the context is nil a panic will occur. In the future the SDK may create 759// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 760// for more information on using Contexts. 761func (c *ElastiCache) CreateCacheParameterGroupWithContext(ctx aws.Context, input *CreateCacheParameterGroupInput, opts ...request.Option) (*CreateCacheParameterGroupOutput, error) { 762 req, out := c.CreateCacheParameterGroupRequest(input) 763 req.SetContext(ctx) 764 req.ApplyOptions(opts...) 765 return out, req.Send() 766} 767 768const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup" 769 770// CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the 771// client's request for the CreateCacheSecurityGroup operation. The "output" return 772// value will be populated with the request's response once the request completes 773// successfully. 774// 775// Use "Send" method on the returned Request to send the API call to the service. 776// the "output" return value is not valid until after Send returns without error. 777// 778// See CreateCacheSecurityGroup for more information on using the CreateCacheSecurityGroup 779// API call, and error handling. 780// 781// This method is useful when you want to inject custom logic or configuration 782// into the SDK's request lifecycle. Such as custom headers, or retry logic. 783// 784// 785// // Example sending a request using the CreateCacheSecurityGroupRequest method. 786// req, resp := client.CreateCacheSecurityGroupRequest(params) 787// 788// err := req.Send() 789// if err == nil { // resp is now filled 790// fmt.Println(resp) 791// } 792// 793// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup 794func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) { 795 op := &request.Operation{ 796 Name: opCreateCacheSecurityGroup, 797 HTTPMethod: "POST", 798 HTTPPath: "/", 799 } 800 801 if input == nil { 802 input = &CreateCacheSecurityGroupInput{} 803 } 804 805 output = &CreateCacheSecurityGroupOutput{} 806 req = c.newRequest(op, input, output) 807 return 808} 809 810// CreateCacheSecurityGroup API operation for Amazon ElastiCache. 811// 812// Creates a new cache security group. Use a cache security group to control 813// access to one or more clusters. 814// 815// Cache security groups are only used when you are creating a cluster outside 816// of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster 817// inside of a VPC, use a cache subnet group instead. For more information, 818// see CreateCacheSubnetGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html). 819// 820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 821// with awserr.Error's Code and Message methods to get detailed information about 822// the error. 823// 824// See the AWS API reference guide for Amazon ElastiCache's 825// API operation CreateCacheSecurityGroup for usage and error information. 826// 827// Returned Error Codes: 828// * ErrCodeCacheSecurityGroupAlreadyExistsFault "CacheSecurityGroupAlreadyExists" 829// A cache security group with the specified name already exists. 830// 831// * ErrCodeCacheSecurityGroupQuotaExceededFault "QuotaExceeded.CacheSecurityGroup" 832// The request cannot be processed because it would exceed the allowed number 833// of cache security groups. 834// 835// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 836// The value for a parameter is invalid. 837// 838// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 839// Two or more incompatible parameters were specified. 840// 841// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup 842func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) { 843 req, out := c.CreateCacheSecurityGroupRequest(input) 844 return out, req.Send() 845} 846 847// CreateCacheSecurityGroupWithContext is the same as CreateCacheSecurityGroup with the addition of 848// the ability to pass a context and additional request options. 849// 850// See CreateCacheSecurityGroup for details on how to use this API operation. 851// 852// The context must be non-nil and will be used for request cancellation. If 853// the context is nil a panic will occur. In the future the SDK may create 854// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 855// for more information on using Contexts. 856func (c *ElastiCache) CreateCacheSecurityGroupWithContext(ctx aws.Context, input *CreateCacheSecurityGroupInput, opts ...request.Option) (*CreateCacheSecurityGroupOutput, error) { 857 req, out := c.CreateCacheSecurityGroupRequest(input) 858 req.SetContext(ctx) 859 req.ApplyOptions(opts...) 860 return out, req.Send() 861} 862 863const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup" 864 865// CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the 866// client's request for the CreateCacheSubnetGroup operation. The "output" return 867// value will be populated with the request's response once the request completes 868// successfully. 869// 870// Use "Send" method on the returned Request to send the API call to the service. 871// the "output" return value is not valid until after Send returns without error. 872// 873// See CreateCacheSubnetGroup for more information on using the CreateCacheSubnetGroup 874// API call, and error handling. 875// 876// This method is useful when you want to inject custom logic or configuration 877// into the SDK's request lifecycle. Such as custom headers, or retry logic. 878// 879// 880// // Example sending a request using the CreateCacheSubnetGroupRequest method. 881// req, resp := client.CreateCacheSubnetGroupRequest(params) 882// 883// err := req.Send() 884// if err == nil { // resp is now filled 885// fmt.Println(resp) 886// } 887// 888// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup 889func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) { 890 op := &request.Operation{ 891 Name: opCreateCacheSubnetGroup, 892 HTTPMethod: "POST", 893 HTTPPath: "/", 894 } 895 896 if input == nil { 897 input = &CreateCacheSubnetGroupInput{} 898 } 899 900 output = &CreateCacheSubnetGroupOutput{} 901 req = c.newRequest(op, input, output) 902 return 903} 904 905// CreateCacheSubnetGroup API operation for Amazon ElastiCache. 906// 907// Creates a new cache subnet group. 908// 909// Use this parameter only when you are creating a cluster in an Amazon Virtual 910// Private Cloud (Amazon VPC). 911// 912// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 913// with awserr.Error's Code and Message methods to get detailed information about 914// the error. 915// 916// See the AWS API reference guide for Amazon ElastiCache's 917// API operation CreateCacheSubnetGroup for usage and error information. 918// 919// Returned Error Codes: 920// * ErrCodeCacheSubnetGroupAlreadyExistsFault "CacheSubnetGroupAlreadyExists" 921// The requested cache subnet group name is already in use by an existing cache 922// subnet group. 923// 924// * ErrCodeCacheSubnetGroupQuotaExceededFault "CacheSubnetGroupQuotaExceeded" 925// The request cannot be processed because it would exceed the allowed number 926// of cache subnet groups. 927// 928// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 929// The request cannot be processed because it would exceed the allowed number 930// of subnets in a cache subnet group. 931// 932// * ErrCodeInvalidSubnet "InvalidSubnet" 933// An invalid subnet identifier was specified. 934// 935// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup 936func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) { 937 req, out := c.CreateCacheSubnetGroupRequest(input) 938 return out, req.Send() 939} 940 941// CreateCacheSubnetGroupWithContext is the same as CreateCacheSubnetGroup with the addition of 942// the ability to pass a context and additional request options. 943// 944// See CreateCacheSubnetGroup for details on how to use this API operation. 945// 946// The context must be non-nil and will be used for request cancellation. If 947// the context is nil a panic will occur. In the future the SDK may create 948// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 949// for more information on using Contexts. 950func (c *ElastiCache) CreateCacheSubnetGroupWithContext(ctx aws.Context, input *CreateCacheSubnetGroupInput, opts ...request.Option) (*CreateCacheSubnetGroupOutput, error) { 951 req, out := c.CreateCacheSubnetGroupRequest(input) 952 req.SetContext(ctx) 953 req.ApplyOptions(opts...) 954 return out, req.Send() 955} 956 957const opCreateReplicationGroup = "CreateReplicationGroup" 958 959// CreateReplicationGroupRequest generates a "aws/request.Request" representing the 960// client's request for the CreateReplicationGroup operation. The "output" return 961// value will be populated with the request's response once the request completes 962// successfully. 963// 964// Use "Send" method on the returned Request to send the API call to the service. 965// the "output" return value is not valid until after Send returns without error. 966// 967// See CreateReplicationGroup for more information on using the CreateReplicationGroup 968// API call, and error handling. 969// 970// This method is useful when you want to inject custom logic or configuration 971// into the SDK's request lifecycle. Such as custom headers, or retry logic. 972// 973// 974// // Example sending a request using the CreateReplicationGroupRequest method. 975// req, resp := client.CreateReplicationGroupRequest(params) 976// 977// err := req.Send() 978// if err == nil { // resp is now filled 979// fmt.Println(resp) 980// } 981// 982// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 983func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) { 984 op := &request.Operation{ 985 Name: opCreateReplicationGroup, 986 HTTPMethod: "POST", 987 HTTPPath: "/", 988 } 989 990 if input == nil { 991 input = &CreateReplicationGroupInput{} 992 } 993 994 output = &CreateReplicationGroupOutput{} 995 req = c.newRequest(op, input, output) 996 return 997} 998 999// CreateReplicationGroup API operation for Amazon ElastiCache. 1000// 1001// Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) 1002// replication group. 1003// 1004// A Redis (cluster mode disabled) replication group is a collection of clusters, 1005// where one of the clusters is a read/write primary and the others are read-only 1006// replicas. Writes to the primary are asynchronously propagated to the replicas. 1007// 1008// A Redis (cluster mode enabled) replication group is a collection of 1 to 1009// 90 node groups (shards). Each node group (shard) has one read/write primary 1010// node and up to 5 read-only replica nodes. Writes to the primary are asynchronously 1011// propagated to the replicas. Redis (cluster mode enabled) replication groups 1012// partition the data across node groups (shards). 1013// 1014// When a Redis (cluster mode disabled) replication group has been successfully 1015// created, you can add one or more read replicas to it, up to a total of 5 1016// read replicas. You cannot alter a Redis (cluster mode enabled) replication 1017// group after it has been created. However, if you need to increase or decrease 1018// the number of node groups (console: shards), you can avail yourself of ElastiCache 1019// for Redis' enhanced backup and restore. For more information, see Restoring 1020// From a Backup with Cluster Resizing (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-restoring.html) 1021// in the ElastiCache User Guide. 1022// 1023// This operation is valid for Redis only. 1024// 1025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1026// with awserr.Error's Code and Message methods to get detailed information about 1027// the error. 1028// 1029// See the AWS API reference guide for Amazon ElastiCache's 1030// API operation CreateReplicationGroup for usage and error information. 1031// 1032// Returned Error Codes: 1033// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1034// The requested cluster ID does not refer to an existing cluster. 1035// 1036// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1037// The requested cluster is not in the available state. 1038// 1039// * ErrCodeReplicationGroupAlreadyExistsFault "ReplicationGroupAlreadyExists" 1040// The specified replication group already exists. 1041// 1042// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1043// The requested cache node type is not available in the specified Availability 1044// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1045// in the ElastiCache User Guide. 1046// 1047// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1048// The requested cache security group name does not refer to an existing cache 1049// security group. 1050// 1051// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1052// The requested cache subnet group name does not refer to an existing cache 1053// subnet group. 1054// 1055// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1056// The request cannot be processed because it would exceed the allowed number 1057// of clusters per customer. 1058// 1059// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 1060// The request cannot be processed because it would exceed the allowed number 1061// of cache nodes in a single cluster. 1062// 1063// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1064// The request cannot be processed because it would exceed the allowed number 1065// of cache nodes per customer. 1066// 1067// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1068// The requested cache parameter group name does not refer to an existing cache 1069// parameter group. 1070// 1071// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1072// The VPC network is in an invalid state. 1073// 1074// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1075// The request cannot be processed because it would cause the resource to have 1076// more than the allowed number of tags. The maximum number of tags permitted 1077// on a resource is 50. 1078// 1079// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1080// The request cannot be processed because it would exceed the maximum allowed 1081// number of node groups (shards) in a single replication group. The default 1082// maximum is 90 1083// 1084// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1085// The value for a parameter is invalid. 1086// 1087// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1088// Two or more incompatible parameters were specified. 1089// 1090// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1091func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { 1092 req, out := c.CreateReplicationGroupRequest(input) 1093 return out, req.Send() 1094} 1095 1096// CreateReplicationGroupWithContext is the same as CreateReplicationGroup with the addition of 1097// the ability to pass a context and additional request options. 1098// 1099// See CreateReplicationGroup for details on how to use this API operation. 1100// 1101// The context must be non-nil and will be used for request cancellation. If 1102// the context is nil a panic will occur. In the future the SDK may create 1103// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1104// for more information on using Contexts. 1105func (c *ElastiCache) CreateReplicationGroupWithContext(ctx aws.Context, input *CreateReplicationGroupInput, opts ...request.Option) (*CreateReplicationGroupOutput, error) { 1106 req, out := c.CreateReplicationGroupRequest(input) 1107 req.SetContext(ctx) 1108 req.ApplyOptions(opts...) 1109 return out, req.Send() 1110} 1111 1112const opCreateSnapshot = "CreateSnapshot" 1113 1114// CreateSnapshotRequest generates a "aws/request.Request" representing the 1115// client's request for the CreateSnapshot operation. The "output" return 1116// value will be populated with the request's response once the request completes 1117// successfully. 1118// 1119// Use "Send" method on the returned Request to send the API call to the service. 1120// the "output" return value is not valid until after Send returns without error. 1121// 1122// See CreateSnapshot for more information on using the CreateSnapshot 1123// API call, and error handling. 1124// 1125// This method is useful when you want to inject custom logic or configuration 1126// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1127// 1128// 1129// // Example sending a request using the CreateSnapshotRequest method. 1130// req, resp := client.CreateSnapshotRequest(params) 1131// 1132// err := req.Send() 1133// if err == nil { // resp is now filled 1134// fmt.Println(resp) 1135// } 1136// 1137// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1138func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { 1139 op := &request.Operation{ 1140 Name: opCreateSnapshot, 1141 HTTPMethod: "POST", 1142 HTTPPath: "/", 1143 } 1144 1145 if input == nil { 1146 input = &CreateSnapshotInput{} 1147 } 1148 1149 output = &CreateSnapshotOutput{} 1150 req = c.newRequest(op, input, output) 1151 return 1152} 1153 1154// CreateSnapshot API operation for Amazon ElastiCache. 1155// 1156// Creates a copy of an entire cluster or replication group at a specific moment 1157// in time. 1158// 1159// This operation is valid for Redis only. 1160// 1161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1162// with awserr.Error's Code and Message methods to get detailed information about 1163// the error. 1164// 1165// See the AWS API reference guide for Amazon ElastiCache's 1166// API operation CreateSnapshot for usage and error information. 1167// 1168// Returned Error Codes: 1169// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1170// You already have a snapshot with the given name. 1171// 1172// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1173// The requested cluster ID does not refer to an existing cluster. 1174// 1175// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1176// The specified replication group does not exist. 1177// 1178// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1179// The requested cluster is not in the available state. 1180// 1181// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1182// The requested replication group is not in the available state. 1183// 1184// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1185// The request cannot be processed because it would exceed the maximum number 1186// of snapshots. 1187// 1188// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1189// You attempted one of the following operations: 1190// 1191// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1192// node. 1193// 1194// * Creating a snapshot of a cluster that is running Memcached rather than 1195// Redis. 1196// 1197// Neither of these are supported by ElastiCache. 1198// 1199// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1200// Two or more incompatible parameters were specified. 1201// 1202// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1203// The value for a parameter is invalid. 1204// 1205// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1206func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { 1207 req, out := c.CreateSnapshotRequest(input) 1208 return out, req.Send() 1209} 1210 1211// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of 1212// the ability to pass a context and additional request options. 1213// 1214// See CreateSnapshot for details on how to use this API operation. 1215// 1216// The context must be non-nil and will be used for request cancellation. If 1217// the context is nil a panic will occur. In the future the SDK may create 1218// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1219// for more information on using Contexts. 1220func (c *ElastiCache) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { 1221 req, out := c.CreateSnapshotRequest(input) 1222 req.SetContext(ctx) 1223 req.ApplyOptions(opts...) 1224 return out, req.Send() 1225} 1226 1227const opDecreaseReplicaCount = "DecreaseReplicaCount" 1228 1229// DecreaseReplicaCountRequest generates a "aws/request.Request" representing the 1230// client's request for the DecreaseReplicaCount operation. The "output" return 1231// value will be populated with the request's response once the request completes 1232// successfully. 1233// 1234// Use "Send" method on the returned Request to send the API call to the service. 1235// the "output" return value is not valid until after Send returns without error. 1236// 1237// See DecreaseReplicaCount for more information on using the DecreaseReplicaCount 1238// API call, and error handling. 1239// 1240// This method is useful when you want to inject custom logic or configuration 1241// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1242// 1243// 1244// // Example sending a request using the DecreaseReplicaCountRequest method. 1245// req, resp := client.DecreaseReplicaCountRequest(params) 1246// 1247// err := req.Send() 1248// if err == nil { // resp is now filled 1249// fmt.Println(resp) 1250// } 1251// 1252// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1253func (c *ElastiCache) DecreaseReplicaCountRequest(input *DecreaseReplicaCountInput) (req *request.Request, output *DecreaseReplicaCountOutput) { 1254 op := &request.Operation{ 1255 Name: opDecreaseReplicaCount, 1256 HTTPMethod: "POST", 1257 HTTPPath: "/", 1258 } 1259 1260 if input == nil { 1261 input = &DecreaseReplicaCountInput{} 1262 } 1263 1264 output = &DecreaseReplicaCountOutput{} 1265 req = c.newRequest(op, input, output) 1266 return 1267} 1268 1269// DecreaseReplicaCount API operation for Amazon ElastiCache. 1270// 1271// Dynamically decreases the number of replics in a Redis (cluster mode disabled) 1272// replication group or the number of replica nodes in one or more node groups 1273// (shards) of a Redis (cluster mode enabled) replication group. This operation 1274// is performed with no cluster down time. 1275// 1276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1277// with awserr.Error's Code and Message methods to get detailed information about 1278// the error. 1279// 1280// See the AWS API reference guide for Amazon ElastiCache's 1281// API operation DecreaseReplicaCount for usage and error information. 1282// 1283// Returned Error Codes: 1284// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1285// The specified replication group does not exist. 1286// 1287// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1288// The requested replication group is not in the available state. 1289// 1290// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1291// The requested cluster is not in the available state. 1292// 1293// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1294// The VPC network is in an invalid state. 1295// 1296// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1297// The requested cache node type is not available in the specified Availability 1298// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1299// in the ElastiCache User Guide. 1300// 1301// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1302// The request cannot be processed because it would exceed the allowed number 1303// of clusters per customer. 1304// 1305// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1306// The request cannot be processed because it would exceed the maximum allowed 1307// number of node groups (shards) in a single replication group. The default 1308// maximum is 90 1309// 1310// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1311// The request cannot be processed because it would exceed the allowed number 1312// of cache nodes per customer. 1313// 1314// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1315// The specified service linked role (SLR) was not found. 1316// 1317// * ErrCodeNoOperationFault "NoOperationFault" 1318// The operation was not performed because no changes were required. 1319// 1320// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1321// The value for a parameter is invalid. 1322// 1323// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1324// Two or more incompatible parameters were specified. 1325// 1326// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1327func (c *ElastiCache) DecreaseReplicaCount(input *DecreaseReplicaCountInput) (*DecreaseReplicaCountOutput, error) { 1328 req, out := c.DecreaseReplicaCountRequest(input) 1329 return out, req.Send() 1330} 1331 1332// DecreaseReplicaCountWithContext is the same as DecreaseReplicaCount with the addition of 1333// the ability to pass a context and additional request options. 1334// 1335// See DecreaseReplicaCount for details on how to use this API operation. 1336// 1337// The context must be non-nil and will be used for request cancellation. If 1338// the context is nil a panic will occur. In the future the SDK may create 1339// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1340// for more information on using Contexts. 1341func (c *ElastiCache) DecreaseReplicaCountWithContext(ctx aws.Context, input *DecreaseReplicaCountInput, opts ...request.Option) (*DecreaseReplicaCountOutput, error) { 1342 req, out := c.DecreaseReplicaCountRequest(input) 1343 req.SetContext(ctx) 1344 req.ApplyOptions(opts...) 1345 return out, req.Send() 1346} 1347 1348const opDeleteCacheCluster = "DeleteCacheCluster" 1349 1350// DeleteCacheClusterRequest generates a "aws/request.Request" representing the 1351// client's request for the DeleteCacheCluster operation. The "output" return 1352// value will be populated with the request's response once the request completes 1353// successfully. 1354// 1355// Use "Send" method on the returned Request to send the API call to the service. 1356// the "output" return value is not valid until after Send returns without error. 1357// 1358// See DeleteCacheCluster for more information on using the DeleteCacheCluster 1359// API call, and error handling. 1360// 1361// This method is useful when you want to inject custom logic or configuration 1362// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1363// 1364// 1365// // Example sending a request using the DeleteCacheClusterRequest method. 1366// req, resp := client.DeleteCacheClusterRequest(params) 1367// 1368// err := req.Send() 1369// if err == nil { // resp is now filled 1370// fmt.Println(resp) 1371// } 1372// 1373// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1374func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { 1375 op := &request.Operation{ 1376 Name: opDeleteCacheCluster, 1377 HTTPMethod: "POST", 1378 HTTPPath: "/", 1379 } 1380 1381 if input == nil { 1382 input = &DeleteCacheClusterInput{} 1383 } 1384 1385 output = &DeleteCacheClusterOutput{} 1386 req = c.newRequest(op, input, output) 1387 return 1388} 1389 1390// DeleteCacheCluster API operation for Amazon ElastiCache. 1391// 1392// Deletes a previously provisioned cluster. DeleteCacheCluster deletes all 1393// associated cache nodes, node endpoints and the cluster itself. When you receive 1394// a successful response from this operation, Amazon ElastiCache immediately 1395// begins deleting the cluster; you cannot cancel or revert this operation. 1396// 1397// This operation is not valid for: 1398// 1399// * Redis (cluster mode enabled) clusters 1400// 1401// * A cluster that is the last read replica of a replication group 1402// 1403// * A node group (shard) that has Multi-AZ mode enabled 1404// 1405// * A cluster from a Redis (cluster mode enabled) replication group 1406// 1407// * A cluster that is not in the available state 1408// 1409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1410// with awserr.Error's Code and Message methods to get detailed information about 1411// the error. 1412// 1413// See the AWS API reference guide for Amazon ElastiCache's 1414// API operation DeleteCacheCluster for usage and error information. 1415// 1416// Returned Error Codes: 1417// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1418// The requested cluster ID does not refer to an existing cluster. 1419// 1420// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1421// The requested cluster is not in the available state. 1422// 1423// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1424// You already have a snapshot with the given name. 1425// 1426// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1427// You attempted one of the following operations: 1428// 1429// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1430// node. 1431// 1432// * Creating a snapshot of a cluster that is running Memcached rather than 1433// Redis. 1434// 1435// Neither of these are supported by ElastiCache. 1436// 1437// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1438// The request cannot be processed because it would exceed the maximum number 1439// of snapshots. 1440// 1441// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1442// The value for a parameter is invalid. 1443// 1444// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1445// Two or more incompatible parameters were specified. 1446// 1447// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1448func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { 1449 req, out := c.DeleteCacheClusterRequest(input) 1450 return out, req.Send() 1451} 1452 1453// DeleteCacheClusterWithContext is the same as DeleteCacheCluster with the addition of 1454// the ability to pass a context and additional request options. 1455// 1456// See DeleteCacheCluster for details on how to use this API operation. 1457// 1458// The context must be non-nil and will be used for request cancellation. If 1459// the context is nil a panic will occur. In the future the SDK may create 1460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1461// for more information on using Contexts. 1462func (c *ElastiCache) DeleteCacheClusterWithContext(ctx aws.Context, input *DeleteCacheClusterInput, opts ...request.Option) (*DeleteCacheClusterOutput, error) { 1463 req, out := c.DeleteCacheClusterRequest(input) 1464 req.SetContext(ctx) 1465 req.ApplyOptions(opts...) 1466 return out, req.Send() 1467} 1468 1469const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" 1470 1471// DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the 1472// client's request for the DeleteCacheParameterGroup operation. The "output" return 1473// value will be populated with the request's response once the request completes 1474// successfully. 1475// 1476// Use "Send" method on the returned Request to send the API call to the service. 1477// the "output" return value is not valid until after Send returns without error. 1478// 1479// See DeleteCacheParameterGroup for more information on using the DeleteCacheParameterGroup 1480// API call, and error handling. 1481// 1482// This method is useful when you want to inject custom logic or configuration 1483// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1484// 1485// 1486// // Example sending a request using the DeleteCacheParameterGroupRequest method. 1487// req, resp := client.DeleteCacheParameterGroupRequest(params) 1488// 1489// err := req.Send() 1490// if err == nil { // resp is now filled 1491// fmt.Println(resp) 1492// } 1493// 1494// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1495func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { 1496 op := &request.Operation{ 1497 Name: opDeleteCacheParameterGroup, 1498 HTTPMethod: "POST", 1499 HTTPPath: "/", 1500 } 1501 1502 if input == nil { 1503 input = &DeleteCacheParameterGroupInput{} 1504 } 1505 1506 output = &DeleteCacheParameterGroupOutput{} 1507 req = c.newRequest(op, input, output) 1508 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1509 return 1510} 1511 1512// DeleteCacheParameterGroup API operation for Amazon ElastiCache. 1513// 1514// Deletes the specified cache parameter group. You cannot delete a cache parameter 1515// group if it is associated with any cache clusters. 1516// 1517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1518// with awserr.Error's Code and Message methods to get detailed information about 1519// the error. 1520// 1521// See the AWS API reference guide for Amazon ElastiCache's 1522// API operation DeleteCacheParameterGroup for usage and error information. 1523// 1524// Returned Error Codes: 1525// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 1526// The current state of the cache parameter group does not allow the requested 1527// operation to occur. 1528// 1529// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1530// The requested cache parameter group name does not refer to an existing cache 1531// parameter group. 1532// 1533// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1534// The value for a parameter is invalid. 1535// 1536// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1537// Two or more incompatible parameters were specified. 1538// 1539// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1540func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { 1541 req, out := c.DeleteCacheParameterGroupRequest(input) 1542 return out, req.Send() 1543} 1544 1545// DeleteCacheParameterGroupWithContext is the same as DeleteCacheParameterGroup with the addition of 1546// the ability to pass a context and additional request options. 1547// 1548// See DeleteCacheParameterGroup for details on how to use this API operation. 1549// 1550// The context must be non-nil and will be used for request cancellation. If 1551// the context is nil a panic will occur. In the future the SDK may create 1552// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1553// for more information on using Contexts. 1554func (c *ElastiCache) DeleteCacheParameterGroupWithContext(ctx aws.Context, input *DeleteCacheParameterGroupInput, opts ...request.Option) (*DeleteCacheParameterGroupOutput, error) { 1555 req, out := c.DeleteCacheParameterGroupRequest(input) 1556 req.SetContext(ctx) 1557 req.ApplyOptions(opts...) 1558 return out, req.Send() 1559} 1560 1561const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" 1562 1563// DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the 1564// client's request for the DeleteCacheSecurityGroup operation. The "output" return 1565// value will be populated with the request's response once the request completes 1566// successfully. 1567// 1568// Use "Send" method on the returned Request to send the API call to the service. 1569// the "output" return value is not valid until after Send returns without error. 1570// 1571// See DeleteCacheSecurityGroup for more information on using the DeleteCacheSecurityGroup 1572// API call, and error handling. 1573// 1574// This method is useful when you want to inject custom logic or configuration 1575// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1576// 1577// 1578// // Example sending a request using the DeleteCacheSecurityGroupRequest method. 1579// req, resp := client.DeleteCacheSecurityGroupRequest(params) 1580// 1581// err := req.Send() 1582// if err == nil { // resp is now filled 1583// fmt.Println(resp) 1584// } 1585// 1586// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1587func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { 1588 op := &request.Operation{ 1589 Name: opDeleteCacheSecurityGroup, 1590 HTTPMethod: "POST", 1591 HTTPPath: "/", 1592 } 1593 1594 if input == nil { 1595 input = &DeleteCacheSecurityGroupInput{} 1596 } 1597 1598 output = &DeleteCacheSecurityGroupOutput{} 1599 req = c.newRequest(op, input, output) 1600 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1601 return 1602} 1603 1604// DeleteCacheSecurityGroup API operation for Amazon ElastiCache. 1605// 1606// Deletes a cache security group. 1607// 1608// You cannot delete a cache security group if it is associated with any clusters. 1609// 1610// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1611// with awserr.Error's Code and Message methods to get detailed information about 1612// the error. 1613// 1614// See the AWS API reference guide for Amazon ElastiCache's 1615// API operation DeleteCacheSecurityGroup for usage and error information. 1616// 1617// Returned Error Codes: 1618// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 1619// The current state of the cache security group does not allow deletion. 1620// 1621// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1622// The requested cache security group name does not refer to an existing cache 1623// security group. 1624// 1625// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1626// The value for a parameter is invalid. 1627// 1628// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1629// Two or more incompatible parameters were specified. 1630// 1631// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1632func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { 1633 req, out := c.DeleteCacheSecurityGroupRequest(input) 1634 return out, req.Send() 1635} 1636 1637// DeleteCacheSecurityGroupWithContext is the same as DeleteCacheSecurityGroup with the addition of 1638// the ability to pass a context and additional request options. 1639// 1640// See DeleteCacheSecurityGroup for details on how to use this API operation. 1641// 1642// The context must be non-nil and will be used for request cancellation. If 1643// the context is nil a panic will occur. In the future the SDK may create 1644// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1645// for more information on using Contexts. 1646func (c *ElastiCache) DeleteCacheSecurityGroupWithContext(ctx aws.Context, input *DeleteCacheSecurityGroupInput, opts ...request.Option) (*DeleteCacheSecurityGroupOutput, error) { 1647 req, out := c.DeleteCacheSecurityGroupRequest(input) 1648 req.SetContext(ctx) 1649 req.ApplyOptions(opts...) 1650 return out, req.Send() 1651} 1652 1653const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" 1654 1655// DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the 1656// client's request for the DeleteCacheSubnetGroup operation. The "output" return 1657// value will be populated with the request's response once the request completes 1658// successfully. 1659// 1660// Use "Send" method on the returned Request to send the API call to the service. 1661// the "output" return value is not valid until after Send returns without error. 1662// 1663// See DeleteCacheSubnetGroup for more information on using the DeleteCacheSubnetGroup 1664// API call, and error handling. 1665// 1666// This method is useful when you want to inject custom logic or configuration 1667// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1668// 1669// 1670// // Example sending a request using the DeleteCacheSubnetGroupRequest method. 1671// req, resp := client.DeleteCacheSubnetGroupRequest(params) 1672// 1673// err := req.Send() 1674// if err == nil { // resp is now filled 1675// fmt.Println(resp) 1676// } 1677// 1678// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1679func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { 1680 op := &request.Operation{ 1681 Name: opDeleteCacheSubnetGroup, 1682 HTTPMethod: "POST", 1683 HTTPPath: "/", 1684 } 1685 1686 if input == nil { 1687 input = &DeleteCacheSubnetGroupInput{} 1688 } 1689 1690 output = &DeleteCacheSubnetGroupOutput{} 1691 req = c.newRequest(op, input, output) 1692 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1693 return 1694} 1695 1696// DeleteCacheSubnetGroup API operation for Amazon ElastiCache. 1697// 1698// Deletes a cache subnet group. 1699// 1700// You cannot delete a cache subnet group if it is associated with any clusters. 1701// 1702// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1703// with awserr.Error's Code and Message methods to get detailed information about 1704// the error. 1705// 1706// See the AWS API reference guide for Amazon ElastiCache's 1707// API operation DeleteCacheSubnetGroup for usage and error information. 1708// 1709// Returned Error Codes: 1710// * ErrCodeCacheSubnetGroupInUse "CacheSubnetGroupInUse" 1711// The requested cache subnet group is currently in use. 1712// 1713// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1714// The requested cache subnet group name does not refer to an existing cache 1715// subnet group. 1716// 1717// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1718func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { 1719 req, out := c.DeleteCacheSubnetGroupRequest(input) 1720 return out, req.Send() 1721} 1722 1723// DeleteCacheSubnetGroupWithContext is the same as DeleteCacheSubnetGroup with the addition of 1724// the ability to pass a context and additional request options. 1725// 1726// See DeleteCacheSubnetGroup for details on how to use this API operation. 1727// 1728// The context must be non-nil and will be used for request cancellation. If 1729// the context is nil a panic will occur. In the future the SDK may create 1730// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1731// for more information on using Contexts. 1732func (c *ElastiCache) DeleteCacheSubnetGroupWithContext(ctx aws.Context, input *DeleteCacheSubnetGroupInput, opts ...request.Option) (*DeleteCacheSubnetGroupOutput, error) { 1733 req, out := c.DeleteCacheSubnetGroupRequest(input) 1734 req.SetContext(ctx) 1735 req.ApplyOptions(opts...) 1736 return out, req.Send() 1737} 1738 1739const opDeleteReplicationGroup = "DeleteReplicationGroup" 1740 1741// DeleteReplicationGroupRequest generates a "aws/request.Request" representing the 1742// client's request for the DeleteReplicationGroup operation. The "output" return 1743// value will be populated with the request's response once the request completes 1744// successfully. 1745// 1746// Use "Send" method on the returned Request to send the API call to the service. 1747// the "output" return value is not valid until after Send returns without error. 1748// 1749// See DeleteReplicationGroup for more information on using the DeleteReplicationGroup 1750// API call, and error handling. 1751// 1752// This method is useful when you want to inject custom logic or configuration 1753// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1754// 1755// 1756// // Example sending a request using the DeleteReplicationGroupRequest method. 1757// req, resp := client.DeleteReplicationGroupRequest(params) 1758// 1759// err := req.Send() 1760// if err == nil { // resp is now filled 1761// fmt.Println(resp) 1762// } 1763// 1764// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 1765func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { 1766 op := &request.Operation{ 1767 Name: opDeleteReplicationGroup, 1768 HTTPMethod: "POST", 1769 HTTPPath: "/", 1770 } 1771 1772 if input == nil { 1773 input = &DeleteReplicationGroupInput{} 1774 } 1775 1776 output = &DeleteReplicationGroupOutput{} 1777 req = c.newRequest(op, input, output) 1778 return 1779} 1780 1781// DeleteReplicationGroup API operation for Amazon ElastiCache. 1782// 1783// Deletes an existing replication group. By default, this operation deletes 1784// the entire replication group, including the primary/primaries and all of 1785// the read replicas. If the replication group has only one primary, you can 1786// optionally delete only the read replicas, while retaining the primary by 1787// setting RetainPrimaryCluster=true. 1788// 1789// When you receive a successful response from this operation, Amazon ElastiCache 1790// immediately begins deleting the selected resources; you cannot cancel or 1791// revert this operation. 1792// 1793// This operation is valid for Redis only. 1794// 1795// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1796// with awserr.Error's Code and Message methods to get detailed information about 1797// the error. 1798// 1799// See the AWS API reference guide for Amazon ElastiCache's 1800// API operation DeleteReplicationGroup for usage and error information. 1801// 1802// Returned Error Codes: 1803// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1804// The specified replication group does not exist. 1805// 1806// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1807// The requested replication group is not in the available state. 1808// 1809// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1810// You already have a snapshot with the given name. 1811// 1812// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1813// You attempted one of the following operations: 1814// 1815// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1816// node. 1817// 1818// * Creating a snapshot of a cluster that is running Memcached rather than 1819// Redis. 1820// 1821// Neither of these are supported by ElastiCache. 1822// 1823// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1824// The request cannot be processed because it would exceed the maximum number 1825// of snapshots. 1826// 1827// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1828// The value for a parameter is invalid. 1829// 1830// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1831// Two or more incompatible parameters were specified. 1832// 1833// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 1834func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { 1835 req, out := c.DeleteReplicationGroupRequest(input) 1836 return out, req.Send() 1837} 1838 1839// DeleteReplicationGroupWithContext is the same as DeleteReplicationGroup with the addition of 1840// the ability to pass a context and additional request options. 1841// 1842// See DeleteReplicationGroup for details on how to use this API operation. 1843// 1844// The context must be non-nil and will be used for request cancellation. If 1845// the context is nil a panic will occur. In the future the SDK may create 1846// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1847// for more information on using Contexts. 1848func (c *ElastiCache) DeleteReplicationGroupWithContext(ctx aws.Context, input *DeleteReplicationGroupInput, opts ...request.Option) (*DeleteReplicationGroupOutput, error) { 1849 req, out := c.DeleteReplicationGroupRequest(input) 1850 req.SetContext(ctx) 1851 req.ApplyOptions(opts...) 1852 return out, req.Send() 1853} 1854 1855const opDeleteSnapshot = "DeleteSnapshot" 1856 1857// DeleteSnapshotRequest generates a "aws/request.Request" representing the 1858// client's request for the DeleteSnapshot operation. The "output" return 1859// value will be populated with the request's response once the request completes 1860// successfully. 1861// 1862// Use "Send" method on the returned Request to send the API call to the service. 1863// the "output" return value is not valid until after Send returns without error. 1864// 1865// See DeleteSnapshot for more information on using the DeleteSnapshot 1866// API call, and error handling. 1867// 1868// This method is useful when you want to inject custom logic or configuration 1869// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1870// 1871// 1872// // Example sending a request using the DeleteSnapshotRequest method. 1873// req, resp := client.DeleteSnapshotRequest(params) 1874// 1875// err := req.Send() 1876// if err == nil { // resp is now filled 1877// fmt.Println(resp) 1878// } 1879// 1880// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 1881func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { 1882 op := &request.Operation{ 1883 Name: opDeleteSnapshot, 1884 HTTPMethod: "POST", 1885 HTTPPath: "/", 1886 } 1887 1888 if input == nil { 1889 input = &DeleteSnapshotInput{} 1890 } 1891 1892 output = &DeleteSnapshotOutput{} 1893 req = c.newRequest(op, input, output) 1894 return 1895} 1896 1897// DeleteSnapshot API operation for Amazon ElastiCache. 1898// 1899// Deletes an existing snapshot. When you receive a successful response from 1900// this operation, ElastiCache immediately begins deleting the snapshot; you 1901// cannot cancel or revert this operation. 1902// 1903// This operation is valid for Redis only. 1904// 1905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1906// with awserr.Error's Code and Message methods to get detailed information about 1907// the error. 1908// 1909// See the AWS API reference guide for Amazon ElastiCache's 1910// API operation DeleteSnapshot for usage and error information. 1911// 1912// Returned Error Codes: 1913// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 1914// The requested snapshot name does not refer to an existing snapshot. 1915// 1916// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 1917// The current state of the snapshot does not allow the requested operation 1918// to occur. 1919// 1920// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1921// The value for a parameter is invalid. 1922// 1923// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1924// Two or more incompatible parameters were specified. 1925// 1926// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 1927func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { 1928 req, out := c.DeleteSnapshotRequest(input) 1929 return out, req.Send() 1930} 1931 1932// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of 1933// the ability to pass a context and additional request options. 1934// 1935// See DeleteSnapshot for details on how to use this API operation. 1936// 1937// The context must be non-nil and will be used for request cancellation. If 1938// the context is nil a panic will occur. In the future the SDK may create 1939// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1940// for more information on using Contexts. 1941func (c *ElastiCache) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { 1942 req, out := c.DeleteSnapshotRequest(input) 1943 req.SetContext(ctx) 1944 req.ApplyOptions(opts...) 1945 return out, req.Send() 1946} 1947 1948const opDescribeCacheClusters = "DescribeCacheClusters" 1949 1950// DescribeCacheClustersRequest generates a "aws/request.Request" representing the 1951// client's request for the DescribeCacheClusters operation. The "output" return 1952// value will be populated with the request's response once the request completes 1953// successfully. 1954// 1955// Use "Send" method on the returned Request to send the API call to the service. 1956// the "output" return value is not valid until after Send returns without error. 1957// 1958// See DescribeCacheClusters for more information on using the DescribeCacheClusters 1959// API call, and error handling. 1960// 1961// This method is useful when you want to inject custom logic or configuration 1962// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1963// 1964// 1965// // Example sending a request using the DescribeCacheClustersRequest method. 1966// req, resp := client.DescribeCacheClustersRequest(params) 1967// 1968// err := req.Send() 1969// if err == nil { // resp is now filled 1970// fmt.Println(resp) 1971// } 1972// 1973// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 1974func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { 1975 op := &request.Operation{ 1976 Name: opDescribeCacheClusters, 1977 HTTPMethod: "POST", 1978 HTTPPath: "/", 1979 Paginator: &request.Paginator{ 1980 InputTokens: []string{"Marker"}, 1981 OutputTokens: []string{"Marker"}, 1982 LimitToken: "MaxRecords", 1983 TruncationToken: "", 1984 }, 1985 } 1986 1987 if input == nil { 1988 input = &DescribeCacheClustersInput{} 1989 } 1990 1991 output = &DescribeCacheClustersOutput{} 1992 req = c.newRequest(op, input, output) 1993 return 1994} 1995 1996// DescribeCacheClusters API operation for Amazon ElastiCache. 1997// 1998// Returns information about all provisioned clusters if no cluster identifier 1999// is specified, or about a specific cache cluster if a cluster identifier is 2000// supplied. 2001// 2002// By default, abbreviated information about the clusters is returned. You can 2003// use the optional ShowCacheNodeInfo flag to retrieve detailed information 2004// about the cache nodes associated with the clusters. These details include 2005// the DNS address and port for the cache node endpoint. 2006// 2007// If the cluster is in the creating state, only cluster-level information is 2008// displayed until all of the nodes are successfully provisioned. 2009// 2010// If the cluster is in the deleting state, only cluster-level information is 2011// displayed. 2012// 2013// If cache nodes are currently being added to the cluster, node endpoint information 2014// and creation time for the additional nodes are not displayed until they are 2015// completely provisioned. When the cluster state is available, the cluster 2016// is ready for use. 2017// 2018// If cache nodes are currently being removed from the cluster, no endpoint 2019// information for the removed nodes is displayed. 2020// 2021// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2022// with awserr.Error's Code and Message methods to get detailed information about 2023// the error. 2024// 2025// See the AWS API reference guide for Amazon ElastiCache's 2026// API operation DescribeCacheClusters for usage and error information. 2027// 2028// Returned Error Codes: 2029// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 2030// The requested cluster ID does not refer to an existing cluster. 2031// 2032// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2033// The value for a parameter is invalid. 2034// 2035// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2036// Two or more incompatible parameters were specified. 2037// 2038// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2039func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { 2040 req, out := c.DescribeCacheClustersRequest(input) 2041 return out, req.Send() 2042} 2043 2044// DescribeCacheClustersWithContext is the same as DescribeCacheClusters with the addition of 2045// the ability to pass a context and additional request options. 2046// 2047// See DescribeCacheClusters for details on how to use this API operation. 2048// 2049// The context must be non-nil and will be used for request cancellation. If 2050// the context is nil a panic will occur. In the future the SDK may create 2051// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2052// for more information on using Contexts. 2053func (c *ElastiCache) DescribeCacheClustersWithContext(ctx aws.Context, input *DescribeCacheClustersInput, opts ...request.Option) (*DescribeCacheClustersOutput, error) { 2054 req, out := c.DescribeCacheClustersRequest(input) 2055 req.SetContext(ctx) 2056 req.ApplyOptions(opts...) 2057 return out, req.Send() 2058} 2059 2060// DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, 2061// calling the "fn" function with the response data for each page. To stop 2062// iterating, return false from the fn function. 2063// 2064// See DescribeCacheClusters method for more information on how to use this operation. 2065// 2066// Note: This operation can generate multiple requests to a service. 2067// 2068// // Example iterating over at most 3 pages of a DescribeCacheClusters operation. 2069// pageNum := 0 2070// err := client.DescribeCacheClustersPages(params, 2071// func(page *elasticache.DescribeCacheClustersOutput, lastPage bool) bool { 2072// pageNum++ 2073// fmt.Println(page) 2074// return pageNum <= 3 2075// }) 2076// 2077func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool) error { 2078 return c.DescribeCacheClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2079} 2080 2081// DescribeCacheClustersPagesWithContext same as DescribeCacheClustersPages except 2082// it takes a Context and allows setting request options on the pages. 2083// 2084// The context must be non-nil and will be used for request cancellation. If 2085// the context is nil a panic will occur. In the future the SDK may create 2086// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2087// for more information on using Contexts. 2088func (c *ElastiCache) DescribeCacheClustersPagesWithContext(ctx aws.Context, input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool, opts ...request.Option) error { 2089 p := request.Pagination{ 2090 NewRequest: func() (*request.Request, error) { 2091 var inCpy *DescribeCacheClustersInput 2092 if input != nil { 2093 tmp := *input 2094 inCpy = &tmp 2095 } 2096 req, _ := c.DescribeCacheClustersRequest(inCpy) 2097 req.SetContext(ctx) 2098 req.ApplyOptions(opts...) 2099 return req, nil 2100 }, 2101 } 2102 2103 cont := true 2104 for p.Next() && cont { 2105 cont = fn(p.Page().(*DescribeCacheClustersOutput), !p.HasNextPage()) 2106 } 2107 return p.Err() 2108} 2109 2110const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" 2111 2112// DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the 2113// client's request for the DescribeCacheEngineVersions operation. The "output" return 2114// value will be populated with the request's response once the request completes 2115// successfully. 2116// 2117// Use "Send" method on the returned Request to send the API call to the service. 2118// the "output" return value is not valid until after Send returns without error. 2119// 2120// See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions 2121// API call, and error handling. 2122// 2123// This method is useful when you want to inject custom logic or configuration 2124// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2125// 2126// 2127// // Example sending a request using the DescribeCacheEngineVersionsRequest method. 2128// req, resp := client.DescribeCacheEngineVersionsRequest(params) 2129// 2130// err := req.Send() 2131// if err == nil { // resp is now filled 2132// fmt.Println(resp) 2133// } 2134// 2135// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2136func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { 2137 op := &request.Operation{ 2138 Name: opDescribeCacheEngineVersions, 2139 HTTPMethod: "POST", 2140 HTTPPath: "/", 2141 Paginator: &request.Paginator{ 2142 InputTokens: []string{"Marker"}, 2143 OutputTokens: []string{"Marker"}, 2144 LimitToken: "MaxRecords", 2145 TruncationToken: "", 2146 }, 2147 } 2148 2149 if input == nil { 2150 input = &DescribeCacheEngineVersionsInput{} 2151 } 2152 2153 output = &DescribeCacheEngineVersionsOutput{} 2154 req = c.newRequest(op, input, output) 2155 return 2156} 2157 2158// DescribeCacheEngineVersions API operation for Amazon ElastiCache. 2159// 2160// Returns a list of the available cache engines and their versions. 2161// 2162// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2163// with awserr.Error's Code and Message methods to get detailed information about 2164// the error. 2165// 2166// See the AWS API reference guide for Amazon ElastiCache's 2167// API operation DescribeCacheEngineVersions for usage and error information. 2168// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2169func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { 2170 req, out := c.DescribeCacheEngineVersionsRequest(input) 2171 return out, req.Send() 2172} 2173 2174// DescribeCacheEngineVersionsWithContext is the same as DescribeCacheEngineVersions with the addition of 2175// the ability to pass a context and additional request options. 2176// 2177// See DescribeCacheEngineVersions for details on how to use this API operation. 2178// 2179// The context must be non-nil and will be used for request cancellation. If 2180// the context is nil a panic will occur. In the future the SDK may create 2181// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2182// for more information on using Contexts. 2183func (c *ElastiCache) DescribeCacheEngineVersionsWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, opts ...request.Option) (*DescribeCacheEngineVersionsOutput, error) { 2184 req, out := c.DescribeCacheEngineVersionsRequest(input) 2185 req.SetContext(ctx) 2186 req.ApplyOptions(opts...) 2187 return out, req.Send() 2188} 2189 2190// DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, 2191// calling the "fn" function with the response data for each page. To stop 2192// iterating, return false from the fn function. 2193// 2194// See DescribeCacheEngineVersions method for more information on how to use this operation. 2195// 2196// Note: This operation can generate multiple requests to a service. 2197// 2198// // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation. 2199// pageNum := 0 2200// err := client.DescribeCacheEngineVersionsPages(params, 2201// func(page *elasticache.DescribeCacheEngineVersionsOutput, lastPage bool) bool { 2202// pageNum++ 2203// fmt.Println(page) 2204// return pageNum <= 3 2205// }) 2206// 2207func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool) error { 2208 return c.DescribeCacheEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 2209} 2210 2211// DescribeCacheEngineVersionsPagesWithContext same as DescribeCacheEngineVersionsPages except 2212// it takes a Context and allows setting request options on the pages. 2213// 2214// The context must be non-nil and will be used for request cancellation. If 2215// the context is nil a panic will occur. In the future the SDK may create 2216// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2217// for more information on using Contexts. 2218func (c *ElastiCache) DescribeCacheEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool, opts ...request.Option) error { 2219 p := request.Pagination{ 2220 NewRequest: func() (*request.Request, error) { 2221 var inCpy *DescribeCacheEngineVersionsInput 2222 if input != nil { 2223 tmp := *input 2224 inCpy = &tmp 2225 } 2226 req, _ := c.DescribeCacheEngineVersionsRequest(inCpy) 2227 req.SetContext(ctx) 2228 req.ApplyOptions(opts...) 2229 return req, nil 2230 }, 2231 } 2232 2233 cont := true 2234 for p.Next() && cont { 2235 cont = fn(p.Page().(*DescribeCacheEngineVersionsOutput), !p.HasNextPage()) 2236 } 2237 return p.Err() 2238} 2239 2240const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" 2241 2242// DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the 2243// client's request for the DescribeCacheParameterGroups operation. The "output" return 2244// value will be populated with the request's response once the request completes 2245// successfully. 2246// 2247// Use "Send" method on the returned Request to send the API call to the service. 2248// the "output" return value is not valid until after Send returns without error. 2249// 2250// See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups 2251// API call, and error handling. 2252// 2253// This method is useful when you want to inject custom logic or configuration 2254// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2255// 2256// 2257// // Example sending a request using the DescribeCacheParameterGroupsRequest method. 2258// req, resp := client.DescribeCacheParameterGroupsRequest(params) 2259// 2260// err := req.Send() 2261// if err == nil { // resp is now filled 2262// fmt.Println(resp) 2263// } 2264// 2265// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2266func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { 2267 op := &request.Operation{ 2268 Name: opDescribeCacheParameterGroups, 2269 HTTPMethod: "POST", 2270 HTTPPath: "/", 2271 Paginator: &request.Paginator{ 2272 InputTokens: []string{"Marker"}, 2273 OutputTokens: []string{"Marker"}, 2274 LimitToken: "MaxRecords", 2275 TruncationToken: "", 2276 }, 2277 } 2278 2279 if input == nil { 2280 input = &DescribeCacheParameterGroupsInput{} 2281 } 2282 2283 output = &DescribeCacheParameterGroupsOutput{} 2284 req = c.newRequest(op, input, output) 2285 return 2286} 2287 2288// DescribeCacheParameterGroups API operation for Amazon ElastiCache. 2289// 2290// Returns a list of cache parameter group descriptions. If a cache parameter 2291// group name is specified, the list contains only the descriptions for that 2292// group. 2293// 2294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2295// with awserr.Error's Code and Message methods to get detailed information about 2296// the error. 2297// 2298// See the AWS API reference guide for Amazon ElastiCache's 2299// API operation DescribeCacheParameterGroups for usage and error information. 2300// 2301// Returned Error Codes: 2302// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2303// The requested cache parameter group name does not refer to an existing cache 2304// parameter group. 2305// 2306// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2307// The value for a parameter is invalid. 2308// 2309// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2310// Two or more incompatible parameters were specified. 2311// 2312// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2313func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { 2314 req, out := c.DescribeCacheParameterGroupsRequest(input) 2315 return out, req.Send() 2316} 2317 2318// DescribeCacheParameterGroupsWithContext is the same as DescribeCacheParameterGroups with the addition of 2319// the ability to pass a context and additional request options. 2320// 2321// See DescribeCacheParameterGroups for details on how to use this API operation. 2322// 2323// The context must be non-nil and will be used for request cancellation. If 2324// the context is nil a panic will occur. In the future the SDK may create 2325// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2326// for more information on using Contexts. 2327func (c *ElastiCache) DescribeCacheParameterGroupsWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, opts ...request.Option) (*DescribeCacheParameterGroupsOutput, error) { 2328 req, out := c.DescribeCacheParameterGroupsRequest(input) 2329 req.SetContext(ctx) 2330 req.ApplyOptions(opts...) 2331 return out, req.Send() 2332} 2333 2334// DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, 2335// calling the "fn" function with the response data for each page. To stop 2336// iterating, return false from the fn function. 2337// 2338// See DescribeCacheParameterGroups method for more information on how to use this operation. 2339// 2340// Note: This operation can generate multiple requests to a service. 2341// 2342// // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation. 2343// pageNum := 0 2344// err := client.DescribeCacheParameterGroupsPages(params, 2345// func(page *elasticache.DescribeCacheParameterGroupsOutput, lastPage bool) bool { 2346// pageNum++ 2347// fmt.Println(page) 2348// return pageNum <= 3 2349// }) 2350// 2351func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool) error { 2352 return c.DescribeCacheParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2353} 2354 2355// DescribeCacheParameterGroupsPagesWithContext same as DescribeCacheParameterGroupsPages except 2356// it takes a Context and allows setting request options on the pages. 2357// 2358// The context must be non-nil and will be used for request cancellation. If 2359// the context is nil a panic will occur. In the future the SDK may create 2360// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2361// for more information on using Contexts. 2362func (c *ElastiCache) DescribeCacheParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool, opts ...request.Option) error { 2363 p := request.Pagination{ 2364 NewRequest: func() (*request.Request, error) { 2365 var inCpy *DescribeCacheParameterGroupsInput 2366 if input != nil { 2367 tmp := *input 2368 inCpy = &tmp 2369 } 2370 req, _ := c.DescribeCacheParameterGroupsRequest(inCpy) 2371 req.SetContext(ctx) 2372 req.ApplyOptions(opts...) 2373 return req, nil 2374 }, 2375 } 2376 2377 cont := true 2378 for p.Next() && cont { 2379 cont = fn(p.Page().(*DescribeCacheParameterGroupsOutput), !p.HasNextPage()) 2380 } 2381 return p.Err() 2382} 2383 2384const opDescribeCacheParameters = "DescribeCacheParameters" 2385 2386// DescribeCacheParametersRequest generates a "aws/request.Request" representing the 2387// client's request for the DescribeCacheParameters operation. The "output" return 2388// value will be populated with the request's response once the request completes 2389// successfully. 2390// 2391// Use "Send" method on the returned Request to send the API call to the service. 2392// the "output" return value is not valid until after Send returns without error. 2393// 2394// See DescribeCacheParameters for more information on using the DescribeCacheParameters 2395// API call, and error handling. 2396// 2397// This method is useful when you want to inject custom logic or configuration 2398// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2399// 2400// 2401// // Example sending a request using the DescribeCacheParametersRequest method. 2402// req, resp := client.DescribeCacheParametersRequest(params) 2403// 2404// err := req.Send() 2405// if err == nil { // resp is now filled 2406// fmt.Println(resp) 2407// } 2408// 2409// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2410func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { 2411 op := &request.Operation{ 2412 Name: opDescribeCacheParameters, 2413 HTTPMethod: "POST", 2414 HTTPPath: "/", 2415 Paginator: &request.Paginator{ 2416 InputTokens: []string{"Marker"}, 2417 OutputTokens: []string{"Marker"}, 2418 LimitToken: "MaxRecords", 2419 TruncationToken: "", 2420 }, 2421 } 2422 2423 if input == nil { 2424 input = &DescribeCacheParametersInput{} 2425 } 2426 2427 output = &DescribeCacheParametersOutput{} 2428 req = c.newRequest(op, input, output) 2429 return 2430} 2431 2432// DescribeCacheParameters API operation for Amazon ElastiCache. 2433// 2434// Returns the detailed parameter list for a particular cache parameter group. 2435// 2436// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2437// with awserr.Error's Code and Message methods to get detailed information about 2438// the error. 2439// 2440// See the AWS API reference guide for Amazon ElastiCache's 2441// API operation DescribeCacheParameters for usage and error information. 2442// 2443// Returned Error Codes: 2444// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2445// The requested cache parameter group name does not refer to an existing cache 2446// parameter group. 2447// 2448// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2449// The value for a parameter is invalid. 2450// 2451// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2452// Two or more incompatible parameters were specified. 2453// 2454// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2455func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { 2456 req, out := c.DescribeCacheParametersRequest(input) 2457 return out, req.Send() 2458} 2459 2460// DescribeCacheParametersWithContext is the same as DescribeCacheParameters with the addition of 2461// the ability to pass a context and additional request options. 2462// 2463// See DescribeCacheParameters for details on how to use this API operation. 2464// 2465// The context must be non-nil and will be used for request cancellation. If 2466// the context is nil a panic will occur. In the future the SDK may create 2467// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2468// for more information on using Contexts. 2469func (c *ElastiCache) DescribeCacheParametersWithContext(ctx aws.Context, input *DescribeCacheParametersInput, opts ...request.Option) (*DescribeCacheParametersOutput, error) { 2470 req, out := c.DescribeCacheParametersRequest(input) 2471 req.SetContext(ctx) 2472 req.ApplyOptions(opts...) 2473 return out, req.Send() 2474} 2475 2476// DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, 2477// calling the "fn" function with the response data for each page. To stop 2478// iterating, return false from the fn function. 2479// 2480// See DescribeCacheParameters method for more information on how to use this operation. 2481// 2482// Note: This operation can generate multiple requests to a service. 2483// 2484// // Example iterating over at most 3 pages of a DescribeCacheParameters operation. 2485// pageNum := 0 2486// err := client.DescribeCacheParametersPages(params, 2487// func(page *elasticache.DescribeCacheParametersOutput, lastPage bool) bool { 2488// pageNum++ 2489// fmt.Println(page) 2490// return pageNum <= 3 2491// }) 2492// 2493func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool) error { 2494 return c.DescribeCacheParametersPagesWithContext(aws.BackgroundContext(), input, fn) 2495} 2496 2497// DescribeCacheParametersPagesWithContext same as DescribeCacheParametersPages except 2498// it takes a Context and allows setting request options on the pages. 2499// 2500// The context must be non-nil and will be used for request cancellation. If 2501// the context is nil a panic will occur. In the future the SDK may create 2502// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2503// for more information on using Contexts. 2504func (c *ElastiCache) DescribeCacheParametersPagesWithContext(ctx aws.Context, input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool, opts ...request.Option) error { 2505 p := request.Pagination{ 2506 NewRequest: func() (*request.Request, error) { 2507 var inCpy *DescribeCacheParametersInput 2508 if input != nil { 2509 tmp := *input 2510 inCpy = &tmp 2511 } 2512 req, _ := c.DescribeCacheParametersRequest(inCpy) 2513 req.SetContext(ctx) 2514 req.ApplyOptions(opts...) 2515 return req, nil 2516 }, 2517 } 2518 2519 cont := true 2520 for p.Next() && cont { 2521 cont = fn(p.Page().(*DescribeCacheParametersOutput), !p.HasNextPage()) 2522 } 2523 return p.Err() 2524} 2525 2526const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" 2527 2528// DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the 2529// client's request for the DescribeCacheSecurityGroups operation. The "output" return 2530// value will be populated with the request's response once the request completes 2531// successfully. 2532// 2533// Use "Send" method on the returned Request to send the API call to the service. 2534// the "output" return value is not valid until after Send returns without error. 2535// 2536// See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups 2537// API call, and error handling. 2538// 2539// This method is useful when you want to inject custom logic or configuration 2540// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2541// 2542// 2543// // Example sending a request using the DescribeCacheSecurityGroupsRequest method. 2544// req, resp := client.DescribeCacheSecurityGroupsRequest(params) 2545// 2546// err := req.Send() 2547// if err == nil { // resp is now filled 2548// fmt.Println(resp) 2549// } 2550// 2551// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2552func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { 2553 op := &request.Operation{ 2554 Name: opDescribeCacheSecurityGroups, 2555 HTTPMethod: "POST", 2556 HTTPPath: "/", 2557 Paginator: &request.Paginator{ 2558 InputTokens: []string{"Marker"}, 2559 OutputTokens: []string{"Marker"}, 2560 LimitToken: "MaxRecords", 2561 TruncationToken: "", 2562 }, 2563 } 2564 2565 if input == nil { 2566 input = &DescribeCacheSecurityGroupsInput{} 2567 } 2568 2569 output = &DescribeCacheSecurityGroupsOutput{} 2570 req = c.newRequest(op, input, output) 2571 return 2572} 2573 2574// DescribeCacheSecurityGroups API operation for Amazon ElastiCache. 2575// 2576// Returns a list of cache security group descriptions. If a cache security 2577// group name is specified, the list contains only the description of that group. 2578// This applicable only when you have ElastiCache in Classic setup 2579// 2580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2581// with awserr.Error's Code and Message methods to get detailed information about 2582// the error. 2583// 2584// See the AWS API reference guide for Amazon ElastiCache's 2585// API operation DescribeCacheSecurityGroups for usage and error information. 2586// 2587// Returned Error Codes: 2588// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 2589// The requested cache security group name does not refer to an existing cache 2590// security group. 2591// 2592// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2593// The value for a parameter is invalid. 2594// 2595// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2596// Two or more incompatible parameters were specified. 2597// 2598// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2599func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { 2600 req, out := c.DescribeCacheSecurityGroupsRequest(input) 2601 return out, req.Send() 2602} 2603 2604// DescribeCacheSecurityGroupsWithContext is the same as DescribeCacheSecurityGroups with the addition of 2605// the ability to pass a context and additional request options. 2606// 2607// See DescribeCacheSecurityGroups for details on how to use this API operation. 2608// 2609// The context must be non-nil and will be used for request cancellation. If 2610// the context is nil a panic will occur. In the future the SDK may create 2611// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2612// for more information on using Contexts. 2613func (c *ElastiCache) DescribeCacheSecurityGroupsWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, opts ...request.Option) (*DescribeCacheSecurityGroupsOutput, error) { 2614 req, out := c.DescribeCacheSecurityGroupsRequest(input) 2615 req.SetContext(ctx) 2616 req.ApplyOptions(opts...) 2617 return out, req.Send() 2618} 2619 2620// DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, 2621// calling the "fn" function with the response data for each page. To stop 2622// iterating, return false from the fn function. 2623// 2624// See DescribeCacheSecurityGroups method for more information on how to use this operation. 2625// 2626// Note: This operation can generate multiple requests to a service. 2627// 2628// // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation. 2629// pageNum := 0 2630// err := client.DescribeCacheSecurityGroupsPages(params, 2631// func(page *elasticache.DescribeCacheSecurityGroupsOutput, lastPage bool) bool { 2632// pageNum++ 2633// fmt.Println(page) 2634// return pageNum <= 3 2635// }) 2636// 2637func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool) error { 2638 return c.DescribeCacheSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2639} 2640 2641// DescribeCacheSecurityGroupsPagesWithContext same as DescribeCacheSecurityGroupsPages except 2642// it takes a Context and allows setting request options on the pages. 2643// 2644// The context must be non-nil and will be used for request cancellation. If 2645// the context is nil a panic will occur. In the future the SDK may create 2646// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2647// for more information on using Contexts. 2648func (c *ElastiCache) DescribeCacheSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 2649 p := request.Pagination{ 2650 NewRequest: func() (*request.Request, error) { 2651 var inCpy *DescribeCacheSecurityGroupsInput 2652 if input != nil { 2653 tmp := *input 2654 inCpy = &tmp 2655 } 2656 req, _ := c.DescribeCacheSecurityGroupsRequest(inCpy) 2657 req.SetContext(ctx) 2658 req.ApplyOptions(opts...) 2659 return req, nil 2660 }, 2661 } 2662 2663 cont := true 2664 for p.Next() && cont { 2665 cont = fn(p.Page().(*DescribeCacheSecurityGroupsOutput), !p.HasNextPage()) 2666 } 2667 return p.Err() 2668} 2669 2670const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" 2671 2672// DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the 2673// client's request for the DescribeCacheSubnetGroups operation. The "output" return 2674// value will be populated with the request's response once the request completes 2675// successfully. 2676// 2677// Use "Send" method on the returned Request to send the API call to the service. 2678// the "output" return value is not valid until after Send returns without error. 2679// 2680// See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups 2681// API call, and error handling. 2682// 2683// This method is useful when you want to inject custom logic or configuration 2684// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2685// 2686// 2687// // Example sending a request using the DescribeCacheSubnetGroupsRequest method. 2688// req, resp := client.DescribeCacheSubnetGroupsRequest(params) 2689// 2690// err := req.Send() 2691// if err == nil { // resp is now filled 2692// fmt.Println(resp) 2693// } 2694// 2695// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 2696func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { 2697 op := &request.Operation{ 2698 Name: opDescribeCacheSubnetGroups, 2699 HTTPMethod: "POST", 2700 HTTPPath: "/", 2701 Paginator: &request.Paginator{ 2702 InputTokens: []string{"Marker"}, 2703 OutputTokens: []string{"Marker"}, 2704 LimitToken: "MaxRecords", 2705 TruncationToken: "", 2706 }, 2707 } 2708 2709 if input == nil { 2710 input = &DescribeCacheSubnetGroupsInput{} 2711 } 2712 2713 output = &DescribeCacheSubnetGroupsOutput{} 2714 req = c.newRequest(op, input, output) 2715 return 2716} 2717 2718// DescribeCacheSubnetGroups API operation for Amazon ElastiCache. 2719// 2720// Returns a list of cache subnet group descriptions. If a subnet group name 2721// is specified, the list contains only the description of that group. This 2722// is applicable only when you have ElastiCache in VPC setup. All ElastiCache 2723// clusters now launch in VPC by default. 2724// 2725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2726// with awserr.Error's Code and Message methods to get detailed information about 2727// the error. 2728// 2729// See the AWS API reference guide for Amazon ElastiCache's 2730// API operation DescribeCacheSubnetGroups for usage and error information. 2731// 2732// Returned Error Codes: 2733// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 2734// The requested cache subnet group name does not refer to an existing cache 2735// subnet group. 2736// 2737// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 2738func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { 2739 req, out := c.DescribeCacheSubnetGroupsRequest(input) 2740 return out, req.Send() 2741} 2742 2743// DescribeCacheSubnetGroupsWithContext is the same as DescribeCacheSubnetGroups with the addition of 2744// the ability to pass a context and additional request options. 2745// 2746// See DescribeCacheSubnetGroups for details on how to use this API operation. 2747// 2748// The context must be non-nil and will be used for request cancellation. If 2749// the context is nil a panic will occur. In the future the SDK may create 2750// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2751// for more information on using Contexts. 2752func (c *ElastiCache) DescribeCacheSubnetGroupsWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, opts ...request.Option) (*DescribeCacheSubnetGroupsOutput, error) { 2753 req, out := c.DescribeCacheSubnetGroupsRequest(input) 2754 req.SetContext(ctx) 2755 req.ApplyOptions(opts...) 2756 return out, req.Send() 2757} 2758 2759// DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, 2760// calling the "fn" function with the response data for each page. To stop 2761// iterating, return false from the fn function. 2762// 2763// See DescribeCacheSubnetGroups method for more information on how to use this operation. 2764// 2765// Note: This operation can generate multiple requests to a service. 2766// 2767// // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation. 2768// pageNum := 0 2769// err := client.DescribeCacheSubnetGroupsPages(params, 2770// func(page *elasticache.DescribeCacheSubnetGroupsOutput, lastPage bool) bool { 2771// pageNum++ 2772// fmt.Println(page) 2773// return pageNum <= 3 2774// }) 2775// 2776func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool) error { 2777 return c.DescribeCacheSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2778} 2779 2780// DescribeCacheSubnetGroupsPagesWithContext same as DescribeCacheSubnetGroupsPages except 2781// it takes a Context and allows setting request options on the pages. 2782// 2783// The context must be non-nil and will be used for request cancellation. If 2784// the context is nil a panic will occur. In the future the SDK may create 2785// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2786// for more information on using Contexts. 2787func (c *ElastiCache) DescribeCacheSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 2788 p := request.Pagination{ 2789 NewRequest: func() (*request.Request, error) { 2790 var inCpy *DescribeCacheSubnetGroupsInput 2791 if input != nil { 2792 tmp := *input 2793 inCpy = &tmp 2794 } 2795 req, _ := c.DescribeCacheSubnetGroupsRequest(inCpy) 2796 req.SetContext(ctx) 2797 req.ApplyOptions(opts...) 2798 return req, nil 2799 }, 2800 } 2801 2802 cont := true 2803 for p.Next() && cont { 2804 cont = fn(p.Page().(*DescribeCacheSubnetGroupsOutput), !p.HasNextPage()) 2805 } 2806 return p.Err() 2807} 2808 2809const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" 2810 2811// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the 2812// client's request for the DescribeEngineDefaultParameters operation. The "output" return 2813// value will be populated with the request's response once the request completes 2814// successfully. 2815// 2816// Use "Send" method on the returned Request to send the API call to the service. 2817// the "output" return value is not valid until after Send returns without error. 2818// 2819// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters 2820// API call, and error handling. 2821// 2822// This method is useful when you want to inject custom logic or configuration 2823// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2824// 2825// 2826// // Example sending a request using the DescribeEngineDefaultParametersRequest method. 2827// req, resp := client.DescribeEngineDefaultParametersRequest(params) 2828// 2829// err := req.Send() 2830// if err == nil { // resp is now filled 2831// fmt.Println(resp) 2832// } 2833// 2834// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 2835func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { 2836 op := &request.Operation{ 2837 Name: opDescribeEngineDefaultParameters, 2838 HTTPMethod: "POST", 2839 HTTPPath: "/", 2840 Paginator: &request.Paginator{ 2841 InputTokens: []string{"Marker"}, 2842 OutputTokens: []string{"EngineDefaults.Marker"}, 2843 LimitToken: "MaxRecords", 2844 TruncationToken: "", 2845 }, 2846 } 2847 2848 if input == nil { 2849 input = &DescribeEngineDefaultParametersInput{} 2850 } 2851 2852 output = &DescribeEngineDefaultParametersOutput{} 2853 req = c.newRequest(op, input, output) 2854 return 2855} 2856 2857// DescribeEngineDefaultParameters API operation for Amazon ElastiCache. 2858// 2859// Returns the default engine and system parameter information for the specified 2860// cache engine. 2861// 2862// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2863// with awserr.Error's Code and Message methods to get detailed information about 2864// the error. 2865// 2866// See the AWS API reference guide for Amazon ElastiCache's 2867// API operation DescribeEngineDefaultParameters for usage and error information. 2868// 2869// Returned Error Codes: 2870// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2871// The value for a parameter is invalid. 2872// 2873// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2874// Two or more incompatible parameters were specified. 2875// 2876// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 2877func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { 2878 req, out := c.DescribeEngineDefaultParametersRequest(input) 2879 return out, req.Send() 2880} 2881 2882// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of 2883// the ability to pass a context and additional request options. 2884// 2885// See DescribeEngineDefaultParameters for details on how to use this API operation. 2886// 2887// The context must be non-nil and will be used for request cancellation. If 2888// the context is nil a panic will occur. In the future the SDK may create 2889// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2890// for more information on using Contexts. 2891func (c *ElastiCache) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) { 2892 req, out := c.DescribeEngineDefaultParametersRequest(input) 2893 req.SetContext(ctx) 2894 req.ApplyOptions(opts...) 2895 return out, req.Send() 2896} 2897 2898// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, 2899// calling the "fn" function with the response data for each page. To stop 2900// iterating, return false from the fn function. 2901// 2902// See DescribeEngineDefaultParameters method for more information on how to use this operation. 2903// 2904// Note: This operation can generate multiple requests to a service. 2905// 2906// // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation. 2907// pageNum := 0 2908// err := client.DescribeEngineDefaultParametersPages(params, 2909// func(page *elasticache.DescribeEngineDefaultParametersOutput, lastPage bool) bool { 2910// pageNum++ 2911// fmt.Println(page) 2912// return pageNum <= 3 2913// }) 2914// 2915func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error { 2916 return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn) 2917} 2918 2919// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except 2920// it takes a Context and allows setting request options on the pages. 2921// 2922// The context must be non-nil and will be used for request cancellation. If 2923// the context is nil a panic will occur. In the future the SDK may create 2924// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2925// for more information on using Contexts. 2926func (c *ElastiCache) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error { 2927 p := request.Pagination{ 2928 NewRequest: func() (*request.Request, error) { 2929 var inCpy *DescribeEngineDefaultParametersInput 2930 if input != nil { 2931 tmp := *input 2932 inCpy = &tmp 2933 } 2934 req, _ := c.DescribeEngineDefaultParametersRequest(inCpy) 2935 req.SetContext(ctx) 2936 req.ApplyOptions(opts...) 2937 return req, nil 2938 }, 2939 } 2940 2941 cont := true 2942 for p.Next() && cont { 2943 cont = fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) 2944 } 2945 return p.Err() 2946} 2947 2948const opDescribeEvents = "DescribeEvents" 2949 2950// DescribeEventsRequest generates a "aws/request.Request" representing the 2951// client's request for the DescribeEvents operation. The "output" return 2952// value will be populated with the request's response once the request completes 2953// successfully. 2954// 2955// Use "Send" method on the returned Request to send the API call to the service. 2956// the "output" return value is not valid until after Send returns without error. 2957// 2958// See DescribeEvents for more information on using the DescribeEvents 2959// API call, and error handling. 2960// 2961// This method is useful when you want to inject custom logic or configuration 2962// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2963// 2964// 2965// // Example sending a request using the DescribeEventsRequest method. 2966// req, resp := client.DescribeEventsRequest(params) 2967// 2968// err := req.Send() 2969// if err == nil { // resp is now filled 2970// fmt.Println(resp) 2971// } 2972// 2973// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 2974func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 2975 op := &request.Operation{ 2976 Name: opDescribeEvents, 2977 HTTPMethod: "POST", 2978 HTTPPath: "/", 2979 Paginator: &request.Paginator{ 2980 InputTokens: []string{"Marker"}, 2981 OutputTokens: []string{"Marker"}, 2982 LimitToken: "MaxRecords", 2983 TruncationToken: "", 2984 }, 2985 } 2986 2987 if input == nil { 2988 input = &DescribeEventsInput{} 2989 } 2990 2991 output = &DescribeEventsOutput{} 2992 req = c.newRequest(op, input, output) 2993 return 2994} 2995 2996// DescribeEvents API operation for Amazon ElastiCache. 2997// 2998// Returns events related to clusters, cache security groups, and cache parameter 2999// groups. You can obtain events specific to a particular cluster, cache security 3000// group, or cache parameter group by providing the name as a parameter. 3001// 3002// By default, only the events occurring within the last hour are returned; 3003// however, you can retrieve up to 14 days' worth of events if necessary. 3004// 3005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3006// with awserr.Error's Code and Message methods to get detailed information about 3007// the error. 3008// 3009// See the AWS API reference guide for Amazon ElastiCache's 3010// API operation DescribeEvents for usage and error information. 3011// 3012// Returned Error Codes: 3013// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3014// The value for a parameter is invalid. 3015// 3016// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3017// Two or more incompatible parameters were specified. 3018// 3019// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3020func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 3021 req, out := c.DescribeEventsRequest(input) 3022 return out, req.Send() 3023} 3024 3025// DescribeEventsWithContext is the same as DescribeEvents with the addition of 3026// the ability to pass a context and additional request options. 3027// 3028// See DescribeEvents for details on how to use this API operation. 3029// 3030// The context must be non-nil and will be used for request cancellation. If 3031// the context is nil a panic will occur. In the future the SDK may create 3032// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3033// for more information on using Contexts. 3034func (c *ElastiCache) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 3035 req, out := c.DescribeEventsRequest(input) 3036 req.SetContext(ctx) 3037 req.ApplyOptions(opts...) 3038 return out, req.Send() 3039} 3040 3041// DescribeEventsPages iterates over the pages of a DescribeEvents operation, 3042// calling the "fn" function with the response data for each page. To stop 3043// iterating, return false from the fn function. 3044// 3045// See DescribeEvents method for more information on how to use this operation. 3046// 3047// Note: This operation can generate multiple requests to a service. 3048// 3049// // Example iterating over at most 3 pages of a DescribeEvents operation. 3050// pageNum := 0 3051// err := client.DescribeEventsPages(params, 3052// func(page *elasticache.DescribeEventsOutput, lastPage bool) bool { 3053// pageNum++ 3054// fmt.Println(page) 3055// return pageNum <= 3 3056// }) 3057// 3058func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 3059 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 3060} 3061 3062// DescribeEventsPagesWithContext same as DescribeEventsPages except 3063// it takes a Context and allows setting request options on the pages. 3064// 3065// The context must be non-nil and will be used for request cancellation. If 3066// the context is nil a panic will occur. In the future the SDK may create 3067// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3068// for more information on using Contexts. 3069func (c *ElastiCache) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 3070 p := request.Pagination{ 3071 NewRequest: func() (*request.Request, error) { 3072 var inCpy *DescribeEventsInput 3073 if input != nil { 3074 tmp := *input 3075 inCpy = &tmp 3076 } 3077 req, _ := c.DescribeEventsRequest(inCpy) 3078 req.SetContext(ctx) 3079 req.ApplyOptions(opts...) 3080 return req, nil 3081 }, 3082 } 3083 3084 cont := true 3085 for p.Next() && cont { 3086 cont = fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) 3087 } 3088 return p.Err() 3089} 3090 3091const opDescribeReplicationGroups = "DescribeReplicationGroups" 3092 3093// DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the 3094// client's request for the DescribeReplicationGroups operation. The "output" return 3095// value will be populated with the request's response once the request completes 3096// successfully. 3097// 3098// Use "Send" method on the returned Request to send the API call to the service. 3099// the "output" return value is not valid until after Send returns without error. 3100// 3101// See DescribeReplicationGroups for more information on using the DescribeReplicationGroups 3102// API call, and error handling. 3103// 3104// This method is useful when you want to inject custom logic or configuration 3105// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3106// 3107// 3108// // Example sending a request using the DescribeReplicationGroupsRequest method. 3109// req, resp := client.DescribeReplicationGroupsRequest(params) 3110// 3111// err := req.Send() 3112// if err == nil { // resp is now filled 3113// fmt.Println(resp) 3114// } 3115// 3116// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3117func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { 3118 op := &request.Operation{ 3119 Name: opDescribeReplicationGroups, 3120 HTTPMethod: "POST", 3121 HTTPPath: "/", 3122 Paginator: &request.Paginator{ 3123 InputTokens: []string{"Marker"}, 3124 OutputTokens: []string{"Marker"}, 3125 LimitToken: "MaxRecords", 3126 TruncationToken: "", 3127 }, 3128 } 3129 3130 if input == nil { 3131 input = &DescribeReplicationGroupsInput{} 3132 } 3133 3134 output = &DescribeReplicationGroupsOutput{} 3135 req = c.newRequest(op, input, output) 3136 return 3137} 3138 3139// DescribeReplicationGroups API operation for Amazon ElastiCache. 3140// 3141// Returns information about a particular replication group. If no identifier 3142// is specified, DescribeReplicationGroups returns information about all replication 3143// groups. 3144// 3145// This operation is valid for Redis only. 3146// 3147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3148// with awserr.Error's Code and Message methods to get detailed information about 3149// the error. 3150// 3151// See the AWS API reference guide for Amazon ElastiCache's 3152// API operation DescribeReplicationGroups for usage and error information. 3153// 3154// Returned Error Codes: 3155// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 3156// The specified replication group does not exist. 3157// 3158// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3159// The value for a parameter is invalid. 3160// 3161// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3162// Two or more incompatible parameters were specified. 3163// 3164// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3165func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { 3166 req, out := c.DescribeReplicationGroupsRequest(input) 3167 return out, req.Send() 3168} 3169 3170// DescribeReplicationGroupsWithContext is the same as DescribeReplicationGroups with the addition of 3171// the ability to pass a context and additional request options. 3172// 3173// See DescribeReplicationGroups for details on how to use this API operation. 3174// 3175// The context must be non-nil and will be used for request cancellation. If 3176// the context is nil a panic will occur. In the future the SDK may create 3177// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3178// for more information on using Contexts. 3179func (c *ElastiCache) DescribeReplicationGroupsWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, opts ...request.Option) (*DescribeReplicationGroupsOutput, error) { 3180 req, out := c.DescribeReplicationGroupsRequest(input) 3181 req.SetContext(ctx) 3182 req.ApplyOptions(opts...) 3183 return out, req.Send() 3184} 3185 3186// DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, 3187// calling the "fn" function with the response data for each page. To stop 3188// iterating, return false from the fn function. 3189// 3190// See DescribeReplicationGroups method for more information on how to use this operation. 3191// 3192// Note: This operation can generate multiple requests to a service. 3193// 3194// // Example iterating over at most 3 pages of a DescribeReplicationGroups operation. 3195// pageNum := 0 3196// err := client.DescribeReplicationGroupsPages(params, 3197// func(page *elasticache.DescribeReplicationGroupsOutput, lastPage bool) bool { 3198// pageNum++ 3199// fmt.Println(page) 3200// return pageNum <= 3 3201// }) 3202// 3203func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool) error { 3204 return c.DescribeReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3205} 3206 3207// DescribeReplicationGroupsPagesWithContext same as DescribeReplicationGroupsPages except 3208// it takes a Context and allows setting request options on the pages. 3209// 3210// The context must be non-nil and will be used for request cancellation. If 3211// the context is nil a panic will occur. In the future the SDK may create 3212// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3213// for more information on using Contexts. 3214func (c *ElastiCache) DescribeReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 3215 p := request.Pagination{ 3216 NewRequest: func() (*request.Request, error) { 3217 var inCpy *DescribeReplicationGroupsInput 3218 if input != nil { 3219 tmp := *input 3220 inCpy = &tmp 3221 } 3222 req, _ := c.DescribeReplicationGroupsRequest(inCpy) 3223 req.SetContext(ctx) 3224 req.ApplyOptions(opts...) 3225 return req, nil 3226 }, 3227 } 3228 3229 cont := true 3230 for p.Next() && cont { 3231 cont = fn(p.Page().(*DescribeReplicationGroupsOutput), !p.HasNextPage()) 3232 } 3233 return p.Err() 3234} 3235 3236const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" 3237 3238// DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the 3239// client's request for the DescribeReservedCacheNodes operation. The "output" return 3240// value will be populated with the request's response once the request completes 3241// successfully. 3242// 3243// Use "Send" method on the returned Request to send the API call to the service. 3244// the "output" return value is not valid until after Send returns without error. 3245// 3246// See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes 3247// API call, and error handling. 3248// 3249// This method is useful when you want to inject custom logic or configuration 3250// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3251// 3252// 3253// // Example sending a request using the DescribeReservedCacheNodesRequest method. 3254// req, resp := client.DescribeReservedCacheNodesRequest(params) 3255// 3256// err := req.Send() 3257// if err == nil { // resp is now filled 3258// fmt.Println(resp) 3259// } 3260// 3261// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3262func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { 3263 op := &request.Operation{ 3264 Name: opDescribeReservedCacheNodes, 3265 HTTPMethod: "POST", 3266 HTTPPath: "/", 3267 Paginator: &request.Paginator{ 3268 InputTokens: []string{"Marker"}, 3269 OutputTokens: []string{"Marker"}, 3270 LimitToken: "MaxRecords", 3271 TruncationToken: "", 3272 }, 3273 } 3274 3275 if input == nil { 3276 input = &DescribeReservedCacheNodesInput{} 3277 } 3278 3279 output = &DescribeReservedCacheNodesOutput{} 3280 req = c.newRequest(op, input, output) 3281 return 3282} 3283 3284// DescribeReservedCacheNodes API operation for Amazon ElastiCache. 3285// 3286// Returns information about reserved cache nodes for this account, or about 3287// a specified reserved cache node. 3288// 3289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3290// with awserr.Error's Code and Message methods to get detailed information about 3291// the error. 3292// 3293// See the AWS API reference guide for Amazon ElastiCache's 3294// API operation DescribeReservedCacheNodes for usage and error information. 3295// 3296// Returned Error Codes: 3297// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 3298// The requested reserved cache node was not found. 3299// 3300// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3301// The value for a parameter is invalid. 3302// 3303// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3304// Two or more incompatible parameters were specified. 3305// 3306// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3307func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { 3308 req, out := c.DescribeReservedCacheNodesRequest(input) 3309 return out, req.Send() 3310} 3311 3312// DescribeReservedCacheNodesWithContext is the same as DescribeReservedCacheNodes with the addition of 3313// the ability to pass a context and additional request options. 3314// 3315// See DescribeReservedCacheNodes for details on how to use this API operation. 3316// 3317// The context must be non-nil and will be used for request cancellation. If 3318// the context is nil a panic will occur. In the future the SDK may create 3319// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3320// for more information on using Contexts. 3321func (c *ElastiCache) DescribeReservedCacheNodesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, opts ...request.Option) (*DescribeReservedCacheNodesOutput, error) { 3322 req, out := c.DescribeReservedCacheNodesRequest(input) 3323 req.SetContext(ctx) 3324 req.ApplyOptions(opts...) 3325 return out, req.Send() 3326} 3327 3328// DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, 3329// calling the "fn" function with the response data for each page. To stop 3330// iterating, return false from the fn function. 3331// 3332// See DescribeReservedCacheNodes method for more information on how to use this operation. 3333// 3334// Note: This operation can generate multiple requests to a service. 3335// 3336// // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation. 3337// pageNum := 0 3338// err := client.DescribeReservedCacheNodesPages(params, 3339// func(page *elasticache.DescribeReservedCacheNodesOutput, lastPage bool) bool { 3340// pageNum++ 3341// fmt.Println(page) 3342// return pageNum <= 3 3343// }) 3344// 3345func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool) error { 3346 return c.DescribeReservedCacheNodesPagesWithContext(aws.BackgroundContext(), input, fn) 3347} 3348 3349// DescribeReservedCacheNodesPagesWithContext same as DescribeReservedCacheNodesPages except 3350// it takes a Context and allows setting request options on the pages. 3351// 3352// The context must be non-nil and will be used for request cancellation. If 3353// the context is nil a panic will occur. In the future the SDK may create 3354// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3355// for more information on using Contexts. 3356func (c *ElastiCache) DescribeReservedCacheNodesPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool, opts ...request.Option) error { 3357 p := request.Pagination{ 3358 NewRequest: func() (*request.Request, error) { 3359 var inCpy *DescribeReservedCacheNodesInput 3360 if input != nil { 3361 tmp := *input 3362 inCpy = &tmp 3363 } 3364 req, _ := c.DescribeReservedCacheNodesRequest(inCpy) 3365 req.SetContext(ctx) 3366 req.ApplyOptions(opts...) 3367 return req, nil 3368 }, 3369 } 3370 3371 cont := true 3372 for p.Next() && cont { 3373 cont = fn(p.Page().(*DescribeReservedCacheNodesOutput), !p.HasNextPage()) 3374 } 3375 return p.Err() 3376} 3377 3378const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" 3379 3380// DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the 3381// client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return 3382// value will be populated with the request's response once the request completes 3383// successfully. 3384// 3385// Use "Send" method on the returned Request to send the API call to the service. 3386// the "output" return value is not valid until after Send returns without error. 3387// 3388// See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings 3389// API call, and error handling. 3390// 3391// This method is useful when you want to inject custom logic or configuration 3392// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3393// 3394// 3395// // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. 3396// req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) 3397// 3398// err := req.Send() 3399// if err == nil { // resp is now filled 3400// fmt.Println(resp) 3401// } 3402// 3403// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3404func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { 3405 op := &request.Operation{ 3406 Name: opDescribeReservedCacheNodesOfferings, 3407 HTTPMethod: "POST", 3408 HTTPPath: "/", 3409 Paginator: &request.Paginator{ 3410 InputTokens: []string{"Marker"}, 3411 OutputTokens: []string{"Marker"}, 3412 LimitToken: "MaxRecords", 3413 TruncationToken: "", 3414 }, 3415 } 3416 3417 if input == nil { 3418 input = &DescribeReservedCacheNodesOfferingsInput{} 3419 } 3420 3421 output = &DescribeReservedCacheNodesOfferingsOutput{} 3422 req = c.newRequest(op, input, output) 3423 return 3424} 3425 3426// DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. 3427// 3428// Lists available reserved cache node offerings. 3429// 3430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3431// with awserr.Error's Code and Message methods to get detailed information about 3432// the error. 3433// 3434// See the AWS API reference guide for Amazon ElastiCache's 3435// API operation DescribeReservedCacheNodesOfferings for usage and error information. 3436// 3437// Returned Error Codes: 3438// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 3439// The requested cache node offering does not exist. 3440// 3441// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3442// The value for a parameter is invalid. 3443// 3444// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3445// Two or more incompatible parameters were specified. 3446// 3447// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3448func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { 3449 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 3450 return out, req.Send() 3451} 3452 3453// DescribeReservedCacheNodesOfferingsWithContext is the same as DescribeReservedCacheNodesOfferings with the addition of 3454// the ability to pass a context and additional request options. 3455// 3456// See DescribeReservedCacheNodesOfferings for details on how to use this API operation. 3457// 3458// The context must be non-nil and will be used for request cancellation. If 3459// the context is nil a panic will occur. In the future the SDK may create 3460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3461// for more information on using Contexts. 3462func (c *ElastiCache) DescribeReservedCacheNodesOfferingsWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, opts ...request.Option) (*DescribeReservedCacheNodesOfferingsOutput, error) { 3463 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 3464 req.SetContext(ctx) 3465 req.ApplyOptions(opts...) 3466 return out, req.Send() 3467} 3468 3469// DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, 3470// calling the "fn" function with the response data for each page. To stop 3471// iterating, return false from the fn function. 3472// 3473// See DescribeReservedCacheNodesOfferings method for more information on how to use this operation. 3474// 3475// Note: This operation can generate multiple requests to a service. 3476// 3477// // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation. 3478// pageNum := 0 3479// err := client.DescribeReservedCacheNodesOfferingsPages(params, 3480// func(page *elasticache.DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { 3481// pageNum++ 3482// fmt.Println(page) 3483// return pageNum <= 3 3484// }) 3485// 3486func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool) error { 3487 return c.DescribeReservedCacheNodesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 3488} 3489 3490// DescribeReservedCacheNodesOfferingsPagesWithContext same as DescribeReservedCacheNodesOfferingsPages except 3491// it takes a Context and allows setting request options on the pages. 3492// 3493// The context must be non-nil and will be used for request cancellation. If 3494// the context is nil a panic will occur. In the future the SDK may create 3495// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3496// for more information on using Contexts. 3497func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool, opts ...request.Option) error { 3498 p := request.Pagination{ 3499 NewRequest: func() (*request.Request, error) { 3500 var inCpy *DescribeReservedCacheNodesOfferingsInput 3501 if input != nil { 3502 tmp := *input 3503 inCpy = &tmp 3504 } 3505 req, _ := c.DescribeReservedCacheNodesOfferingsRequest(inCpy) 3506 req.SetContext(ctx) 3507 req.ApplyOptions(opts...) 3508 return req, nil 3509 }, 3510 } 3511 3512 cont := true 3513 for p.Next() && cont { 3514 cont = fn(p.Page().(*DescribeReservedCacheNodesOfferingsOutput), !p.HasNextPage()) 3515 } 3516 return p.Err() 3517} 3518 3519const opDescribeServiceUpdates = "DescribeServiceUpdates" 3520 3521// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the 3522// client's request for the DescribeServiceUpdates operation. The "output" return 3523// value will be populated with the request's response once the request completes 3524// successfully. 3525// 3526// Use "Send" method on the returned Request to send the API call to the service. 3527// the "output" return value is not valid until after Send returns without error. 3528// 3529// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates 3530// API call, and error handling. 3531// 3532// This method is useful when you want to inject custom logic or configuration 3533// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3534// 3535// 3536// // Example sending a request using the DescribeServiceUpdatesRequest method. 3537// req, resp := client.DescribeServiceUpdatesRequest(params) 3538// 3539// err := req.Send() 3540// if err == nil { // resp is now filled 3541// fmt.Println(resp) 3542// } 3543// 3544// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 3545func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { 3546 op := &request.Operation{ 3547 Name: opDescribeServiceUpdates, 3548 HTTPMethod: "POST", 3549 HTTPPath: "/", 3550 Paginator: &request.Paginator{ 3551 InputTokens: []string{"Marker"}, 3552 OutputTokens: []string{"Marker"}, 3553 LimitToken: "MaxRecords", 3554 TruncationToken: "", 3555 }, 3556 } 3557 3558 if input == nil { 3559 input = &DescribeServiceUpdatesInput{} 3560 } 3561 3562 output = &DescribeServiceUpdatesOutput{} 3563 req = c.newRequest(op, input, output) 3564 return 3565} 3566 3567// DescribeServiceUpdates API operation for Amazon ElastiCache. 3568// 3569// Returns details of the service updates 3570// 3571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3572// with awserr.Error's Code and Message methods to get detailed information about 3573// the error. 3574// 3575// See the AWS API reference guide for Amazon ElastiCache's 3576// API operation DescribeServiceUpdates for usage and error information. 3577// 3578// Returned Error Codes: 3579// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 3580// The service update doesn't exist 3581// 3582// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3583// The value for a parameter is invalid. 3584// 3585// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3586// Two or more incompatible parameters were specified. 3587// 3588// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 3589func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { 3590 req, out := c.DescribeServiceUpdatesRequest(input) 3591 return out, req.Send() 3592} 3593 3594// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of 3595// the ability to pass a context and additional request options. 3596// 3597// See DescribeServiceUpdates for details on how to use this API operation. 3598// 3599// The context must be non-nil and will be used for request cancellation. If 3600// the context is nil a panic will occur. In the future the SDK may create 3601// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3602// for more information on using Contexts. 3603func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { 3604 req, out := c.DescribeServiceUpdatesRequest(input) 3605 req.SetContext(ctx) 3606 req.ApplyOptions(opts...) 3607 return out, req.Send() 3608} 3609 3610// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, 3611// calling the "fn" function with the response data for each page. To stop 3612// iterating, return false from the fn function. 3613// 3614// See DescribeServiceUpdates method for more information on how to use this operation. 3615// 3616// Note: This operation can generate multiple requests to a service. 3617// 3618// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. 3619// pageNum := 0 3620// err := client.DescribeServiceUpdatesPages(params, 3621// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { 3622// pageNum++ 3623// fmt.Println(page) 3624// return pageNum <= 3 3625// }) 3626// 3627func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { 3628 return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 3629} 3630 3631// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except 3632// it takes a Context and allows setting request options on the pages. 3633// 3634// The context must be non-nil and will be used for request cancellation. If 3635// the context is nil a panic will occur. In the future the SDK may create 3636// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3637// for more information on using Contexts. 3638func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { 3639 p := request.Pagination{ 3640 NewRequest: func() (*request.Request, error) { 3641 var inCpy *DescribeServiceUpdatesInput 3642 if input != nil { 3643 tmp := *input 3644 inCpy = &tmp 3645 } 3646 req, _ := c.DescribeServiceUpdatesRequest(inCpy) 3647 req.SetContext(ctx) 3648 req.ApplyOptions(opts...) 3649 return req, nil 3650 }, 3651 } 3652 3653 cont := true 3654 for p.Next() && cont { 3655 cont = fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) 3656 } 3657 return p.Err() 3658} 3659 3660const opDescribeSnapshots = "DescribeSnapshots" 3661 3662// DescribeSnapshotsRequest generates a "aws/request.Request" representing the 3663// client's request for the DescribeSnapshots operation. The "output" return 3664// value will be populated with the request's response once the request completes 3665// successfully. 3666// 3667// Use "Send" method on the returned Request to send the API call to the service. 3668// the "output" return value is not valid until after Send returns without error. 3669// 3670// See DescribeSnapshots for more information on using the DescribeSnapshots 3671// API call, and error handling. 3672// 3673// This method is useful when you want to inject custom logic or configuration 3674// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3675// 3676// 3677// // Example sending a request using the DescribeSnapshotsRequest method. 3678// req, resp := client.DescribeSnapshotsRequest(params) 3679// 3680// err := req.Send() 3681// if err == nil { // resp is now filled 3682// fmt.Println(resp) 3683// } 3684// 3685// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 3686func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { 3687 op := &request.Operation{ 3688 Name: opDescribeSnapshots, 3689 HTTPMethod: "POST", 3690 HTTPPath: "/", 3691 Paginator: &request.Paginator{ 3692 InputTokens: []string{"Marker"}, 3693 OutputTokens: []string{"Marker"}, 3694 LimitToken: "MaxRecords", 3695 TruncationToken: "", 3696 }, 3697 } 3698 3699 if input == nil { 3700 input = &DescribeSnapshotsInput{} 3701 } 3702 3703 output = &DescribeSnapshotsOutput{} 3704 req = c.newRequest(op, input, output) 3705 return 3706} 3707 3708// DescribeSnapshots API operation for Amazon ElastiCache. 3709// 3710// Returns information about cluster or replication group snapshots. By default, 3711// DescribeSnapshots lists all of your snapshots; it can optionally describe 3712// a single snapshot, or just the snapshots associated with a particular cache 3713// cluster. 3714// 3715// This operation is valid for Redis only. 3716// 3717// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3718// with awserr.Error's Code and Message methods to get detailed information about 3719// the error. 3720// 3721// See the AWS API reference guide for Amazon ElastiCache's 3722// API operation DescribeSnapshots for usage and error information. 3723// 3724// Returned Error Codes: 3725// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 3726// The requested cluster ID does not refer to an existing cluster. 3727// 3728// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 3729// The requested snapshot name does not refer to an existing snapshot. 3730// 3731// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3732// The value for a parameter is invalid. 3733// 3734// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3735// Two or more incompatible parameters were specified. 3736// 3737// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 3738func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { 3739 req, out := c.DescribeSnapshotsRequest(input) 3740 return out, req.Send() 3741} 3742 3743// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of 3744// the ability to pass a context and additional request options. 3745// 3746// See DescribeSnapshots for details on how to use this API operation. 3747// 3748// The context must be non-nil and will be used for request cancellation. If 3749// the context is nil a panic will occur. In the future the SDK may create 3750// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3751// for more information on using Contexts. 3752func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { 3753 req, out := c.DescribeSnapshotsRequest(input) 3754 req.SetContext(ctx) 3755 req.ApplyOptions(opts...) 3756 return out, req.Send() 3757} 3758 3759// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, 3760// calling the "fn" function with the response data for each page. To stop 3761// iterating, return false from the fn function. 3762// 3763// See DescribeSnapshots method for more information on how to use this operation. 3764// 3765// Note: This operation can generate multiple requests to a service. 3766// 3767// // Example iterating over at most 3 pages of a DescribeSnapshots operation. 3768// pageNum := 0 3769// err := client.DescribeSnapshotsPages(params, 3770// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { 3771// pageNum++ 3772// fmt.Println(page) 3773// return pageNum <= 3 3774// }) 3775// 3776func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { 3777 return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 3778} 3779 3780// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except 3781// it takes a Context and allows setting request options on the pages. 3782// 3783// The context must be non-nil and will be used for request cancellation. If 3784// the context is nil a panic will occur. In the future the SDK may create 3785// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3786// for more information on using Contexts. 3787func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { 3788 p := request.Pagination{ 3789 NewRequest: func() (*request.Request, error) { 3790 var inCpy *DescribeSnapshotsInput 3791 if input != nil { 3792 tmp := *input 3793 inCpy = &tmp 3794 } 3795 req, _ := c.DescribeSnapshotsRequest(inCpy) 3796 req.SetContext(ctx) 3797 req.ApplyOptions(opts...) 3798 return req, nil 3799 }, 3800 } 3801 3802 cont := true 3803 for p.Next() && cont { 3804 cont = fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) 3805 } 3806 return p.Err() 3807} 3808 3809const opDescribeUpdateActions = "DescribeUpdateActions" 3810 3811// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the 3812// client's request for the DescribeUpdateActions operation. The "output" return 3813// value will be populated with the request's response once the request completes 3814// successfully. 3815// 3816// Use "Send" method on the returned Request to send the API call to the service. 3817// the "output" return value is not valid until after Send returns without error. 3818// 3819// See DescribeUpdateActions for more information on using the DescribeUpdateActions 3820// API call, and error handling. 3821// 3822// This method is useful when you want to inject custom logic or configuration 3823// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3824// 3825// 3826// // Example sending a request using the DescribeUpdateActionsRequest method. 3827// req, resp := client.DescribeUpdateActionsRequest(params) 3828// 3829// err := req.Send() 3830// if err == nil { // resp is now filled 3831// fmt.Println(resp) 3832// } 3833// 3834// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 3835func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { 3836 op := &request.Operation{ 3837 Name: opDescribeUpdateActions, 3838 HTTPMethod: "POST", 3839 HTTPPath: "/", 3840 Paginator: &request.Paginator{ 3841 InputTokens: []string{"Marker"}, 3842 OutputTokens: []string{"Marker"}, 3843 LimitToken: "MaxRecords", 3844 TruncationToken: "", 3845 }, 3846 } 3847 3848 if input == nil { 3849 input = &DescribeUpdateActionsInput{} 3850 } 3851 3852 output = &DescribeUpdateActionsOutput{} 3853 req = c.newRequest(op, input, output) 3854 return 3855} 3856 3857// DescribeUpdateActions API operation for Amazon ElastiCache. 3858// 3859// Returns details of the update actions 3860// 3861// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3862// with awserr.Error's Code and Message methods to get detailed information about 3863// the error. 3864// 3865// See the AWS API reference guide for Amazon ElastiCache's 3866// API operation DescribeUpdateActions for usage and error information. 3867// 3868// Returned Error Codes: 3869// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3870// The value for a parameter is invalid. 3871// 3872// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3873// Two or more incompatible parameters were specified. 3874// 3875// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 3876func (c *ElastiCache) DescribeUpdateActions(input *DescribeUpdateActionsInput) (*DescribeUpdateActionsOutput, error) { 3877 req, out := c.DescribeUpdateActionsRequest(input) 3878 return out, req.Send() 3879} 3880 3881// DescribeUpdateActionsWithContext is the same as DescribeUpdateActions with the addition of 3882// the ability to pass a context and additional request options. 3883// 3884// See DescribeUpdateActions for details on how to use this API operation. 3885// 3886// The context must be non-nil and will be used for request cancellation. If 3887// the context is nil a panic will occur. In the future the SDK may create 3888// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3889// for more information on using Contexts. 3890func (c *ElastiCache) DescribeUpdateActionsWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, opts ...request.Option) (*DescribeUpdateActionsOutput, error) { 3891 req, out := c.DescribeUpdateActionsRequest(input) 3892 req.SetContext(ctx) 3893 req.ApplyOptions(opts...) 3894 return out, req.Send() 3895} 3896 3897// DescribeUpdateActionsPages iterates over the pages of a DescribeUpdateActions operation, 3898// calling the "fn" function with the response data for each page. To stop 3899// iterating, return false from the fn function. 3900// 3901// See DescribeUpdateActions method for more information on how to use this operation. 3902// 3903// Note: This operation can generate multiple requests to a service. 3904// 3905// // Example iterating over at most 3 pages of a DescribeUpdateActions operation. 3906// pageNum := 0 3907// err := client.DescribeUpdateActionsPages(params, 3908// func(page *elasticache.DescribeUpdateActionsOutput, lastPage bool) bool { 3909// pageNum++ 3910// fmt.Println(page) 3911// return pageNum <= 3 3912// }) 3913// 3914func (c *ElastiCache) DescribeUpdateActionsPages(input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool) error { 3915 return c.DescribeUpdateActionsPagesWithContext(aws.BackgroundContext(), input, fn) 3916} 3917 3918// DescribeUpdateActionsPagesWithContext same as DescribeUpdateActionsPages except 3919// it takes a Context and allows setting request options on the pages. 3920// 3921// The context must be non-nil and will be used for request cancellation. If 3922// the context is nil a panic will occur. In the future the SDK may create 3923// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3924// for more information on using Contexts. 3925func (c *ElastiCache) DescribeUpdateActionsPagesWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool, opts ...request.Option) error { 3926 p := request.Pagination{ 3927 NewRequest: func() (*request.Request, error) { 3928 var inCpy *DescribeUpdateActionsInput 3929 if input != nil { 3930 tmp := *input 3931 inCpy = &tmp 3932 } 3933 req, _ := c.DescribeUpdateActionsRequest(inCpy) 3934 req.SetContext(ctx) 3935 req.ApplyOptions(opts...) 3936 return req, nil 3937 }, 3938 } 3939 3940 cont := true 3941 for p.Next() && cont { 3942 cont = fn(p.Page().(*DescribeUpdateActionsOutput), !p.HasNextPage()) 3943 } 3944 return p.Err() 3945} 3946 3947const opIncreaseReplicaCount = "IncreaseReplicaCount" 3948 3949// IncreaseReplicaCountRequest generates a "aws/request.Request" representing the 3950// client's request for the IncreaseReplicaCount operation. The "output" return 3951// value will be populated with the request's response once the request completes 3952// successfully. 3953// 3954// Use "Send" method on the returned Request to send the API call to the service. 3955// the "output" return value is not valid until after Send returns without error. 3956// 3957// See IncreaseReplicaCount for more information on using the IncreaseReplicaCount 3958// API call, and error handling. 3959// 3960// This method is useful when you want to inject custom logic or configuration 3961// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3962// 3963// 3964// // Example sending a request using the IncreaseReplicaCountRequest method. 3965// req, resp := client.IncreaseReplicaCountRequest(params) 3966// 3967// err := req.Send() 3968// if err == nil { // resp is now filled 3969// fmt.Println(resp) 3970// } 3971// 3972// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 3973func (c *ElastiCache) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) (req *request.Request, output *IncreaseReplicaCountOutput) { 3974 op := &request.Operation{ 3975 Name: opIncreaseReplicaCount, 3976 HTTPMethod: "POST", 3977 HTTPPath: "/", 3978 } 3979 3980 if input == nil { 3981 input = &IncreaseReplicaCountInput{} 3982 } 3983 3984 output = &IncreaseReplicaCountOutput{} 3985 req = c.newRequest(op, input, output) 3986 return 3987} 3988 3989// IncreaseReplicaCount API operation for Amazon ElastiCache. 3990// 3991// Dynamically increases the number of replics in a Redis (cluster mode disabled) 3992// replication group or the number of replica nodes in one or more node groups 3993// (shards) of a Redis (cluster mode enabled) replication group. This operation 3994// is performed with no cluster down time. 3995// 3996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3997// with awserr.Error's Code and Message methods to get detailed information about 3998// the error. 3999// 4000// See the AWS API reference guide for Amazon ElastiCache's 4001// API operation IncreaseReplicaCount for usage and error information. 4002// 4003// Returned Error Codes: 4004// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4005// The specified replication group does not exist. 4006// 4007// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4008// The requested replication group is not in the available state. 4009// 4010// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4011// The requested cluster is not in the available state. 4012// 4013// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4014// The VPC network is in an invalid state. 4015// 4016// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4017// The requested cache node type is not available in the specified Availability 4018// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4019// in the ElastiCache User Guide. 4020// 4021// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 4022// The request cannot be processed because it would exceed the allowed number 4023// of clusters per customer. 4024// 4025// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 4026// The request cannot be processed because it would exceed the maximum allowed 4027// number of node groups (shards) in a single replication group. The default 4028// maximum is 90 4029// 4030// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4031// The request cannot be processed because it would exceed the allowed number 4032// of cache nodes per customer. 4033// 4034// * ErrCodeNoOperationFault "NoOperationFault" 4035// The operation was not performed because no changes were required. 4036// 4037// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4038// The value for a parameter is invalid. 4039// 4040// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4041// Two or more incompatible parameters were specified. 4042// 4043// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4044func (c *ElastiCache) IncreaseReplicaCount(input *IncreaseReplicaCountInput) (*IncreaseReplicaCountOutput, error) { 4045 req, out := c.IncreaseReplicaCountRequest(input) 4046 return out, req.Send() 4047} 4048 4049// IncreaseReplicaCountWithContext is the same as IncreaseReplicaCount with the addition of 4050// the ability to pass a context and additional request options. 4051// 4052// See IncreaseReplicaCount for details on how to use this API operation. 4053// 4054// The context must be non-nil and will be used for request cancellation. If 4055// the context is nil a panic will occur. In the future the SDK may create 4056// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4057// for more information on using Contexts. 4058func (c *ElastiCache) IncreaseReplicaCountWithContext(ctx aws.Context, input *IncreaseReplicaCountInput, opts ...request.Option) (*IncreaseReplicaCountOutput, error) { 4059 req, out := c.IncreaseReplicaCountRequest(input) 4060 req.SetContext(ctx) 4061 req.ApplyOptions(opts...) 4062 return out, req.Send() 4063} 4064 4065const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" 4066 4067// ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the 4068// client's request for the ListAllowedNodeTypeModifications operation. The "output" return 4069// value will be populated with the request's response once the request completes 4070// successfully. 4071// 4072// Use "Send" method on the returned Request to send the API call to the service. 4073// the "output" return value is not valid until after Send returns without error. 4074// 4075// See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications 4076// API call, and error handling. 4077// 4078// This method is useful when you want to inject custom logic or configuration 4079// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4080// 4081// 4082// // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. 4083// req, resp := client.ListAllowedNodeTypeModificationsRequest(params) 4084// 4085// err := req.Send() 4086// if err == nil { // resp is now filled 4087// fmt.Println(resp) 4088// } 4089// 4090// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4091func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { 4092 op := &request.Operation{ 4093 Name: opListAllowedNodeTypeModifications, 4094 HTTPMethod: "POST", 4095 HTTPPath: "/", 4096 } 4097 4098 if input == nil { 4099 input = &ListAllowedNodeTypeModificationsInput{} 4100 } 4101 4102 output = &ListAllowedNodeTypeModificationsOutput{} 4103 req = c.newRequest(op, input, output) 4104 return 4105} 4106 4107// ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. 4108// 4109// Lists all available node types that you can scale your Redis cluster's or 4110// replication group's current node type up to. 4111// 4112// When you use the ModifyCacheCluster or ModifyReplicationGroup operations 4113// to scale up your cluster or replication group, the value of the CacheNodeType 4114// parameter must be one of the node types returned by this operation. 4115// 4116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4117// with awserr.Error's Code and Message methods to get detailed information about 4118// the error. 4119// 4120// See the AWS API reference guide for Amazon ElastiCache's 4121// API operation ListAllowedNodeTypeModifications for usage and error information. 4122// 4123// Returned Error Codes: 4124// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4125// The requested cluster ID does not refer to an existing cluster. 4126// 4127// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4128// The specified replication group does not exist. 4129// 4130// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4131// Two or more incompatible parameters were specified. 4132// 4133// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4134// The value for a parameter is invalid. 4135// 4136// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4137func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { 4138 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4139 return out, req.Send() 4140} 4141 4142// ListAllowedNodeTypeModificationsWithContext is the same as ListAllowedNodeTypeModifications with the addition of 4143// the ability to pass a context and additional request options. 4144// 4145// See ListAllowedNodeTypeModifications for details on how to use this API operation. 4146// 4147// The context must be non-nil and will be used for request cancellation. If 4148// the context is nil a panic will occur. In the future the SDK may create 4149// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4150// for more information on using Contexts. 4151func (c *ElastiCache) ListAllowedNodeTypeModificationsWithContext(ctx aws.Context, input *ListAllowedNodeTypeModificationsInput, opts ...request.Option) (*ListAllowedNodeTypeModificationsOutput, error) { 4152 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4153 req.SetContext(ctx) 4154 req.ApplyOptions(opts...) 4155 return out, req.Send() 4156} 4157 4158const opListTagsForResource = "ListTagsForResource" 4159 4160// ListTagsForResourceRequest generates a "aws/request.Request" representing the 4161// client's request for the ListTagsForResource operation. The "output" return 4162// value will be populated with the request's response once the request completes 4163// successfully. 4164// 4165// Use "Send" method on the returned Request to send the API call to the service. 4166// the "output" return value is not valid until after Send returns without error. 4167// 4168// See ListTagsForResource for more information on using the ListTagsForResource 4169// API call, and error handling. 4170// 4171// This method is useful when you want to inject custom logic or configuration 4172// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4173// 4174// 4175// // Example sending a request using the ListTagsForResourceRequest method. 4176// req, resp := client.ListTagsForResourceRequest(params) 4177// 4178// err := req.Send() 4179// if err == nil { // resp is now filled 4180// fmt.Println(resp) 4181// } 4182// 4183// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 4184func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { 4185 op := &request.Operation{ 4186 Name: opListTagsForResource, 4187 HTTPMethod: "POST", 4188 HTTPPath: "/", 4189 } 4190 4191 if input == nil { 4192 input = &ListTagsForResourceInput{} 4193 } 4194 4195 output = &TagListMessage{} 4196 req = c.newRequest(op, input, output) 4197 return 4198} 4199 4200// ListTagsForResource API operation for Amazon ElastiCache. 4201// 4202// Lists all cost allocation tags currently on the named resource. A cost allocation 4203// tag is a key-value pair where the key is case-sensitive and the value is 4204// optional. You can use cost allocation tags to categorize and track your AWS 4205// costs. 4206// 4207// If the cluster is not in the available state, ListTagsForResource returns 4208// an error. 4209// 4210// You can have a maximum of 50 cost allocation tags on an ElastiCache resource. 4211// For more information, see Monitoring Costs with Tags (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html). 4212// 4213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4214// with awserr.Error's Code and Message methods to get detailed information about 4215// the error. 4216// 4217// See the AWS API reference guide for Amazon ElastiCache's 4218// API operation ListTagsForResource for usage and error information. 4219// 4220// Returned Error Codes: 4221// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4222// The requested cluster ID does not refer to an existing cluster. 4223// 4224// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 4225// The requested snapshot name does not refer to an existing snapshot. 4226// 4227// * ErrCodeInvalidARNFault "InvalidARN" 4228// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 4229// 4230// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 4231func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { 4232 req, out := c.ListTagsForResourceRequest(input) 4233 return out, req.Send() 4234} 4235 4236// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 4237// the ability to pass a context and additional request options. 4238// 4239// See ListTagsForResource for details on how to use this API operation. 4240// 4241// The context must be non-nil and will be used for request cancellation. If 4242// the context is nil a panic will occur. In the future the SDK may create 4243// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4244// for more information on using Contexts. 4245func (c *ElastiCache) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*TagListMessage, error) { 4246 req, out := c.ListTagsForResourceRequest(input) 4247 req.SetContext(ctx) 4248 req.ApplyOptions(opts...) 4249 return out, req.Send() 4250} 4251 4252const opModifyCacheCluster = "ModifyCacheCluster" 4253 4254// ModifyCacheClusterRequest generates a "aws/request.Request" representing the 4255// client's request for the ModifyCacheCluster operation. The "output" return 4256// value will be populated with the request's response once the request completes 4257// successfully. 4258// 4259// Use "Send" method on the returned Request to send the API call to the service. 4260// the "output" return value is not valid until after Send returns without error. 4261// 4262// See ModifyCacheCluster for more information on using the ModifyCacheCluster 4263// API call, and error handling. 4264// 4265// This method is useful when you want to inject custom logic or configuration 4266// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4267// 4268// 4269// // Example sending a request using the ModifyCacheClusterRequest method. 4270// req, resp := client.ModifyCacheClusterRequest(params) 4271// 4272// err := req.Send() 4273// if err == nil { // resp is now filled 4274// fmt.Println(resp) 4275// } 4276// 4277// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 4278func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { 4279 op := &request.Operation{ 4280 Name: opModifyCacheCluster, 4281 HTTPMethod: "POST", 4282 HTTPPath: "/", 4283 } 4284 4285 if input == nil { 4286 input = &ModifyCacheClusterInput{} 4287 } 4288 4289 output = &ModifyCacheClusterOutput{} 4290 req = c.newRequest(op, input, output) 4291 return 4292} 4293 4294// ModifyCacheCluster API operation for Amazon ElastiCache. 4295// 4296// Modifies the settings for a cluster. You can use this operation to change 4297// one or more cluster configuration parameters by specifying the parameters 4298// and the new values. 4299// 4300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4301// with awserr.Error's Code and Message methods to get detailed information about 4302// the error. 4303// 4304// See the AWS API reference guide for Amazon ElastiCache's 4305// API operation ModifyCacheCluster for usage and error information. 4306// 4307// Returned Error Codes: 4308// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4309// The requested cluster is not in the available state. 4310// 4311// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 4312// The current state of the cache security group does not allow deletion. 4313// 4314// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4315// The requested cache node type is not available in the specified Availability 4316// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4317// in the ElastiCache User Guide. 4318// 4319// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4320// The requested cluster ID does not refer to an existing cluster. 4321// 4322// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 4323// The request cannot be processed because it would exceed the allowed number 4324// of cache nodes in a single cluster. 4325// 4326// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4327// The request cannot be processed because it would exceed the allowed number 4328// of cache nodes per customer. 4329// 4330// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 4331// The requested cache security group name does not refer to an existing cache 4332// security group. 4333// 4334// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 4335// The requested cache parameter group name does not refer to an existing cache 4336// parameter group. 4337// 4338// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4339// The VPC network is in an invalid state. 4340// 4341// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4342// The value for a parameter is invalid. 4343// 4344// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4345// Two or more incompatible parameters were specified. 4346// 4347// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 4348func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { 4349 req, out := c.ModifyCacheClusterRequest(input) 4350 return out, req.Send() 4351} 4352 4353// ModifyCacheClusterWithContext is the same as ModifyCacheCluster with the addition of 4354// the ability to pass a context and additional request options. 4355// 4356// See ModifyCacheCluster for details on how to use this API operation. 4357// 4358// The context must be non-nil and will be used for request cancellation. If 4359// the context is nil a panic will occur. In the future the SDK may create 4360// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4361// for more information on using Contexts. 4362func (c *ElastiCache) ModifyCacheClusterWithContext(ctx aws.Context, input *ModifyCacheClusterInput, opts ...request.Option) (*ModifyCacheClusterOutput, error) { 4363 req, out := c.ModifyCacheClusterRequest(input) 4364 req.SetContext(ctx) 4365 req.ApplyOptions(opts...) 4366 return out, req.Send() 4367} 4368 4369const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" 4370 4371// ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the 4372// client's request for the ModifyCacheParameterGroup operation. The "output" return 4373// value will be populated with the request's response once the request completes 4374// successfully. 4375// 4376// Use "Send" method on the returned Request to send the API call to the service. 4377// the "output" return value is not valid until after Send returns without error. 4378// 4379// See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup 4380// API call, and error handling. 4381// 4382// This method is useful when you want to inject custom logic or configuration 4383// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4384// 4385// 4386// // Example sending a request using the ModifyCacheParameterGroupRequest method. 4387// req, resp := client.ModifyCacheParameterGroupRequest(params) 4388// 4389// err := req.Send() 4390// if err == nil { // resp is now filled 4391// fmt.Println(resp) 4392// } 4393// 4394// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 4395func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 4396 op := &request.Operation{ 4397 Name: opModifyCacheParameterGroup, 4398 HTTPMethod: "POST", 4399 HTTPPath: "/", 4400 } 4401 4402 if input == nil { 4403 input = &ModifyCacheParameterGroupInput{} 4404 } 4405 4406 output = &CacheParameterGroupNameMessage{} 4407 req = c.newRequest(op, input, output) 4408 return 4409} 4410 4411// ModifyCacheParameterGroup API operation for Amazon ElastiCache. 4412// 4413// Modifies the parameters of a cache parameter group. You can modify up to 4414// 20 parameters in a single request by submitting a list parameter name and 4415// value pairs. 4416// 4417// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4418// with awserr.Error's Code and Message methods to get detailed information about 4419// the error. 4420// 4421// See the AWS API reference guide for Amazon ElastiCache's 4422// API operation ModifyCacheParameterGroup for usage and error information. 4423// 4424// Returned Error Codes: 4425// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 4426// The requested cache parameter group name does not refer to an existing cache 4427// parameter group. 4428// 4429// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 4430// The current state of the cache parameter group does not allow the requested 4431// operation to occur. 4432// 4433// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4434// The value for a parameter is invalid. 4435// 4436// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4437// Two or more incompatible parameters were specified. 4438// 4439// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 4440func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 4441 req, out := c.ModifyCacheParameterGroupRequest(input) 4442 return out, req.Send() 4443} 4444 4445// ModifyCacheParameterGroupWithContext is the same as ModifyCacheParameterGroup with the addition of 4446// the ability to pass a context and additional request options. 4447// 4448// See ModifyCacheParameterGroup for details on how to use this API operation. 4449// 4450// The context must be non-nil and will be used for request cancellation. If 4451// the context is nil a panic will occur. In the future the SDK may create 4452// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4453// for more information on using Contexts. 4454func (c *ElastiCache) ModifyCacheParameterGroupWithContext(ctx aws.Context, input *ModifyCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 4455 req, out := c.ModifyCacheParameterGroupRequest(input) 4456 req.SetContext(ctx) 4457 req.ApplyOptions(opts...) 4458 return out, req.Send() 4459} 4460 4461const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" 4462 4463// ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the 4464// client's request for the ModifyCacheSubnetGroup operation. The "output" return 4465// value will be populated with the request's response once the request completes 4466// successfully. 4467// 4468// Use "Send" method on the returned Request to send the API call to the service. 4469// the "output" return value is not valid until after Send returns without error. 4470// 4471// See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup 4472// API call, and error handling. 4473// 4474// This method is useful when you want to inject custom logic or configuration 4475// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4476// 4477// 4478// // Example sending a request using the ModifyCacheSubnetGroupRequest method. 4479// req, resp := client.ModifyCacheSubnetGroupRequest(params) 4480// 4481// err := req.Send() 4482// if err == nil { // resp is now filled 4483// fmt.Println(resp) 4484// } 4485// 4486// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 4487func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { 4488 op := &request.Operation{ 4489 Name: opModifyCacheSubnetGroup, 4490 HTTPMethod: "POST", 4491 HTTPPath: "/", 4492 } 4493 4494 if input == nil { 4495 input = &ModifyCacheSubnetGroupInput{} 4496 } 4497 4498 output = &ModifyCacheSubnetGroupOutput{} 4499 req = c.newRequest(op, input, output) 4500 return 4501} 4502 4503// ModifyCacheSubnetGroup API operation for Amazon ElastiCache. 4504// 4505// Modifies an existing cache subnet group. 4506// 4507// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4508// with awserr.Error's Code and Message methods to get detailed information about 4509// the error. 4510// 4511// See the AWS API reference guide for Amazon ElastiCache's 4512// API operation ModifyCacheSubnetGroup for usage and error information. 4513// 4514// Returned Error Codes: 4515// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 4516// The requested cache subnet group name does not refer to an existing cache 4517// subnet group. 4518// 4519// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 4520// The request cannot be processed because it would exceed the allowed number 4521// of subnets in a cache subnet group. 4522// 4523// * ErrCodeSubnetInUse "SubnetInUse" 4524// The requested subnet is being used by another cache subnet group. 4525// 4526// * ErrCodeInvalidSubnet "InvalidSubnet" 4527// An invalid subnet identifier was specified. 4528// 4529// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 4530func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { 4531 req, out := c.ModifyCacheSubnetGroupRequest(input) 4532 return out, req.Send() 4533} 4534 4535// ModifyCacheSubnetGroupWithContext is the same as ModifyCacheSubnetGroup with the addition of 4536// the ability to pass a context and additional request options. 4537// 4538// See ModifyCacheSubnetGroup for details on how to use this API operation. 4539// 4540// The context must be non-nil and will be used for request cancellation. If 4541// the context is nil a panic will occur. In the future the SDK may create 4542// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4543// for more information on using Contexts. 4544func (c *ElastiCache) ModifyCacheSubnetGroupWithContext(ctx aws.Context, input *ModifyCacheSubnetGroupInput, opts ...request.Option) (*ModifyCacheSubnetGroupOutput, error) { 4545 req, out := c.ModifyCacheSubnetGroupRequest(input) 4546 req.SetContext(ctx) 4547 req.ApplyOptions(opts...) 4548 return out, req.Send() 4549} 4550 4551const opModifyReplicationGroup = "ModifyReplicationGroup" 4552 4553// ModifyReplicationGroupRequest generates a "aws/request.Request" representing the 4554// client's request for the ModifyReplicationGroup operation. The "output" return 4555// value will be populated with the request's response once the request completes 4556// successfully. 4557// 4558// Use "Send" method on the returned Request to send the API call to the service. 4559// the "output" return value is not valid until after Send returns without error. 4560// 4561// See ModifyReplicationGroup for more information on using the ModifyReplicationGroup 4562// API call, and error handling. 4563// 4564// This method is useful when you want to inject custom logic or configuration 4565// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4566// 4567// 4568// // Example sending a request using the ModifyReplicationGroupRequest method. 4569// req, resp := client.ModifyReplicationGroupRequest(params) 4570// 4571// err := req.Send() 4572// if err == nil { // resp is now filled 4573// fmt.Println(resp) 4574// } 4575// 4576// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 4577func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { 4578 op := &request.Operation{ 4579 Name: opModifyReplicationGroup, 4580 HTTPMethod: "POST", 4581 HTTPPath: "/", 4582 } 4583 4584 if input == nil { 4585 input = &ModifyReplicationGroupInput{} 4586 } 4587 4588 output = &ModifyReplicationGroupOutput{} 4589 req = c.newRequest(op, input, output) 4590 return 4591} 4592 4593// ModifyReplicationGroup API operation for Amazon ElastiCache. 4594// 4595// Modifies the settings for a replication group. 4596// 4597// For Redis (cluster mode enabled) clusters, this operation cannot be used 4598// to change a cluster's node type or engine version. For more information, 4599// see: 4600// 4601// * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) 4602// in the ElastiCache User Guide 4603// 4604// * ModifyReplicationGroupShardConfiguration (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) 4605// in the ElastiCache API Reference 4606// 4607// This operation is valid for Redis only. 4608// 4609// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4610// with awserr.Error's Code and Message methods to get detailed information about 4611// the error. 4612// 4613// See the AWS API reference guide for Amazon ElastiCache's 4614// API operation ModifyReplicationGroup for usage and error information. 4615// 4616// Returned Error Codes: 4617// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4618// The specified replication group does not exist. 4619// 4620// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4621// The requested replication group is not in the available state. 4622// 4623// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4624// The requested cluster is not in the available state. 4625// 4626// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 4627// The current state of the cache security group does not allow deletion. 4628// 4629// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4630// The requested cache node type is not available in the specified Availability 4631// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4632// in the ElastiCache User Guide. 4633// 4634// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4635// The requested cluster ID does not refer to an existing cluster. 4636// 4637// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 4638// The request cannot be processed because it would exceed the allowed number 4639// of cache nodes in a single cluster. 4640// 4641// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4642// The request cannot be processed because it would exceed the allowed number 4643// of cache nodes per customer. 4644// 4645// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 4646// The requested cache security group name does not refer to an existing cache 4647// security group. 4648// 4649// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 4650// The requested cache parameter group name does not refer to an existing cache 4651// parameter group. 4652// 4653// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4654// The VPC network is in an invalid state. 4655// 4656// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4657// The value for a parameter is invalid. 4658// 4659// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4660// Two or more incompatible parameters were specified. 4661// 4662// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 4663func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { 4664 req, out := c.ModifyReplicationGroupRequest(input) 4665 return out, req.Send() 4666} 4667 4668// ModifyReplicationGroupWithContext is the same as ModifyReplicationGroup with the addition of 4669// the ability to pass a context and additional request options. 4670// 4671// See ModifyReplicationGroup for details on how to use this API operation. 4672// 4673// The context must be non-nil and will be used for request cancellation. If 4674// the context is nil a panic will occur. In the future the SDK may create 4675// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4676// for more information on using Contexts. 4677func (c *ElastiCache) ModifyReplicationGroupWithContext(ctx aws.Context, input *ModifyReplicationGroupInput, opts ...request.Option) (*ModifyReplicationGroupOutput, error) { 4678 req, out := c.ModifyReplicationGroupRequest(input) 4679 req.SetContext(ctx) 4680 req.ApplyOptions(opts...) 4681 return out, req.Send() 4682} 4683 4684const opModifyReplicationGroupShardConfiguration = "ModifyReplicationGroupShardConfiguration" 4685 4686// ModifyReplicationGroupShardConfigurationRequest generates a "aws/request.Request" representing the 4687// client's request for the ModifyReplicationGroupShardConfiguration operation. The "output" return 4688// value will be populated with the request's response once the request completes 4689// successfully. 4690// 4691// Use "Send" method on the returned Request to send the API call to the service. 4692// the "output" return value is not valid until after Send returns without error. 4693// 4694// See ModifyReplicationGroupShardConfiguration for more information on using the ModifyReplicationGroupShardConfiguration 4695// API call, and error handling. 4696// 4697// This method is useful when you want to inject custom logic or configuration 4698// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4699// 4700// 4701// // Example sending a request using the ModifyReplicationGroupShardConfigurationRequest method. 4702// req, resp := client.ModifyReplicationGroupShardConfigurationRequest(params) 4703// 4704// err := req.Send() 4705// if err == nil { // resp is now filled 4706// fmt.Println(resp) 4707// } 4708// 4709// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 4710func (c *ElastiCache) ModifyReplicationGroupShardConfigurationRequest(input *ModifyReplicationGroupShardConfigurationInput) (req *request.Request, output *ModifyReplicationGroupShardConfigurationOutput) { 4711 op := &request.Operation{ 4712 Name: opModifyReplicationGroupShardConfiguration, 4713 HTTPMethod: "POST", 4714 HTTPPath: "/", 4715 } 4716 4717 if input == nil { 4718 input = &ModifyReplicationGroupShardConfigurationInput{} 4719 } 4720 4721 output = &ModifyReplicationGroupShardConfigurationOutput{} 4722 req = c.newRequest(op, input, output) 4723 return 4724} 4725 4726// ModifyReplicationGroupShardConfiguration API operation for Amazon ElastiCache. 4727// 4728// Modifies a replication group's shards (node groups) by allowing you to add 4729// shards, remove shards, or rebalance the keyspaces among exisiting shards. 4730// 4731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4732// with awserr.Error's Code and Message methods to get detailed information about 4733// the error. 4734// 4735// See the AWS API reference guide for Amazon ElastiCache's 4736// API operation ModifyReplicationGroupShardConfiguration for usage and error information. 4737// 4738// Returned Error Codes: 4739// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4740// The specified replication group does not exist. 4741// 4742// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4743// The requested replication group is not in the available state. 4744// 4745// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4746// The requested cluster is not in the available state. 4747// 4748// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4749// The VPC network is in an invalid state. 4750// 4751// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4752// The requested cache node type is not available in the specified Availability 4753// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4754// in the ElastiCache User Guide. 4755// 4756// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 4757// The request cannot be processed because it would exceed the maximum allowed 4758// number of node groups (shards) in a single replication group. The default 4759// maximum is 90 4760// 4761// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4762// The request cannot be processed because it would exceed the allowed number 4763// of cache nodes per customer. 4764// 4765// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4766// The value for a parameter is invalid. 4767// 4768// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4769// Two or more incompatible parameters were specified. 4770// 4771// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 4772func (c *ElastiCache) ModifyReplicationGroupShardConfiguration(input *ModifyReplicationGroupShardConfigurationInput) (*ModifyReplicationGroupShardConfigurationOutput, error) { 4773 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 4774 return out, req.Send() 4775} 4776 4777// ModifyReplicationGroupShardConfigurationWithContext is the same as ModifyReplicationGroupShardConfiguration with the addition of 4778// the ability to pass a context and additional request options. 4779// 4780// See ModifyReplicationGroupShardConfiguration for details on how to use this API operation. 4781// 4782// The context must be non-nil and will be used for request cancellation. If 4783// the context is nil a panic will occur. In the future the SDK may create 4784// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4785// for more information on using Contexts. 4786func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aws.Context, input *ModifyReplicationGroupShardConfigurationInput, opts ...request.Option) (*ModifyReplicationGroupShardConfigurationOutput, error) { 4787 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 4788 req.SetContext(ctx) 4789 req.ApplyOptions(opts...) 4790 return out, req.Send() 4791} 4792 4793const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" 4794 4795// PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the 4796// client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return 4797// value will be populated with the request's response once the request completes 4798// successfully. 4799// 4800// Use "Send" method on the returned Request to send the API call to the service. 4801// the "output" return value is not valid until after Send returns without error. 4802// 4803// See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering 4804// API call, and error handling. 4805// 4806// This method is useful when you want to inject custom logic or configuration 4807// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4808// 4809// 4810// // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. 4811// req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) 4812// 4813// err := req.Send() 4814// if err == nil { // resp is now filled 4815// fmt.Println(resp) 4816// } 4817// 4818// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 4819func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { 4820 op := &request.Operation{ 4821 Name: opPurchaseReservedCacheNodesOffering, 4822 HTTPMethod: "POST", 4823 HTTPPath: "/", 4824 } 4825 4826 if input == nil { 4827 input = &PurchaseReservedCacheNodesOfferingInput{} 4828 } 4829 4830 output = &PurchaseReservedCacheNodesOfferingOutput{} 4831 req = c.newRequest(op, input, output) 4832 return 4833} 4834 4835// PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. 4836// 4837// Allows you to purchase a reserved cache node offering. 4838// 4839// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4840// with awserr.Error's Code and Message methods to get detailed information about 4841// the error. 4842// 4843// See the AWS API reference guide for Amazon ElastiCache's 4844// API operation PurchaseReservedCacheNodesOffering for usage and error information. 4845// 4846// Returned Error Codes: 4847// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 4848// The requested cache node offering does not exist. 4849// 4850// * ErrCodeReservedCacheNodeAlreadyExistsFault "ReservedCacheNodeAlreadyExists" 4851// You already have a reservation with the given identifier. 4852// 4853// * ErrCodeReservedCacheNodeQuotaExceededFault "ReservedCacheNodeQuotaExceeded" 4854// The request cannot be processed because it would exceed the user's cache 4855// node quota. 4856// 4857// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4858// The value for a parameter is invalid. 4859// 4860// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4861// Two or more incompatible parameters were specified. 4862// 4863// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 4864func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { 4865 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 4866 return out, req.Send() 4867} 4868 4869// PurchaseReservedCacheNodesOfferingWithContext is the same as PurchaseReservedCacheNodesOffering with the addition of 4870// the ability to pass a context and additional request options. 4871// 4872// See PurchaseReservedCacheNodesOffering for details on how to use this API operation. 4873// 4874// The context must be non-nil and will be used for request cancellation. If 4875// the context is nil a panic will occur. In the future the SDK may create 4876// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4877// for more information on using Contexts. 4878func (c *ElastiCache) PurchaseReservedCacheNodesOfferingWithContext(ctx aws.Context, input *PurchaseReservedCacheNodesOfferingInput, opts ...request.Option) (*PurchaseReservedCacheNodesOfferingOutput, error) { 4879 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 4880 req.SetContext(ctx) 4881 req.ApplyOptions(opts...) 4882 return out, req.Send() 4883} 4884 4885const opRebootCacheCluster = "RebootCacheCluster" 4886 4887// RebootCacheClusterRequest generates a "aws/request.Request" representing the 4888// client's request for the RebootCacheCluster operation. The "output" return 4889// value will be populated with the request's response once the request completes 4890// successfully. 4891// 4892// Use "Send" method on the returned Request to send the API call to the service. 4893// the "output" return value is not valid until after Send returns without error. 4894// 4895// See RebootCacheCluster for more information on using the RebootCacheCluster 4896// API call, and error handling. 4897// 4898// This method is useful when you want to inject custom logic or configuration 4899// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4900// 4901// 4902// // Example sending a request using the RebootCacheClusterRequest method. 4903// req, resp := client.RebootCacheClusterRequest(params) 4904// 4905// err := req.Send() 4906// if err == nil { // resp is now filled 4907// fmt.Println(resp) 4908// } 4909// 4910// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 4911func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { 4912 op := &request.Operation{ 4913 Name: opRebootCacheCluster, 4914 HTTPMethod: "POST", 4915 HTTPPath: "/", 4916 } 4917 4918 if input == nil { 4919 input = &RebootCacheClusterInput{} 4920 } 4921 4922 output = &RebootCacheClusterOutput{} 4923 req = c.newRequest(op, input, output) 4924 return 4925} 4926 4927// RebootCacheCluster API operation for Amazon ElastiCache. 4928// 4929// Reboots some, or all, of the cache nodes within a provisioned cluster. This 4930// operation applies any modified cache parameter groups to the cluster. The 4931// reboot operation takes place as soon as possible, and results in a momentary 4932// outage to the cluster. During the reboot, the cluster status is set to REBOOTING. 4933// 4934// The reboot causes the contents of the cache (for each cache node being rebooted) 4935// to be lost. 4936// 4937// When the reboot is complete, a cluster event is created. 4938// 4939// Rebooting a cluster is currently supported on Memcached and Redis (cluster 4940// mode disabled) clusters. Rebooting is not supported on Redis (cluster mode 4941// enabled) clusters. 4942// 4943// If you make changes to parameters that require a Redis (cluster mode enabled) 4944// cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) 4945// for an alternate process. 4946// 4947// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4948// with awserr.Error's Code and Message methods to get detailed information about 4949// the error. 4950// 4951// See the AWS API reference guide for Amazon ElastiCache's 4952// API operation RebootCacheCluster for usage and error information. 4953// 4954// Returned Error Codes: 4955// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4956// The requested cluster is not in the available state. 4957// 4958// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4959// The requested cluster ID does not refer to an existing cluster. 4960// 4961// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 4962func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { 4963 req, out := c.RebootCacheClusterRequest(input) 4964 return out, req.Send() 4965} 4966 4967// RebootCacheClusterWithContext is the same as RebootCacheCluster with the addition of 4968// the ability to pass a context and additional request options. 4969// 4970// See RebootCacheCluster for details on how to use this API operation. 4971// 4972// The context must be non-nil and will be used for request cancellation. If 4973// the context is nil a panic will occur. In the future the SDK may create 4974// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4975// for more information on using Contexts. 4976func (c *ElastiCache) RebootCacheClusterWithContext(ctx aws.Context, input *RebootCacheClusterInput, opts ...request.Option) (*RebootCacheClusterOutput, error) { 4977 req, out := c.RebootCacheClusterRequest(input) 4978 req.SetContext(ctx) 4979 req.ApplyOptions(opts...) 4980 return out, req.Send() 4981} 4982 4983const opRemoveTagsFromResource = "RemoveTagsFromResource" 4984 4985// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the 4986// client's request for the RemoveTagsFromResource operation. The "output" return 4987// value will be populated with the request's response once the request completes 4988// successfully. 4989// 4990// Use "Send" method on the returned Request to send the API call to the service. 4991// the "output" return value is not valid until after Send returns without error. 4992// 4993// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource 4994// API call, and error handling. 4995// 4996// This method is useful when you want to inject custom logic or configuration 4997// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4998// 4999// 5000// // Example sending a request using the RemoveTagsFromResourceRequest method. 5001// req, resp := client.RemoveTagsFromResourceRequest(params) 5002// 5003// err := req.Send() 5004// if err == nil { // resp is now filled 5005// fmt.Println(resp) 5006// } 5007// 5008// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 5009func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { 5010 op := &request.Operation{ 5011 Name: opRemoveTagsFromResource, 5012 HTTPMethod: "POST", 5013 HTTPPath: "/", 5014 } 5015 5016 if input == nil { 5017 input = &RemoveTagsFromResourceInput{} 5018 } 5019 5020 output = &TagListMessage{} 5021 req = c.newRequest(op, input, output) 5022 return 5023} 5024 5025// RemoveTagsFromResource API operation for Amazon ElastiCache. 5026// 5027// Removes the tags identified by the TagKeys list from the named resource. 5028// 5029// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5030// with awserr.Error's Code and Message methods to get detailed information about 5031// the error. 5032// 5033// See the AWS API reference guide for Amazon ElastiCache's 5034// API operation RemoveTagsFromResource for usage and error information. 5035// 5036// Returned Error Codes: 5037// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5038// The requested cluster ID does not refer to an existing cluster. 5039// 5040// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 5041// The requested snapshot name does not refer to an existing snapshot. 5042// 5043// * ErrCodeInvalidARNFault "InvalidARN" 5044// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5045// 5046// * ErrCodeTagNotFoundFault "TagNotFound" 5047// The requested tag was not found on this resource. 5048// 5049// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 5050func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { 5051 req, out := c.RemoveTagsFromResourceRequest(input) 5052 return out, req.Send() 5053} 5054 5055// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of 5056// the ability to pass a context and additional request options. 5057// 5058// See RemoveTagsFromResource for details on how to use this API operation. 5059// 5060// The context must be non-nil and will be used for request cancellation. If 5061// the context is nil a panic will occur. In the future the SDK may create 5062// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5063// for more information on using Contexts. 5064func (c *ElastiCache) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*TagListMessage, error) { 5065 req, out := c.RemoveTagsFromResourceRequest(input) 5066 req.SetContext(ctx) 5067 req.ApplyOptions(opts...) 5068 return out, req.Send() 5069} 5070 5071const opResetCacheParameterGroup = "ResetCacheParameterGroup" 5072 5073// ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the 5074// client's request for the ResetCacheParameterGroup operation. The "output" return 5075// value will be populated with the request's response once the request completes 5076// successfully. 5077// 5078// Use "Send" method on the returned Request to send the API call to the service. 5079// the "output" return value is not valid until after Send returns without error. 5080// 5081// See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup 5082// API call, and error handling. 5083// 5084// This method is useful when you want to inject custom logic or configuration 5085// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5086// 5087// 5088// // Example sending a request using the ResetCacheParameterGroupRequest method. 5089// req, resp := client.ResetCacheParameterGroupRequest(params) 5090// 5091// err := req.Send() 5092// if err == nil { // resp is now filled 5093// fmt.Println(resp) 5094// } 5095// 5096// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 5097func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 5098 op := &request.Operation{ 5099 Name: opResetCacheParameterGroup, 5100 HTTPMethod: "POST", 5101 HTTPPath: "/", 5102 } 5103 5104 if input == nil { 5105 input = &ResetCacheParameterGroupInput{} 5106 } 5107 5108 output = &CacheParameterGroupNameMessage{} 5109 req = c.newRequest(op, input, output) 5110 return 5111} 5112 5113// ResetCacheParameterGroup API operation for Amazon ElastiCache. 5114// 5115// Modifies the parameters of a cache parameter group to the engine or system 5116// default value. You can reset specific parameters by submitting a list of 5117// parameter names. To reset the entire cache parameter group, specify the ResetAllParameters 5118// and CacheParameterGroupName parameters. 5119// 5120// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5121// with awserr.Error's Code and Message methods to get detailed information about 5122// the error. 5123// 5124// See the AWS API reference guide for Amazon ElastiCache's 5125// API operation ResetCacheParameterGroup for usage and error information. 5126// 5127// Returned Error Codes: 5128// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 5129// The current state of the cache parameter group does not allow the requested 5130// operation to occur. 5131// 5132// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5133// The requested cache parameter group name does not refer to an existing cache 5134// parameter group. 5135// 5136// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5137// The value for a parameter is invalid. 5138// 5139// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5140// Two or more incompatible parameters were specified. 5141// 5142// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 5143func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 5144 req, out := c.ResetCacheParameterGroupRequest(input) 5145 return out, req.Send() 5146} 5147 5148// ResetCacheParameterGroupWithContext is the same as ResetCacheParameterGroup with the addition of 5149// the ability to pass a context and additional request options. 5150// 5151// See ResetCacheParameterGroup for details on how to use this API operation. 5152// 5153// The context must be non-nil and will be used for request cancellation. If 5154// the context is nil a panic will occur. In the future the SDK may create 5155// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5156// for more information on using Contexts. 5157func (c *ElastiCache) ResetCacheParameterGroupWithContext(ctx aws.Context, input *ResetCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 5158 req, out := c.ResetCacheParameterGroupRequest(input) 5159 req.SetContext(ctx) 5160 req.ApplyOptions(opts...) 5161 return out, req.Send() 5162} 5163 5164const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" 5165 5166// RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 5167// client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return 5168// value will be populated with the request's response once the request completes 5169// successfully. 5170// 5171// Use "Send" method on the returned Request to send the API call to the service. 5172// the "output" return value is not valid until after Send returns without error. 5173// 5174// See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress 5175// API call, and error handling. 5176// 5177// This method is useful when you want to inject custom logic or configuration 5178// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5179// 5180// 5181// // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. 5182// req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) 5183// 5184// err := req.Send() 5185// if err == nil { // resp is now filled 5186// fmt.Println(resp) 5187// } 5188// 5189// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 5190func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { 5191 op := &request.Operation{ 5192 Name: opRevokeCacheSecurityGroupIngress, 5193 HTTPMethod: "POST", 5194 HTTPPath: "/", 5195 } 5196 5197 if input == nil { 5198 input = &RevokeCacheSecurityGroupIngressInput{} 5199 } 5200 5201 output = &RevokeCacheSecurityGroupIngressOutput{} 5202 req = c.newRequest(op, input, output) 5203 return 5204} 5205 5206// RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 5207// 5208// Revokes ingress from a cache security group. Use this operation to disallow 5209// access from an Amazon EC2 security group that had been previously authorized. 5210// 5211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5212// with awserr.Error's Code and Message methods to get detailed information about 5213// the error. 5214// 5215// See the AWS API reference guide for Amazon ElastiCache's 5216// API operation RevokeCacheSecurityGroupIngress for usage and error information. 5217// 5218// Returned Error Codes: 5219// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5220// The requested cache security group name does not refer to an existing cache 5221// security group. 5222// 5223// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 5224// The specified Amazon EC2 security group is not authorized for the specified 5225// cache security group. 5226// 5227// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5228// The current state of the cache security group does not allow deletion. 5229// 5230// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5231// The value for a parameter is invalid. 5232// 5233// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5234// Two or more incompatible parameters were specified. 5235// 5236// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 5237func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { 5238 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 5239 return out, req.Send() 5240} 5241 5242// RevokeCacheSecurityGroupIngressWithContext is the same as RevokeCacheSecurityGroupIngress with the addition of 5243// the ability to pass a context and additional request options. 5244// 5245// See RevokeCacheSecurityGroupIngress for details on how to use this API operation. 5246// 5247// The context must be non-nil and will be used for request cancellation. If 5248// the context is nil a panic will occur. In the future the SDK may create 5249// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5250// for more information on using Contexts. 5251func (c *ElastiCache) RevokeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeCacheSecurityGroupIngressInput, opts ...request.Option) (*RevokeCacheSecurityGroupIngressOutput, error) { 5252 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 5253 req.SetContext(ctx) 5254 req.ApplyOptions(opts...) 5255 return out, req.Send() 5256} 5257 5258const opTestFailover = "TestFailover" 5259 5260// TestFailoverRequest generates a "aws/request.Request" representing the 5261// client's request for the TestFailover operation. The "output" return 5262// value will be populated with the request's response once the request completes 5263// successfully. 5264// 5265// Use "Send" method on the returned Request to send the API call to the service. 5266// the "output" return value is not valid until after Send returns without error. 5267// 5268// See TestFailover for more information on using the TestFailover 5269// API call, and error handling. 5270// 5271// This method is useful when you want to inject custom logic or configuration 5272// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5273// 5274// 5275// // Example sending a request using the TestFailoverRequest method. 5276// req, resp := client.TestFailoverRequest(params) 5277// 5278// err := req.Send() 5279// if err == nil { // resp is now filled 5280// fmt.Println(resp) 5281// } 5282// 5283// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 5284func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *request.Request, output *TestFailoverOutput) { 5285 op := &request.Operation{ 5286 Name: opTestFailover, 5287 HTTPMethod: "POST", 5288 HTTPPath: "/", 5289 } 5290 5291 if input == nil { 5292 input = &TestFailoverInput{} 5293 } 5294 5295 output = &TestFailoverOutput{} 5296 req = c.newRequest(op, input, output) 5297 return 5298} 5299 5300// TestFailover API operation for Amazon ElastiCache. 5301// 5302// Represents the input of a TestFailover operation which test automatic failover 5303// on a specified node group (called shard in the console) in a replication 5304// group (called cluster in the console). 5305// 5306// Note the following 5307// 5308// * A customer can use this operation to test automatic failover on up to 5309// 5 shards (called node groups in the ElastiCache API and AWS CLI) in any 5310// rolling 24-hour period. 5311// 5312// * If calling this operation on shards in different clusters (called replication 5313// groups in the API and CLI), the calls can be made concurrently. 5314// 5315// * If calling this operation multiple times on different shards in the 5316// same Redis (cluster mode enabled) replication group, the first node replacement 5317// must complete before a subsequent call can be made. 5318// 5319// * To determine whether the node replacement is complete you can check 5320// Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache 5321// API. Look for the following automatic failover related events, listed 5322// here in order of occurrance: Replication group message: Test Failover 5323// API called for node group <node-group-id> Cache cluster message: Failover 5324// from master node <primary-node-id> to replica node <node-id> completed 5325// Replication group message: Failover from master node <primary-node-id> 5326// to replica node <node-id> completed Cache cluster message: Recovering 5327// cache nodes <node-id> Cache cluster message: Finished recovery for cache 5328// nodes <node-id> For more information see: Viewing ElastiCache Events (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) 5329// in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 5330// in the ElastiCache API Reference 5331// 5332// Also see, Testing Multi-AZ with Automatic Failover (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) 5333// in the ElastiCache User Guide. 5334// 5335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5336// with awserr.Error's Code and Message methods to get detailed information about 5337// the error. 5338// 5339// See the AWS API reference guide for Amazon ElastiCache's 5340// API operation TestFailover for usage and error information. 5341// 5342// Returned Error Codes: 5343// * ErrCodeAPICallRateForCustomerExceededFault "APICallRateForCustomerExceeded" 5344// The customer has exceeded the allowed rate of API calls. 5345// 5346// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5347// The requested cluster is not in the available state. 5348// 5349// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5350// The requested replication group is not in the available state. 5351// 5352// * ErrCodeNodeGroupNotFoundFault "NodeGroupNotFoundFault" 5353// The node group specified by the NodeGroupId parameter could not be found. 5354// Please verify that the node group exists and that you spelled the NodeGroupId 5355// value correctly. 5356// 5357// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5358// The specified replication group does not exist. 5359// 5360// * ErrCodeTestFailoverNotAvailableFault "TestFailoverNotAvailableFault" 5361// The TestFailover action is not available. 5362// 5363// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5364// The value for a parameter is invalid. 5365// 5366// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5367// Two or more incompatible parameters were specified. 5368// 5369// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 5370func (c *ElastiCache) TestFailover(input *TestFailoverInput) (*TestFailoverOutput, error) { 5371 req, out := c.TestFailoverRequest(input) 5372 return out, req.Send() 5373} 5374 5375// TestFailoverWithContext is the same as TestFailover with the addition of 5376// the ability to pass a context and additional request options. 5377// 5378// See TestFailover for details on how to use this API operation. 5379// 5380// The context must be non-nil and will be used for request cancellation. If 5381// the context is nil a panic will occur. In the future the SDK may create 5382// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5383// for more information on using Contexts. 5384func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailoverInput, opts ...request.Option) (*TestFailoverOutput, error) { 5385 req, out := c.TestFailoverRequest(input) 5386 req.SetContext(ctx) 5387 req.ApplyOptions(opts...) 5388 return out, req.Send() 5389} 5390 5391// Represents the input of an AddTagsToResource operation. 5392type AddTagsToResourceInput struct { 5393 _ struct{} `type:"structure"` 5394 5395 // The Amazon Resource Name (ARN) of the resource to which the tags are to be 5396 // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 5397 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache 5398 // resources are cluster and snapshot. 5399 // 5400 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 5401 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 5402 // 5403 // ResourceName is a required field 5404 ResourceName *string `type:"string" required:"true"` 5405 5406 // A list of cost allocation tags to be added to this resource. A tag is a key-value 5407 // pair. A tag key must be accompanied by a tag value. 5408 // 5409 // Tags is a required field 5410 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 5411} 5412 5413// String returns the string representation 5414func (s AddTagsToResourceInput) String() string { 5415 return awsutil.Prettify(s) 5416} 5417 5418// GoString returns the string representation 5419func (s AddTagsToResourceInput) GoString() string { 5420 return s.String() 5421} 5422 5423// Validate inspects the fields of the type to determine if they are valid. 5424func (s *AddTagsToResourceInput) Validate() error { 5425 invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} 5426 if s.ResourceName == nil { 5427 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 5428 } 5429 if s.Tags == nil { 5430 invalidParams.Add(request.NewErrParamRequired("Tags")) 5431 } 5432 5433 if invalidParams.Len() > 0 { 5434 return invalidParams 5435 } 5436 return nil 5437} 5438 5439// SetResourceName sets the ResourceName field's value. 5440func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { 5441 s.ResourceName = &v 5442 return s 5443} 5444 5445// SetTags sets the Tags field's value. 5446func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { 5447 s.Tags = v 5448 return s 5449} 5450 5451// Represents the input of an AuthorizeCacheSecurityGroupIngress operation. 5452type AuthorizeCacheSecurityGroupIngressInput struct { 5453 _ struct{} `type:"structure"` 5454 5455 // The cache security group that allows network ingress. 5456 // 5457 // CacheSecurityGroupName is a required field 5458 CacheSecurityGroupName *string `type:"string" required:"true"` 5459 5460 // The Amazon EC2 security group to be authorized for ingress to the cache security 5461 // group. 5462 // 5463 // EC2SecurityGroupName is a required field 5464 EC2SecurityGroupName *string `type:"string" required:"true"` 5465 5466 // The AWS account number of the Amazon EC2 security group owner. Note that 5467 // this is not the same thing as an AWS access key ID - you must provide a valid 5468 // AWS account number for this parameter. 5469 // 5470 // EC2SecurityGroupOwnerId is a required field 5471 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 5472} 5473 5474// String returns the string representation 5475func (s AuthorizeCacheSecurityGroupIngressInput) String() string { 5476 return awsutil.Prettify(s) 5477} 5478 5479// GoString returns the string representation 5480func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { 5481 return s.String() 5482} 5483 5484// Validate inspects the fields of the type to determine if they are valid. 5485func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { 5486 invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} 5487 if s.CacheSecurityGroupName == nil { 5488 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 5489 } 5490 if s.EC2SecurityGroupName == nil { 5491 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 5492 } 5493 if s.EC2SecurityGroupOwnerId == nil { 5494 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 5495 } 5496 5497 if invalidParams.Len() > 0 { 5498 return invalidParams 5499 } 5500 return nil 5501} 5502 5503// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 5504func (s *AuthorizeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 5505 s.CacheSecurityGroupName = &v 5506 return s 5507} 5508 5509// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 5510func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 5511 s.EC2SecurityGroupName = &v 5512 return s 5513} 5514 5515// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 5516func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeCacheSecurityGroupIngressInput { 5517 s.EC2SecurityGroupOwnerId = &v 5518 return s 5519} 5520 5521type AuthorizeCacheSecurityGroupIngressOutput struct { 5522 _ struct{} `type:"structure"` 5523 5524 // Represents the output of one of the following operations: 5525 // 5526 // * AuthorizeCacheSecurityGroupIngress 5527 // 5528 // * CreateCacheSecurityGroup 5529 // 5530 // * RevokeCacheSecurityGroupIngress 5531 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 5532} 5533 5534// String returns the string representation 5535func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { 5536 return awsutil.Prettify(s) 5537} 5538 5539// GoString returns the string representation 5540func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { 5541 return s.String() 5542} 5543 5544// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 5545func (s *AuthorizeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *AuthorizeCacheSecurityGroupIngressOutput { 5546 s.CacheSecurityGroup = v 5547 return s 5548} 5549 5550// Describes an Availability Zone in which the cluster is launched. 5551type AvailabilityZone struct { 5552 _ struct{} `type:"structure"` 5553 5554 // The name of the Availability Zone. 5555 Name *string `type:"string"` 5556} 5557 5558// String returns the string representation 5559func (s AvailabilityZone) String() string { 5560 return awsutil.Prettify(s) 5561} 5562 5563// GoString returns the string representation 5564func (s AvailabilityZone) GoString() string { 5565 return s.String() 5566} 5567 5568// SetName sets the Name field's value. 5569func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 5570 s.Name = &v 5571 return s 5572} 5573 5574type BatchApplyUpdateActionInput struct { 5575 _ struct{} `type:"structure"` 5576 5577 // The replication group IDs 5578 // 5579 // ReplicationGroupIds is a required field 5580 ReplicationGroupIds []*string `type:"list" required:"true"` 5581 5582 // The unique ID of the service update 5583 // 5584 // ServiceUpdateName is a required field 5585 ServiceUpdateName *string `type:"string" required:"true"` 5586} 5587 5588// String returns the string representation 5589func (s BatchApplyUpdateActionInput) String() string { 5590 return awsutil.Prettify(s) 5591} 5592 5593// GoString returns the string representation 5594func (s BatchApplyUpdateActionInput) GoString() string { 5595 return s.String() 5596} 5597 5598// Validate inspects the fields of the type to determine if they are valid. 5599func (s *BatchApplyUpdateActionInput) Validate() error { 5600 invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} 5601 if s.ReplicationGroupIds == nil { 5602 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupIds")) 5603 } 5604 if s.ServiceUpdateName == nil { 5605 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 5606 } 5607 5608 if invalidParams.Len() > 0 { 5609 return invalidParams 5610 } 5611 return nil 5612} 5613 5614// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 5615func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { 5616 s.ReplicationGroupIds = v 5617 return s 5618} 5619 5620// SetServiceUpdateName sets the ServiceUpdateName field's value. 5621func (s *BatchApplyUpdateActionInput) SetServiceUpdateName(v string) *BatchApplyUpdateActionInput { 5622 s.ServiceUpdateName = &v 5623 return s 5624} 5625 5626type BatchApplyUpdateActionOutput struct { 5627 _ struct{} `type:"structure"` 5628 5629 // Update actions that have been processed successfully 5630 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 5631 5632 // Update actions that haven't been processed successfully 5633 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 5634} 5635 5636// String returns the string representation 5637func (s BatchApplyUpdateActionOutput) String() string { 5638 return awsutil.Prettify(s) 5639} 5640 5641// GoString returns the string representation 5642func (s BatchApplyUpdateActionOutput) GoString() string { 5643 return s.String() 5644} 5645 5646// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 5647func (s *BatchApplyUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchApplyUpdateActionOutput { 5648 s.ProcessedUpdateActions = v 5649 return s 5650} 5651 5652// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 5653func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchApplyUpdateActionOutput { 5654 s.UnprocessedUpdateActions = v 5655 return s 5656} 5657 5658type BatchStopUpdateActionInput struct { 5659 _ struct{} `type:"structure"` 5660 5661 // The replication group IDs 5662 // 5663 // ReplicationGroupIds is a required field 5664 ReplicationGroupIds []*string `type:"list" required:"true"` 5665 5666 // The unique ID of the service update 5667 // 5668 // ServiceUpdateName is a required field 5669 ServiceUpdateName *string `type:"string" required:"true"` 5670} 5671 5672// String returns the string representation 5673func (s BatchStopUpdateActionInput) String() string { 5674 return awsutil.Prettify(s) 5675} 5676 5677// GoString returns the string representation 5678func (s BatchStopUpdateActionInput) GoString() string { 5679 return s.String() 5680} 5681 5682// Validate inspects the fields of the type to determine if they are valid. 5683func (s *BatchStopUpdateActionInput) Validate() error { 5684 invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} 5685 if s.ReplicationGroupIds == nil { 5686 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupIds")) 5687 } 5688 if s.ServiceUpdateName == nil { 5689 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 5690 } 5691 5692 if invalidParams.Len() > 0 { 5693 return invalidParams 5694 } 5695 return nil 5696} 5697 5698// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 5699func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { 5700 s.ReplicationGroupIds = v 5701 return s 5702} 5703 5704// SetServiceUpdateName sets the ServiceUpdateName field's value. 5705func (s *BatchStopUpdateActionInput) SetServiceUpdateName(v string) *BatchStopUpdateActionInput { 5706 s.ServiceUpdateName = &v 5707 return s 5708} 5709 5710type BatchStopUpdateActionOutput struct { 5711 _ struct{} `type:"structure"` 5712 5713 // Update actions that have been processed successfully 5714 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 5715 5716 // Update actions that haven't been processed successfully 5717 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 5718} 5719 5720// String returns the string representation 5721func (s BatchStopUpdateActionOutput) String() string { 5722 return awsutil.Prettify(s) 5723} 5724 5725// GoString returns the string representation 5726func (s BatchStopUpdateActionOutput) GoString() string { 5727 return s.String() 5728} 5729 5730// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 5731func (s *BatchStopUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchStopUpdateActionOutput { 5732 s.ProcessedUpdateActions = v 5733 return s 5734} 5735 5736// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 5737func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchStopUpdateActionOutput { 5738 s.UnprocessedUpdateActions = v 5739 return s 5740} 5741 5742// Contains all of the attributes of a specific cluster. 5743type CacheCluster struct { 5744 _ struct{} `type:"structure"` 5745 5746 // A flag that enables encryption at-rest when set to true. 5747 // 5748 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 5749 // is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled 5750 // to true when you create a cluster. 5751 // 5752 // Required: Only available when creating a replication group in an Amazon VPC 5753 // using redis version 3.2.6, 4.x or later. 5754 // 5755 // Default: false 5756 AtRestEncryptionEnabled *bool `type:"boolean"` 5757 5758 // A flag that enables using an AuthToken (password) when issuing Redis commands. 5759 // 5760 // Default: false 5761 AuthTokenEnabled *bool `type:"boolean"` 5762 5763 // This parameter is currently disabled. 5764 AutoMinorVersionUpgrade *bool `type:"boolean"` 5765 5766 // The date and time when the cluster was created. 5767 CacheClusterCreateTime *time.Time `type:"timestamp"` 5768 5769 // The user-supplied identifier of the cluster. This identifier is a unique 5770 // key that identifies a cluster. 5771 CacheClusterId *string `type:"string"` 5772 5773 // The current state of this cluster, one of the following values: available, 5774 // creating, deleted, deleting, incompatible-network, modifying, rebooting cluster 5775 // nodes, restore-failed, or snapshotting. 5776 CacheClusterStatus *string `type:"string"` 5777 5778 // The name of the compute and memory capacity node type for the cluster. 5779 // 5780 // The following node types are supported by ElastiCache. Generally speaking, 5781 // the current generation types provide more memory and computational power 5782 // at lower cost when compared to their equivalent previous generation counterparts. 5783 // 5784 // * General purpose: Current generation: M5 node types: cache.m5.large, 5785 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 5786 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 5787 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 5788 // cache.t2.medium Previous generation: (not recommended) T1 node types: 5789 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 5790 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 5791 // cache.m3.2xlarge 5792 // 5793 // * Compute optimized: Previous generation: (not recommended) C1 node types: 5794 // cache.c1.xlarge 5795 // 5796 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 5797 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 5798 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 5799 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 5800 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 5801 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 5802 // cache.r3.8xlarge 5803 // 5804 // Additional node type info 5805 // 5806 // * All current generation instance types are created in Amazon VPC by default. 5807 // 5808 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 5809 // 5810 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 5811 // 5812 // * Redis configuration variables appendonly and appendfsync are not supported 5813 // on Redis version 2.8.22 and later. 5814 CacheNodeType *string `type:"string"` 5815 5816 // A list of cache nodes that are members of the cluster. 5817 CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` 5818 5819 // Status of the cache parameter group. 5820 CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` 5821 5822 // A list of cache security group elements, composed of name and status sub-elements. 5823 CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` 5824 5825 // The name of the cache subnet group associated with the cluster. 5826 CacheSubnetGroupName *string `type:"string"` 5827 5828 // The URL of the web page where you can download the latest ElastiCache client 5829 // library. 5830 ClientDownloadLandingPage *string `type:"string"` 5831 5832 // Represents a Memcached cluster endpoint which, if Automatic Discovery is 5833 // enabled on the cluster, can be used by an application to connect to any node 5834 // in the cluster. The configuration endpoint will always have .cfg in it. 5835 // 5836 // Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 5837 ConfigurationEndpoint *Endpoint `type:"structure"` 5838 5839 // The name of the cache engine (memcached or redis) to be used for this cluster. 5840 Engine *string `type:"string"` 5841 5842 // The version of the cache engine that is used in this cluster. 5843 EngineVersion *string `type:"string"` 5844 5845 // Describes a notification topic and its status. Notification topics are used 5846 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 5847 // Service (SNS). 5848 NotificationConfiguration *NotificationConfiguration `type:"structure"` 5849 5850 // The number of cache nodes in the cluster. 5851 // 5852 // For clusters running Redis, this value must be 1. For clusters running Memcached, 5853 // this value must be between 1 and 20. 5854 NumCacheNodes *int64 `type:"integer"` 5855 5856 // A group of settings that are applied to the cluster in the future, or that 5857 // are currently being applied. 5858 PendingModifiedValues *PendingModifiedValues `type:"structure"` 5859 5860 // The name of the Availability Zone in which the cluster is located or "Multiple" 5861 // if the cache nodes are located in different Availability Zones. 5862 PreferredAvailabilityZone *string `type:"string"` 5863 5864 // Specifies the weekly time range during which maintenance on the cluster is 5865 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 5866 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 5867 // 5868 // Valid values for ddd are: 5869 // 5870 // * sun 5871 // 5872 // * mon 5873 // 5874 // * tue 5875 // 5876 // * wed 5877 // 5878 // * thu 5879 // 5880 // * fri 5881 // 5882 // * sat 5883 // 5884 // Example: sun:23:00-mon:01:30 5885 PreferredMaintenanceWindow *string `type:"string"` 5886 5887 // The replication group to which this cluster belongs. If this field is empty, 5888 // the cluster is not associated with any replication group. 5889 ReplicationGroupId *string `type:"string"` 5890 5891 // A list of VPC Security Groups associated with the cluster. 5892 SecurityGroups []*SecurityGroupMembership `type:"list"` 5893 5894 // The number of days for which ElastiCache retains automatic cluster snapshots 5895 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 5896 // a snapshot that was taken today is retained for 5 days before being deleted. 5897 // 5898 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 5899 // off. 5900 SnapshotRetentionLimit *int64 `type:"integer"` 5901 5902 // The daily time range (in UTC) during which ElastiCache begins taking a daily 5903 // snapshot of your cluster. 5904 // 5905 // Example: 05:00-09:00 5906 SnapshotWindow *string `type:"string"` 5907 5908 // A flag that enables in-transit encryption when set to true. 5909 // 5910 // You cannot modify the value of TransitEncryptionEnabled after the cluster 5911 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 5912 // to true when you create a cluster. 5913 // 5914 // Required: Only available when creating a replication group in an Amazon VPC 5915 // using redis version 3.2.6, 4.x or later. 5916 // 5917 // Default: false 5918 TransitEncryptionEnabled *bool `type:"boolean"` 5919} 5920 5921// String returns the string representation 5922func (s CacheCluster) String() string { 5923 return awsutil.Prettify(s) 5924} 5925 5926// GoString returns the string representation 5927func (s CacheCluster) GoString() string { 5928 return s.String() 5929} 5930 5931// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 5932func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { 5933 s.AtRestEncryptionEnabled = &v 5934 return s 5935} 5936 5937// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 5938func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster { 5939 s.AuthTokenEnabled = &v 5940 return s 5941} 5942 5943// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 5944func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster { 5945 s.AutoMinorVersionUpgrade = &v 5946 return s 5947} 5948 5949// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 5950func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster { 5951 s.CacheClusterCreateTime = &v 5952 return s 5953} 5954 5955// SetCacheClusterId sets the CacheClusterId field's value. 5956func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster { 5957 s.CacheClusterId = &v 5958 return s 5959} 5960 5961// SetCacheClusterStatus sets the CacheClusterStatus field's value. 5962func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster { 5963 s.CacheClusterStatus = &v 5964 return s 5965} 5966 5967// SetCacheNodeType sets the CacheNodeType field's value. 5968func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster { 5969 s.CacheNodeType = &v 5970 return s 5971} 5972 5973// SetCacheNodes sets the CacheNodes field's value. 5974func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster { 5975 s.CacheNodes = v 5976 return s 5977} 5978 5979// SetCacheParameterGroup sets the CacheParameterGroup field's value. 5980func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster { 5981 s.CacheParameterGroup = v 5982 return s 5983} 5984 5985// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 5986func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster { 5987 s.CacheSecurityGroups = v 5988 return s 5989} 5990 5991// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 5992func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster { 5993 s.CacheSubnetGroupName = &v 5994 return s 5995} 5996 5997// SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value. 5998func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster { 5999 s.ClientDownloadLandingPage = &v 6000 return s 6001} 6002 6003// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 6004func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster { 6005 s.ConfigurationEndpoint = v 6006 return s 6007} 6008 6009// SetEngine sets the Engine field's value. 6010func (s *CacheCluster) SetEngine(v string) *CacheCluster { 6011 s.Engine = &v 6012 return s 6013} 6014 6015// SetEngineVersion sets the EngineVersion field's value. 6016func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { 6017 s.EngineVersion = &v 6018 return s 6019} 6020 6021// SetNotificationConfiguration sets the NotificationConfiguration field's value. 6022func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { 6023 s.NotificationConfiguration = v 6024 return s 6025} 6026 6027// SetNumCacheNodes sets the NumCacheNodes field's value. 6028func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster { 6029 s.NumCacheNodes = &v 6030 return s 6031} 6032 6033// SetPendingModifiedValues sets the PendingModifiedValues field's value. 6034func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster { 6035 s.PendingModifiedValues = v 6036 return s 6037} 6038 6039// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 6040func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster { 6041 s.PreferredAvailabilityZone = &v 6042 return s 6043} 6044 6045// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 6046func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster { 6047 s.PreferredMaintenanceWindow = &v 6048 return s 6049} 6050 6051// SetReplicationGroupId sets the ReplicationGroupId field's value. 6052func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster { 6053 s.ReplicationGroupId = &v 6054 return s 6055} 6056 6057// SetSecurityGroups sets the SecurityGroups field's value. 6058func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster { 6059 s.SecurityGroups = v 6060 return s 6061} 6062 6063// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 6064func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster { 6065 s.SnapshotRetentionLimit = &v 6066 return s 6067} 6068 6069// SetSnapshotWindow sets the SnapshotWindow field's value. 6070func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster { 6071 s.SnapshotWindow = &v 6072 return s 6073} 6074 6075// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 6076func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster { 6077 s.TransitEncryptionEnabled = &v 6078 return s 6079} 6080 6081// Provides all of the details about a particular cache engine version. 6082type CacheEngineVersion struct { 6083 _ struct{} `type:"structure"` 6084 6085 // The description of the cache engine. 6086 CacheEngineDescription *string `type:"string"` 6087 6088 // The description of the cache engine version. 6089 CacheEngineVersionDescription *string `type:"string"` 6090 6091 // The name of the cache parameter group family associated with this cache engine. 6092 // 6093 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 6094 // | redis4.0 | redis5.0 | 6095 CacheParameterGroupFamily *string `type:"string"` 6096 6097 // The name of the cache engine. 6098 Engine *string `type:"string"` 6099 6100 // The version number of the cache engine. 6101 EngineVersion *string `type:"string"` 6102} 6103 6104// String returns the string representation 6105func (s CacheEngineVersion) String() string { 6106 return awsutil.Prettify(s) 6107} 6108 6109// GoString returns the string representation 6110func (s CacheEngineVersion) GoString() string { 6111 return s.String() 6112} 6113 6114// SetCacheEngineDescription sets the CacheEngineDescription field's value. 6115func (s *CacheEngineVersion) SetCacheEngineDescription(v string) *CacheEngineVersion { 6116 s.CacheEngineDescription = &v 6117 return s 6118} 6119 6120// SetCacheEngineVersionDescription sets the CacheEngineVersionDescription field's value. 6121func (s *CacheEngineVersion) SetCacheEngineVersionDescription(v string) *CacheEngineVersion { 6122 s.CacheEngineVersionDescription = &v 6123 return s 6124} 6125 6126// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 6127func (s *CacheEngineVersion) SetCacheParameterGroupFamily(v string) *CacheEngineVersion { 6128 s.CacheParameterGroupFamily = &v 6129 return s 6130} 6131 6132// SetEngine sets the Engine field's value. 6133func (s *CacheEngineVersion) SetEngine(v string) *CacheEngineVersion { 6134 s.Engine = &v 6135 return s 6136} 6137 6138// SetEngineVersion sets the EngineVersion field's value. 6139func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { 6140 s.EngineVersion = &v 6141 return s 6142} 6143 6144// Represents an individual cache node within a cluster. Each cache node runs 6145// its own instance of the cluster's protocol-compliant caching software - either 6146// Memcached or Redis. 6147// 6148// The following node types are supported by ElastiCache. Generally speaking, 6149// the current generation types provide more memory and computational power 6150// at lower cost when compared to their equivalent previous generation counterparts. 6151// 6152// * General purpose: Current generation: M5 node types: cache.m5.large, 6153// cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 6154// cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 6155// cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 6156// cache.t2.medium Previous generation: (not recommended) T1 node types: 6157// cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 6158// cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 6159// cache.m3.2xlarge 6160// 6161// * Compute optimized: Previous generation: (not recommended) C1 node types: 6162// cache.c1.xlarge 6163// 6164// * Memory optimized: Current generation: R5 node types: cache.r5.large, 6165// cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 6166// cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 6167// cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 6168// (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 6169// R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 6170// cache.r3.8xlarge 6171// 6172// Additional node type info 6173// 6174// * All current generation instance types are created in Amazon VPC by default. 6175// 6176// * Redis append-only files (AOF) are not supported for T1 or T2 instances. 6177// 6178// * Redis Multi-AZ with automatic failover is not supported on T1 instances. 6179// 6180// * Redis configuration variables appendonly and appendfsync are not supported 6181// on Redis version 2.8.22 and later. 6182type CacheNode struct { 6183 _ struct{} `type:"structure"` 6184 6185 // The date and time when the cache node was created. 6186 CacheNodeCreateTime *time.Time `type:"timestamp"` 6187 6188 // The cache node identifier. A node ID is a numeric identifier (0001, 0002, 6189 // etc.). The combination of cluster ID and node ID uniquely identifies every 6190 // cache node used in a customer's AWS account. 6191 CacheNodeId *string `type:"string"` 6192 6193 // The current state of this cache node. 6194 CacheNodeStatus *string `type:"string"` 6195 6196 // The Availability Zone where this node was created and now resides. 6197 CustomerAvailabilityZone *string `type:"string"` 6198 6199 // The hostname for connecting to this cache node. 6200 Endpoint *Endpoint `type:"structure"` 6201 6202 // The status of the parameter group applied to this cache node. 6203 ParameterGroupStatus *string `type:"string"` 6204 6205 // The ID of the primary node to which this read replica node is synchronized. 6206 // If this field is empty, this node is not associated with a primary cluster. 6207 SourceCacheNodeId *string `type:"string"` 6208} 6209 6210// String returns the string representation 6211func (s CacheNode) String() string { 6212 return awsutil.Prettify(s) 6213} 6214 6215// GoString returns the string representation 6216func (s CacheNode) GoString() string { 6217 return s.String() 6218} 6219 6220// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 6221func (s *CacheNode) SetCacheNodeCreateTime(v time.Time) *CacheNode { 6222 s.CacheNodeCreateTime = &v 6223 return s 6224} 6225 6226// SetCacheNodeId sets the CacheNodeId field's value. 6227func (s *CacheNode) SetCacheNodeId(v string) *CacheNode { 6228 s.CacheNodeId = &v 6229 return s 6230} 6231 6232// SetCacheNodeStatus sets the CacheNodeStatus field's value. 6233func (s *CacheNode) SetCacheNodeStatus(v string) *CacheNode { 6234 s.CacheNodeStatus = &v 6235 return s 6236} 6237 6238// SetCustomerAvailabilityZone sets the CustomerAvailabilityZone field's value. 6239func (s *CacheNode) SetCustomerAvailabilityZone(v string) *CacheNode { 6240 s.CustomerAvailabilityZone = &v 6241 return s 6242} 6243 6244// SetEndpoint sets the Endpoint field's value. 6245func (s *CacheNode) SetEndpoint(v *Endpoint) *CacheNode { 6246 s.Endpoint = v 6247 return s 6248} 6249 6250// SetParameterGroupStatus sets the ParameterGroupStatus field's value. 6251func (s *CacheNode) SetParameterGroupStatus(v string) *CacheNode { 6252 s.ParameterGroupStatus = &v 6253 return s 6254} 6255 6256// SetSourceCacheNodeId sets the SourceCacheNodeId field's value. 6257func (s *CacheNode) SetSourceCacheNodeId(v string) *CacheNode { 6258 s.SourceCacheNodeId = &v 6259 return s 6260} 6261 6262// A parameter that has a different value for each cache node type it is applied 6263// to. For example, in a Redis cluster, a cache.m1.large cache node type would 6264// have a larger maxmemory value than a cache.m1.small type. 6265type CacheNodeTypeSpecificParameter struct { 6266 _ struct{} `type:"structure"` 6267 6268 // The valid range of values for the parameter. 6269 AllowedValues *string `type:"string"` 6270 6271 // A list of cache node types and their corresponding values for this parameter. 6272 CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` 6273 6274 // Indicates whether a change to the parameter is applied immediately or requires 6275 // a reboot for the change to be applied. You can force a reboot or wait until 6276 // the next maintenance window's reboot. For more information, see Rebooting 6277 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 6278 ChangeType *string `type:"string" enum:"ChangeType"` 6279 6280 // The valid data type for the parameter. 6281 DataType *string `type:"string"` 6282 6283 // A description of the parameter. 6284 Description *string `type:"string"` 6285 6286 // Indicates whether (true) or not (false) the parameter can be modified. Some 6287 // parameters have security or operational implications that prevent them from 6288 // being changed. 6289 IsModifiable *bool `type:"boolean"` 6290 6291 // The earliest cache engine version to which the parameter can apply. 6292 MinimumEngineVersion *string `type:"string"` 6293 6294 // The name of the parameter. 6295 ParameterName *string `type:"string"` 6296 6297 // The source of the parameter value. 6298 Source *string `type:"string"` 6299} 6300 6301// String returns the string representation 6302func (s CacheNodeTypeSpecificParameter) String() string { 6303 return awsutil.Prettify(s) 6304} 6305 6306// GoString returns the string representation 6307func (s CacheNodeTypeSpecificParameter) GoString() string { 6308 return s.String() 6309} 6310 6311// SetAllowedValues sets the AllowedValues field's value. 6312func (s *CacheNodeTypeSpecificParameter) SetAllowedValues(v string) *CacheNodeTypeSpecificParameter { 6313 s.AllowedValues = &v 6314 return s 6315} 6316 6317// SetCacheNodeTypeSpecificValues sets the CacheNodeTypeSpecificValues field's value. 6318func (s *CacheNodeTypeSpecificParameter) SetCacheNodeTypeSpecificValues(v []*CacheNodeTypeSpecificValue) *CacheNodeTypeSpecificParameter { 6319 s.CacheNodeTypeSpecificValues = v 6320 return s 6321} 6322 6323// SetChangeType sets the ChangeType field's value. 6324func (s *CacheNodeTypeSpecificParameter) SetChangeType(v string) *CacheNodeTypeSpecificParameter { 6325 s.ChangeType = &v 6326 return s 6327} 6328 6329// SetDataType sets the DataType field's value. 6330func (s *CacheNodeTypeSpecificParameter) SetDataType(v string) *CacheNodeTypeSpecificParameter { 6331 s.DataType = &v 6332 return s 6333} 6334 6335// SetDescription sets the Description field's value. 6336func (s *CacheNodeTypeSpecificParameter) SetDescription(v string) *CacheNodeTypeSpecificParameter { 6337 s.Description = &v 6338 return s 6339} 6340 6341// SetIsModifiable sets the IsModifiable field's value. 6342func (s *CacheNodeTypeSpecificParameter) SetIsModifiable(v bool) *CacheNodeTypeSpecificParameter { 6343 s.IsModifiable = &v 6344 return s 6345} 6346 6347// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 6348func (s *CacheNodeTypeSpecificParameter) SetMinimumEngineVersion(v string) *CacheNodeTypeSpecificParameter { 6349 s.MinimumEngineVersion = &v 6350 return s 6351} 6352 6353// SetParameterName sets the ParameterName field's value. 6354func (s *CacheNodeTypeSpecificParameter) SetParameterName(v string) *CacheNodeTypeSpecificParameter { 6355 s.ParameterName = &v 6356 return s 6357} 6358 6359// SetSource sets the Source field's value. 6360func (s *CacheNodeTypeSpecificParameter) SetSource(v string) *CacheNodeTypeSpecificParameter { 6361 s.Source = &v 6362 return s 6363} 6364 6365// A value that applies only to a certain cache node type. 6366type CacheNodeTypeSpecificValue struct { 6367 _ struct{} `type:"structure"` 6368 6369 // The cache node type for which this value applies. 6370 CacheNodeType *string `type:"string"` 6371 6372 // The value for the cache node type. 6373 Value *string `type:"string"` 6374} 6375 6376// String returns the string representation 6377func (s CacheNodeTypeSpecificValue) String() string { 6378 return awsutil.Prettify(s) 6379} 6380 6381// GoString returns the string representation 6382func (s CacheNodeTypeSpecificValue) GoString() string { 6383 return s.String() 6384} 6385 6386// SetCacheNodeType sets the CacheNodeType field's value. 6387func (s *CacheNodeTypeSpecificValue) SetCacheNodeType(v string) *CacheNodeTypeSpecificValue { 6388 s.CacheNodeType = &v 6389 return s 6390} 6391 6392// SetValue sets the Value field's value. 6393func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificValue { 6394 s.Value = &v 6395 return s 6396} 6397 6398// Represents the output of a CreateCacheParameterGroup operation. 6399type CacheParameterGroup struct { 6400 _ struct{} `type:"structure"` 6401 6402 // The name of the cache parameter group family that this cache parameter group 6403 // is compatible with. 6404 // 6405 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 6406 // | redis4.0 | redis5.0 | 6407 CacheParameterGroupFamily *string `type:"string"` 6408 6409 // The name of the cache parameter group. 6410 CacheParameterGroupName *string `type:"string"` 6411 6412 // The description for this cache parameter group. 6413 Description *string `type:"string"` 6414} 6415 6416// String returns the string representation 6417func (s CacheParameterGroup) String() string { 6418 return awsutil.Prettify(s) 6419} 6420 6421// GoString returns the string representation 6422func (s CacheParameterGroup) GoString() string { 6423 return s.String() 6424} 6425 6426// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 6427func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { 6428 s.CacheParameterGroupFamily = &v 6429 return s 6430} 6431 6432// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 6433func (s *CacheParameterGroup) SetCacheParameterGroupName(v string) *CacheParameterGroup { 6434 s.CacheParameterGroupName = &v 6435 return s 6436} 6437 6438// SetDescription sets the Description field's value. 6439func (s *CacheParameterGroup) SetDescription(v string) *CacheParameterGroup { 6440 s.Description = &v 6441 return s 6442} 6443 6444// Represents the output of one of the following operations: 6445// 6446// * ModifyCacheParameterGroup 6447// 6448// * ResetCacheParameterGroup 6449type CacheParameterGroupNameMessage struct { 6450 _ struct{} `type:"structure"` 6451 6452 // The name of the cache parameter group. 6453 CacheParameterGroupName *string `type:"string"` 6454} 6455 6456// String returns the string representation 6457func (s CacheParameterGroupNameMessage) String() string { 6458 return awsutil.Prettify(s) 6459} 6460 6461// GoString returns the string representation 6462func (s CacheParameterGroupNameMessage) GoString() string { 6463 return s.String() 6464} 6465 6466// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 6467func (s *CacheParameterGroupNameMessage) SetCacheParameterGroupName(v string) *CacheParameterGroupNameMessage { 6468 s.CacheParameterGroupName = &v 6469 return s 6470} 6471 6472// Status of the cache parameter group. 6473type CacheParameterGroupStatus struct { 6474 _ struct{} `type:"structure"` 6475 6476 // A list of the cache node IDs which need to be rebooted for parameter changes 6477 // to be applied. A node ID is a numeric identifier (0001, 0002, etc.). 6478 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"` 6479 6480 // The name of the cache parameter group. 6481 CacheParameterGroupName *string `type:"string"` 6482 6483 // The status of parameter updates. 6484 ParameterApplyStatus *string `type:"string"` 6485} 6486 6487// String returns the string representation 6488func (s CacheParameterGroupStatus) String() string { 6489 return awsutil.Prettify(s) 6490} 6491 6492// GoString returns the string representation 6493func (s CacheParameterGroupStatus) GoString() string { 6494 return s.String() 6495} 6496 6497// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 6498func (s *CacheParameterGroupStatus) SetCacheNodeIdsToReboot(v []*string) *CacheParameterGroupStatus { 6499 s.CacheNodeIdsToReboot = v 6500 return s 6501} 6502 6503// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 6504func (s *CacheParameterGroupStatus) SetCacheParameterGroupName(v string) *CacheParameterGroupStatus { 6505 s.CacheParameterGroupName = &v 6506 return s 6507} 6508 6509// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 6510func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CacheParameterGroupStatus { 6511 s.ParameterApplyStatus = &v 6512 return s 6513} 6514 6515// Represents the output of one of the following operations: 6516// 6517// * AuthorizeCacheSecurityGroupIngress 6518// 6519// * CreateCacheSecurityGroup 6520// 6521// * RevokeCacheSecurityGroupIngress 6522type CacheSecurityGroup struct { 6523 _ struct{} `type:"structure"` 6524 6525 // The name of the cache security group. 6526 CacheSecurityGroupName *string `type:"string"` 6527 6528 // The description of the cache security group. 6529 Description *string `type:"string"` 6530 6531 // A list of Amazon EC2 security groups that are associated with this cache 6532 // security group. 6533 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 6534 6535 // The AWS account ID of the cache security group owner. 6536 OwnerId *string `type:"string"` 6537} 6538 6539// String returns the string representation 6540func (s CacheSecurityGroup) String() string { 6541 return awsutil.Prettify(s) 6542} 6543 6544// GoString returns the string representation 6545func (s CacheSecurityGroup) GoString() string { 6546 return s.String() 6547} 6548 6549// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 6550func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { 6551 s.CacheSecurityGroupName = &v 6552 return s 6553} 6554 6555// SetDescription sets the Description field's value. 6556func (s *CacheSecurityGroup) SetDescription(v string) *CacheSecurityGroup { 6557 s.Description = &v 6558 return s 6559} 6560 6561// SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 6562func (s *CacheSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *CacheSecurityGroup { 6563 s.EC2SecurityGroups = v 6564 return s 6565} 6566 6567// SetOwnerId sets the OwnerId field's value. 6568func (s *CacheSecurityGroup) SetOwnerId(v string) *CacheSecurityGroup { 6569 s.OwnerId = &v 6570 return s 6571} 6572 6573// Represents a cluster's status within a particular cache security group. 6574type CacheSecurityGroupMembership struct { 6575 _ struct{} `type:"structure"` 6576 6577 // The name of the cache security group. 6578 CacheSecurityGroupName *string `type:"string"` 6579 6580 // The membership status in the cache security group. The status changes when 6581 // a cache security group is modified, or when the cache security groups assigned 6582 // to a cluster are modified. 6583 Status *string `type:"string"` 6584} 6585 6586// String returns the string representation 6587func (s CacheSecurityGroupMembership) String() string { 6588 return awsutil.Prettify(s) 6589} 6590 6591// GoString returns the string representation 6592func (s CacheSecurityGroupMembership) GoString() string { 6593 return s.String() 6594} 6595 6596// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 6597func (s *CacheSecurityGroupMembership) SetCacheSecurityGroupName(v string) *CacheSecurityGroupMembership { 6598 s.CacheSecurityGroupName = &v 6599 return s 6600} 6601 6602// SetStatus sets the Status field's value. 6603func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMembership { 6604 s.Status = &v 6605 return s 6606} 6607 6608// Represents the output of one of the following operations: 6609// 6610// * CreateCacheSubnetGroup 6611// 6612// * ModifyCacheSubnetGroup 6613type CacheSubnetGroup struct { 6614 _ struct{} `type:"structure"` 6615 6616 // The description of the cache subnet group. 6617 CacheSubnetGroupDescription *string `type:"string"` 6618 6619 // The name of the cache subnet group. 6620 CacheSubnetGroupName *string `type:"string"` 6621 6622 // A list of subnets associated with the cache subnet group. 6623 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 6624 6625 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 6626 // group. 6627 VpcId *string `type:"string"` 6628} 6629 6630// String returns the string representation 6631func (s CacheSubnetGroup) String() string { 6632 return awsutil.Prettify(s) 6633} 6634 6635// GoString returns the string representation 6636func (s CacheSubnetGroup) GoString() string { 6637 return s.String() 6638} 6639 6640// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 6641func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { 6642 s.CacheSubnetGroupDescription = &v 6643 return s 6644} 6645 6646// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 6647func (s *CacheSubnetGroup) SetCacheSubnetGroupName(v string) *CacheSubnetGroup { 6648 s.CacheSubnetGroupName = &v 6649 return s 6650} 6651 6652// SetSubnets sets the Subnets field's value. 6653func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { 6654 s.Subnets = v 6655 return s 6656} 6657 6658// SetVpcId sets the VpcId field's value. 6659func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { 6660 s.VpcId = &v 6661 return s 6662} 6663 6664// Node group (shard) configuration options when adding or removing replicas. 6665// Each node group (shard) configuration has the following members: NodeGroupId, 6666// NewReplicaCount, and PreferredAvailabilityZones. 6667type ConfigureShard struct { 6668 _ struct{} `type:"structure"` 6669 6670 // The number of replicas you want in this node group at the end of this operation. 6671 // The maximum value for NewReplicaCount is 5. The minimum value depends upon 6672 // the type of Redis replication group you are working with. 6673 // 6674 // The minimum number of replicas in a shard or replication group is: 6675 // 6676 // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is 6677 // enabled: 1 If Multi-AZ with Automatic Failover is not enable: 0 6678 // 6679 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 6680 // to a replica if your primary node fails) 6681 // 6682 // NewReplicaCount is a required field 6683 NewReplicaCount *int64 `type:"integer" required:"true"` 6684 6685 // The 4-digit id for the node group you are configuring. For Redis (cluster 6686 // mode disabled) replication groups, the node group id is always 0001. To find 6687 // a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a 6688 // Shard's Id (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html). 6689 // 6690 // NodeGroupId is a required field 6691 NodeGroupId *string `min:"1" type:"string" required:"true"` 6692 6693 // A list of PreferredAvailabilityZone strings that specify which availability 6694 // zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone 6695 // values must equal the value of NewReplicaCount plus 1 to account for the 6696 // primary node. If this member of ReplicaConfiguration is omitted, ElastiCache 6697 // for Redis selects the availability zone for each of the replicas. 6698 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 6699} 6700 6701// String returns the string representation 6702func (s ConfigureShard) String() string { 6703 return awsutil.Prettify(s) 6704} 6705 6706// GoString returns the string representation 6707func (s ConfigureShard) GoString() string { 6708 return s.String() 6709} 6710 6711// Validate inspects the fields of the type to determine if they are valid. 6712func (s *ConfigureShard) Validate() error { 6713 invalidParams := request.ErrInvalidParams{Context: "ConfigureShard"} 6714 if s.NewReplicaCount == nil { 6715 invalidParams.Add(request.NewErrParamRequired("NewReplicaCount")) 6716 } 6717 if s.NodeGroupId == nil { 6718 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 6719 } 6720 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 6721 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 6722 } 6723 6724 if invalidParams.Len() > 0 { 6725 return invalidParams 6726 } 6727 return nil 6728} 6729 6730// SetNewReplicaCount sets the NewReplicaCount field's value. 6731func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { 6732 s.NewReplicaCount = &v 6733 return s 6734} 6735 6736// SetNodeGroupId sets the NodeGroupId field's value. 6737func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { 6738 s.NodeGroupId = &v 6739 return s 6740} 6741 6742// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 6743func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { 6744 s.PreferredAvailabilityZones = v 6745 return s 6746} 6747 6748// Represents the input of a CopySnapshotMessage operation. 6749type CopySnapshotInput struct { 6750 _ struct{} `type:"structure"` 6751 6752 // The name of an existing snapshot from which to make a copy. 6753 // 6754 // SourceSnapshotName is a required field 6755 SourceSnapshotName *string `type:"string" required:"true"` 6756 6757 // The Amazon S3 bucket to which the snapshot is exported. This parameter is 6758 // used only when exporting a snapshot for external access. 6759 // 6760 // When using this parameter to export a snapshot, be sure Amazon ElastiCache 6761 // has the needed permissions to this S3 bucket. For more information, see Step 6762 // 2: Grant ElastiCache Access to Your Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 6763 // in the Amazon ElastiCache User Guide. 6764 // 6765 // For more information, see Exporting a Snapshot (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html) 6766 // in the Amazon ElastiCache User Guide. 6767 TargetBucket *string `type:"string"` 6768 6769 // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, 6770 // therefore this name must be unique within its context - ElastiCache or an 6771 // Amazon S3 bucket if exporting. 6772 // 6773 // TargetSnapshotName is a required field 6774 TargetSnapshotName *string `type:"string" required:"true"` 6775} 6776 6777// String returns the string representation 6778func (s CopySnapshotInput) String() string { 6779 return awsutil.Prettify(s) 6780} 6781 6782// GoString returns the string representation 6783func (s CopySnapshotInput) GoString() string { 6784 return s.String() 6785} 6786 6787// Validate inspects the fields of the type to determine if they are valid. 6788func (s *CopySnapshotInput) Validate() error { 6789 invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} 6790 if s.SourceSnapshotName == nil { 6791 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) 6792 } 6793 if s.TargetSnapshotName == nil { 6794 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) 6795 } 6796 6797 if invalidParams.Len() > 0 { 6798 return invalidParams 6799 } 6800 return nil 6801} 6802 6803// SetSourceSnapshotName sets the SourceSnapshotName field's value. 6804func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { 6805 s.SourceSnapshotName = &v 6806 return s 6807} 6808 6809// SetTargetBucket sets the TargetBucket field's value. 6810func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { 6811 s.TargetBucket = &v 6812 return s 6813} 6814 6815// SetTargetSnapshotName sets the TargetSnapshotName field's value. 6816func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { 6817 s.TargetSnapshotName = &v 6818 return s 6819} 6820 6821type CopySnapshotOutput struct { 6822 _ struct{} `type:"structure"` 6823 6824 // Represents a copy of an entire Redis cluster as of the time when the snapshot 6825 // was taken. 6826 Snapshot *Snapshot `type:"structure"` 6827} 6828 6829// String returns the string representation 6830func (s CopySnapshotOutput) String() string { 6831 return awsutil.Prettify(s) 6832} 6833 6834// GoString returns the string representation 6835func (s CopySnapshotOutput) GoString() string { 6836 return s.String() 6837} 6838 6839// SetSnapshot sets the Snapshot field's value. 6840func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { 6841 s.Snapshot = v 6842 return s 6843} 6844 6845// Represents the input of a CreateCacheCluster operation. 6846type CreateCacheClusterInput struct { 6847 _ struct{} `type:"structure"` 6848 6849 // Specifies whether the nodes in this Memcached cluster are created in a single 6850 // Availability Zone or created across multiple Availability Zones in the cluster's 6851 // region. 6852 // 6853 // This parameter is only supported for Memcached clusters. 6854 // 6855 // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache 6856 // assumes single-az mode. 6857 AZMode *string `type:"string" enum:"AZMode"` 6858 6859 // Reserved parameter. The password used to access a password protected server. 6860 // 6861 // Password constraints: 6862 // 6863 // * Must be only printable ASCII characters. 6864 // 6865 // * Must be at least 16 characters and no more than 128 characters in length. 6866 // 6867 // * Cannot contain any of the following characters: '/', '"', or '@'. 6868 // 6869 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 6870 // http://redis.io/commands/AUTH. 6871 AuthToken *string `type:"string"` 6872 6873 // This parameter is currently disabled. 6874 AutoMinorVersionUpgrade *bool `type:"boolean"` 6875 6876 // The node group (shard) identifier. This parameter is stored as a lowercase 6877 // string. 6878 // 6879 // Constraints: 6880 // 6881 // * A name must contain from 1 to 20 alphanumeric characters or hyphens. 6882 // 6883 // * The first character must be a letter. 6884 // 6885 // * A name cannot end with a hyphen or contain two consecutive hyphens. 6886 // 6887 // CacheClusterId is a required field 6888 CacheClusterId *string `type:"string" required:"true"` 6889 6890 // The compute and memory capacity of the nodes in the node group (shard). 6891 // 6892 // The following node types are supported by ElastiCache. Generally speaking, 6893 // the current generation types provide more memory and computational power 6894 // at lower cost when compared to their equivalent previous generation counterparts. 6895 // 6896 // * General purpose: Current generation: M5 node types: cache.m5.large, 6897 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 6898 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 6899 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 6900 // cache.t2.medium Previous generation: (not recommended) T1 node types: 6901 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 6902 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 6903 // cache.m3.2xlarge 6904 // 6905 // * Compute optimized: Previous generation: (not recommended) C1 node types: 6906 // cache.c1.xlarge 6907 // 6908 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 6909 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 6910 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 6911 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 6912 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 6913 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 6914 // cache.r3.8xlarge 6915 // 6916 // Additional node type info 6917 // 6918 // * All current generation instance types are created in Amazon VPC by default. 6919 // 6920 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 6921 // 6922 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 6923 // 6924 // * Redis configuration variables appendonly and appendfsync are not supported 6925 // on Redis version 2.8.22 and later. 6926 CacheNodeType *string `type:"string"` 6927 6928 // The name of the parameter group to associate with this cluster. If this argument 6929 // is omitted, the default parameter group for the specified engine is used. 6930 // You cannot use any parameter group which has cluster-enabled='yes' when creating 6931 // a cluster. 6932 CacheParameterGroupName *string `type:"string"` 6933 6934 // A list of security group names to associate with this cluster. 6935 // 6936 // Use this parameter only when you are creating a cluster outside of an Amazon 6937 // Virtual Private Cloud (Amazon VPC). 6938 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 6939 6940 // The name of the subnet group to be used for the cluster. 6941 // 6942 // Use this parameter only when you are creating a cluster in an Amazon Virtual 6943 // Private Cloud (Amazon VPC). 6944 // 6945 // If you're going to launch your cluster in an Amazon VPC, you need to create 6946 // a subnet group before you start creating a cluster. For more information, 6947 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 6948 CacheSubnetGroupName *string `type:"string"` 6949 6950 // The name of the cache engine to be used for this cluster. 6951 // 6952 // Valid values for this parameter are: memcached | redis 6953 Engine *string `type:"string"` 6954 6955 // The version number of the cache engine to be used for this cluster. To view 6956 // the supported cache engine versions, use the DescribeCacheEngineVersions 6957 // operation. 6958 // 6959 // Important: You can upgrade to a newer engine version (see Selecting a Cache 6960 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 6961 // but you cannot downgrade to an earlier engine version. If you want to use 6962 // an earlier engine version, you must delete the existing cluster or replication 6963 // group and create it anew with the earlier engine version. 6964 EngineVersion *string `type:"string"` 6965 6966 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 6967 // (SNS) topic to which notifications are sent. 6968 // 6969 // The Amazon SNS topic owner must be the same as the cluster owner. 6970 NotificationTopicArn *string `type:"string"` 6971 6972 // The initial number of cache nodes that the cluster has. 6973 // 6974 // For clusters running Redis, this value must be 1. For clusters running Memcached, 6975 // this value must be between 1 and 20. 6976 // 6977 // If you need more than 20 nodes for your Memcached cluster, please fill out 6978 // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ 6979 // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). 6980 NumCacheNodes *int64 `type:"integer"` 6981 6982 // The port number on which each of the cache nodes accepts connections. 6983 Port *int64 `type:"integer"` 6984 6985 // The EC2 Availability Zone in which the cluster is created. 6986 // 6987 // All nodes belonging to this Memcached cluster are placed in the preferred 6988 // Availability Zone. If you want to create your nodes across multiple Availability 6989 // Zones, use PreferredAvailabilityZones. 6990 // 6991 // Default: System chosen Availability Zone. 6992 PreferredAvailabilityZone *string `type:"string"` 6993 6994 // A list of the Availability Zones in which cache nodes are created. The order 6995 // of the zones in the list is not important. 6996 // 6997 // This option is only supported on Memcached. 6998 // 6999 // If you are creating your cluster in an Amazon VPC (recommended) you can only 7000 // locate nodes in Availability Zones that are associated with the subnets in 7001 // the selected subnet group. 7002 // 7003 // The number of Availability Zones listed must equal the value of NumCacheNodes. 7004 // 7005 // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone 7006 // instead, or repeat the Availability Zone multiple times in the list. 7007 // 7008 // Default: System chosen Availability Zones. 7009 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 7010 7011 // Specifies the weekly time range during which maintenance on the cluster is 7012 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 7013 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 7014 // values for ddd are: 7015 // 7016 // Specifies the weekly time range during which maintenance on the cluster is 7017 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 7018 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 7019 // 7020 // Valid values for ddd are: 7021 // 7022 // * sun 7023 // 7024 // * mon 7025 // 7026 // * tue 7027 // 7028 // * wed 7029 // 7030 // * thu 7031 // 7032 // * fri 7033 // 7034 // * sat 7035 // 7036 // Example: sun:23:00-mon:01:30 7037 PreferredMaintenanceWindow *string `type:"string"` 7038 7039 // The ID of the replication group to which this cluster should belong. If this 7040 // parameter is specified, the cluster is added to the specified replication 7041 // group as a read replica; otherwise, the cluster is a standalone primary that 7042 // is not part of any replication group. 7043 // 7044 // If the specified replication group is Multi-AZ enabled and the Availability 7045 // Zone is not specified, the cluster is created in Availability Zones that 7046 // provide the best spread of read replicas across Availability Zones. 7047 // 7048 // This parameter is only valid if the Engine parameter is redis. 7049 ReplicationGroupId *string `type:"string"` 7050 7051 // One or more VPC security groups associated with the cluster. 7052 // 7053 // Use this parameter only when you are creating a cluster in an Amazon Virtual 7054 // Private Cloud (Amazon VPC). 7055 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 7056 7057 // A single-element string list containing an Amazon Resource Name (ARN) that 7058 // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 7059 // file is used to populate the node group (shard). The Amazon S3 object name 7060 // in the ARN cannot contain any commas. 7061 // 7062 // This parameter is only valid if the Engine parameter is redis. 7063 // 7064 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 7065 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 7066 7067 // The name of a Redis snapshot from which to restore data into the new node 7068 // group (shard). The snapshot status changes to restoring while the new node 7069 // group (shard) is being created. 7070 // 7071 // This parameter is only valid if the Engine parameter is redis. 7072 SnapshotName *string `type:"string"` 7073 7074 // The number of days for which ElastiCache retains automatic snapshots before 7075 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 7076 // taken today is retained for 5 days before being deleted. 7077 // 7078 // This parameter is only valid if the Engine parameter is redis. 7079 // 7080 // Default: 0 (i.e., automatic backups are disabled for this cache cluster). 7081 SnapshotRetentionLimit *int64 `type:"integer"` 7082 7083 // The daily time range (in UTC) during which ElastiCache begins taking a daily 7084 // snapshot of your node group (shard). 7085 // 7086 // Example: 05:00-09:00 7087 // 7088 // If you do not specify this parameter, ElastiCache automatically chooses an 7089 // appropriate time range. 7090 // 7091 // This parameter is only valid if the Engine parameter is redis. 7092 SnapshotWindow *string `type:"string"` 7093 7094 // A list of cost allocation tags to be added to this resource. 7095 Tags []*Tag `locationNameList:"Tag" type:"list"` 7096} 7097 7098// String returns the string representation 7099func (s CreateCacheClusterInput) String() string { 7100 return awsutil.Prettify(s) 7101} 7102 7103// GoString returns the string representation 7104func (s CreateCacheClusterInput) GoString() string { 7105 return s.String() 7106} 7107 7108// Validate inspects the fields of the type to determine if they are valid. 7109func (s *CreateCacheClusterInput) Validate() error { 7110 invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} 7111 if s.CacheClusterId == nil { 7112 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 7113 } 7114 7115 if invalidParams.Len() > 0 { 7116 return invalidParams 7117 } 7118 return nil 7119} 7120 7121// SetAZMode sets the AZMode field's value. 7122func (s *CreateCacheClusterInput) SetAZMode(v string) *CreateCacheClusterInput { 7123 s.AZMode = &v 7124 return s 7125} 7126 7127// SetAuthToken sets the AuthToken field's value. 7128func (s *CreateCacheClusterInput) SetAuthToken(v string) *CreateCacheClusterInput { 7129 s.AuthToken = &v 7130 return s 7131} 7132 7133// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 7134func (s *CreateCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateCacheClusterInput { 7135 s.AutoMinorVersionUpgrade = &v 7136 return s 7137} 7138 7139// SetCacheClusterId sets the CacheClusterId field's value. 7140func (s *CreateCacheClusterInput) SetCacheClusterId(v string) *CreateCacheClusterInput { 7141 s.CacheClusterId = &v 7142 return s 7143} 7144 7145// SetCacheNodeType sets the CacheNodeType field's value. 7146func (s *CreateCacheClusterInput) SetCacheNodeType(v string) *CreateCacheClusterInput { 7147 s.CacheNodeType = &v 7148 return s 7149} 7150 7151// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7152func (s *CreateCacheClusterInput) SetCacheParameterGroupName(v string) *CreateCacheClusterInput { 7153 s.CacheParameterGroupName = &v 7154 return s 7155} 7156 7157// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 7158func (s *CreateCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *CreateCacheClusterInput { 7159 s.CacheSecurityGroupNames = v 7160 return s 7161} 7162 7163// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7164func (s *CreateCacheClusterInput) SetCacheSubnetGroupName(v string) *CreateCacheClusterInput { 7165 s.CacheSubnetGroupName = &v 7166 return s 7167} 7168 7169// SetEngine sets the Engine field's value. 7170func (s *CreateCacheClusterInput) SetEngine(v string) *CreateCacheClusterInput { 7171 s.Engine = &v 7172 return s 7173} 7174 7175// SetEngineVersion sets the EngineVersion field's value. 7176func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheClusterInput { 7177 s.EngineVersion = &v 7178 return s 7179} 7180 7181// SetNotificationTopicArn sets the NotificationTopicArn field's value. 7182func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { 7183 s.NotificationTopicArn = &v 7184 return s 7185} 7186 7187// SetNumCacheNodes sets the NumCacheNodes field's value. 7188func (s *CreateCacheClusterInput) SetNumCacheNodes(v int64) *CreateCacheClusterInput { 7189 s.NumCacheNodes = &v 7190 return s 7191} 7192 7193// SetPort sets the Port field's value. 7194func (s *CreateCacheClusterInput) SetPort(v int64) *CreateCacheClusterInput { 7195 s.Port = &v 7196 return s 7197} 7198 7199// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 7200func (s *CreateCacheClusterInput) SetPreferredAvailabilityZone(v string) *CreateCacheClusterInput { 7201 s.PreferredAvailabilityZone = &v 7202 return s 7203} 7204 7205// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 7206func (s *CreateCacheClusterInput) SetPreferredAvailabilityZones(v []*string) *CreateCacheClusterInput { 7207 s.PreferredAvailabilityZones = v 7208 return s 7209} 7210 7211// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 7212func (s *CreateCacheClusterInput) SetPreferredMaintenanceWindow(v string) *CreateCacheClusterInput { 7213 s.PreferredMaintenanceWindow = &v 7214 return s 7215} 7216 7217// SetReplicationGroupId sets the ReplicationGroupId field's value. 7218func (s *CreateCacheClusterInput) SetReplicationGroupId(v string) *CreateCacheClusterInput { 7219 s.ReplicationGroupId = &v 7220 return s 7221} 7222 7223// SetSecurityGroupIds sets the SecurityGroupIds field's value. 7224func (s *CreateCacheClusterInput) SetSecurityGroupIds(v []*string) *CreateCacheClusterInput { 7225 s.SecurityGroupIds = v 7226 return s 7227} 7228 7229// SetSnapshotArns sets the SnapshotArns field's value. 7230func (s *CreateCacheClusterInput) SetSnapshotArns(v []*string) *CreateCacheClusterInput { 7231 s.SnapshotArns = v 7232 return s 7233} 7234 7235// SetSnapshotName sets the SnapshotName field's value. 7236func (s *CreateCacheClusterInput) SetSnapshotName(v string) *CreateCacheClusterInput { 7237 s.SnapshotName = &v 7238 return s 7239} 7240 7241// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 7242func (s *CreateCacheClusterInput) SetSnapshotRetentionLimit(v int64) *CreateCacheClusterInput { 7243 s.SnapshotRetentionLimit = &v 7244 return s 7245} 7246 7247// SetSnapshotWindow sets the SnapshotWindow field's value. 7248func (s *CreateCacheClusterInput) SetSnapshotWindow(v string) *CreateCacheClusterInput { 7249 s.SnapshotWindow = &v 7250 return s 7251} 7252 7253// SetTags sets the Tags field's value. 7254func (s *CreateCacheClusterInput) SetTags(v []*Tag) *CreateCacheClusterInput { 7255 s.Tags = v 7256 return s 7257} 7258 7259type CreateCacheClusterOutput struct { 7260 _ struct{} `type:"structure"` 7261 7262 // Contains all of the attributes of a specific cluster. 7263 CacheCluster *CacheCluster `type:"structure"` 7264} 7265 7266// String returns the string representation 7267func (s CreateCacheClusterOutput) String() string { 7268 return awsutil.Prettify(s) 7269} 7270 7271// GoString returns the string representation 7272func (s CreateCacheClusterOutput) GoString() string { 7273 return s.String() 7274} 7275 7276// SetCacheCluster sets the CacheCluster field's value. 7277func (s *CreateCacheClusterOutput) SetCacheCluster(v *CacheCluster) *CreateCacheClusterOutput { 7278 s.CacheCluster = v 7279 return s 7280} 7281 7282// Represents the input of a CreateCacheParameterGroup operation. 7283type CreateCacheParameterGroupInput struct { 7284 _ struct{} `type:"structure"` 7285 7286 // The name of the cache parameter group family that the cache parameter group 7287 // can be used with. 7288 // 7289 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 7290 // | redis4.0 | redis5.0 | 7291 // 7292 // CacheParameterGroupFamily is a required field 7293 CacheParameterGroupFamily *string `type:"string" required:"true"` 7294 7295 // A user-specified name for the cache parameter group. 7296 // 7297 // CacheParameterGroupName is a required field 7298 CacheParameterGroupName *string `type:"string" required:"true"` 7299 7300 // A user-specified description for the cache parameter group. 7301 // 7302 // Description is a required field 7303 Description *string `type:"string" required:"true"` 7304} 7305 7306// String returns the string representation 7307func (s CreateCacheParameterGroupInput) String() string { 7308 return awsutil.Prettify(s) 7309} 7310 7311// GoString returns the string representation 7312func (s CreateCacheParameterGroupInput) GoString() string { 7313 return s.String() 7314} 7315 7316// Validate inspects the fields of the type to determine if they are valid. 7317func (s *CreateCacheParameterGroupInput) Validate() error { 7318 invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} 7319 if s.CacheParameterGroupFamily == nil { 7320 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 7321 } 7322 if s.CacheParameterGroupName == nil { 7323 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 7324 } 7325 if s.Description == nil { 7326 invalidParams.Add(request.NewErrParamRequired("Description")) 7327 } 7328 7329 if invalidParams.Len() > 0 { 7330 return invalidParams 7331 } 7332 return nil 7333} 7334 7335// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 7336func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupFamily(v string) *CreateCacheParameterGroupInput { 7337 s.CacheParameterGroupFamily = &v 7338 return s 7339} 7340 7341// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7342func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupName(v string) *CreateCacheParameterGroupInput { 7343 s.CacheParameterGroupName = &v 7344 return s 7345} 7346 7347// SetDescription sets the Description field's value. 7348func (s *CreateCacheParameterGroupInput) SetDescription(v string) *CreateCacheParameterGroupInput { 7349 s.Description = &v 7350 return s 7351} 7352 7353type CreateCacheParameterGroupOutput struct { 7354 _ struct{} `type:"structure"` 7355 7356 // Represents the output of a CreateCacheParameterGroup operation. 7357 CacheParameterGroup *CacheParameterGroup `type:"structure"` 7358} 7359 7360// String returns the string representation 7361func (s CreateCacheParameterGroupOutput) String() string { 7362 return awsutil.Prettify(s) 7363} 7364 7365// GoString returns the string representation 7366func (s CreateCacheParameterGroupOutput) GoString() string { 7367 return s.String() 7368} 7369 7370// SetCacheParameterGroup sets the CacheParameterGroup field's value. 7371func (s *CreateCacheParameterGroupOutput) SetCacheParameterGroup(v *CacheParameterGroup) *CreateCacheParameterGroupOutput { 7372 s.CacheParameterGroup = v 7373 return s 7374} 7375 7376// Represents the input of a CreateCacheSecurityGroup operation. 7377type CreateCacheSecurityGroupInput struct { 7378 _ struct{} `type:"structure"` 7379 7380 // A name for the cache security group. This value is stored as a lowercase 7381 // string. 7382 // 7383 // Constraints: Must contain no more than 255 alphanumeric characters. Cannot 7384 // be the word "Default". 7385 // 7386 // Example: mysecuritygroup 7387 // 7388 // CacheSecurityGroupName is a required field 7389 CacheSecurityGroupName *string `type:"string" required:"true"` 7390 7391 // A description for the cache security group. 7392 // 7393 // Description is a required field 7394 Description *string `type:"string" required:"true"` 7395} 7396 7397// String returns the string representation 7398func (s CreateCacheSecurityGroupInput) String() string { 7399 return awsutil.Prettify(s) 7400} 7401 7402// GoString returns the string representation 7403func (s CreateCacheSecurityGroupInput) GoString() string { 7404 return s.String() 7405} 7406 7407// Validate inspects the fields of the type to determine if they are valid. 7408func (s *CreateCacheSecurityGroupInput) Validate() error { 7409 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} 7410 if s.CacheSecurityGroupName == nil { 7411 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 7412 } 7413 if s.Description == nil { 7414 invalidParams.Add(request.NewErrParamRequired("Description")) 7415 } 7416 7417 if invalidParams.Len() > 0 { 7418 return invalidParams 7419 } 7420 return nil 7421} 7422 7423// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7424func (s *CreateCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *CreateCacheSecurityGroupInput { 7425 s.CacheSecurityGroupName = &v 7426 return s 7427} 7428 7429// SetDescription sets the Description field's value. 7430func (s *CreateCacheSecurityGroupInput) SetDescription(v string) *CreateCacheSecurityGroupInput { 7431 s.Description = &v 7432 return s 7433} 7434 7435type CreateCacheSecurityGroupOutput struct { 7436 _ struct{} `type:"structure"` 7437 7438 // Represents the output of one of the following operations: 7439 // 7440 // * AuthorizeCacheSecurityGroupIngress 7441 // 7442 // * CreateCacheSecurityGroup 7443 // 7444 // * RevokeCacheSecurityGroupIngress 7445 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 7446} 7447 7448// String returns the string representation 7449func (s CreateCacheSecurityGroupOutput) String() string { 7450 return awsutil.Prettify(s) 7451} 7452 7453// GoString returns the string representation 7454func (s CreateCacheSecurityGroupOutput) GoString() string { 7455 return s.String() 7456} 7457 7458// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 7459func (s *CreateCacheSecurityGroupOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *CreateCacheSecurityGroupOutput { 7460 s.CacheSecurityGroup = v 7461 return s 7462} 7463 7464// Represents the input of a CreateCacheSubnetGroup operation. 7465type CreateCacheSubnetGroupInput struct { 7466 _ struct{} `type:"structure"` 7467 7468 // A description for the cache subnet group. 7469 // 7470 // CacheSubnetGroupDescription is a required field 7471 CacheSubnetGroupDescription *string `type:"string" required:"true"` 7472 7473 // A name for the cache subnet group. This value is stored as a lowercase string. 7474 // 7475 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 7476 // 7477 // Example: mysubnetgroup 7478 // 7479 // CacheSubnetGroupName is a required field 7480 CacheSubnetGroupName *string `type:"string" required:"true"` 7481 7482 // A list of VPC subnet IDs for the cache subnet group. 7483 // 7484 // SubnetIds is a required field 7485 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 7486} 7487 7488// String returns the string representation 7489func (s CreateCacheSubnetGroupInput) String() string { 7490 return awsutil.Prettify(s) 7491} 7492 7493// GoString returns the string representation 7494func (s CreateCacheSubnetGroupInput) GoString() string { 7495 return s.String() 7496} 7497 7498// Validate inspects the fields of the type to determine if they are valid. 7499func (s *CreateCacheSubnetGroupInput) Validate() error { 7500 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} 7501 if s.CacheSubnetGroupDescription == nil { 7502 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) 7503 } 7504 if s.CacheSubnetGroupName == nil { 7505 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 7506 } 7507 if s.SubnetIds == nil { 7508 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 7509 } 7510 7511 if invalidParams.Len() > 0 { 7512 return invalidParams 7513 } 7514 return nil 7515} 7516 7517// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 7518func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *CreateCacheSubnetGroupInput { 7519 s.CacheSubnetGroupDescription = &v 7520 return s 7521} 7522 7523// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7524func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *CreateCacheSubnetGroupInput { 7525 s.CacheSubnetGroupName = &v 7526 return s 7527} 7528 7529// SetSubnetIds sets the SubnetIds field's value. 7530func (s *CreateCacheSubnetGroupInput) SetSubnetIds(v []*string) *CreateCacheSubnetGroupInput { 7531 s.SubnetIds = v 7532 return s 7533} 7534 7535type CreateCacheSubnetGroupOutput struct { 7536 _ struct{} `type:"structure"` 7537 7538 // Represents the output of one of the following operations: 7539 // 7540 // * CreateCacheSubnetGroup 7541 // 7542 // * ModifyCacheSubnetGroup 7543 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 7544} 7545 7546// String returns the string representation 7547func (s CreateCacheSubnetGroupOutput) String() string { 7548 return awsutil.Prettify(s) 7549} 7550 7551// GoString returns the string representation 7552func (s CreateCacheSubnetGroupOutput) GoString() string { 7553 return s.String() 7554} 7555 7556// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 7557func (s *CreateCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *CreateCacheSubnetGroupOutput { 7558 s.CacheSubnetGroup = v 7559 return s 7560} 7561 7562// Represents the input of a CreateReplicationGroup operation. 7563type CreateReplicationGroupInput struct { 7564 _ struct{} `type:"structure"` 7565 7566 // A flag that enables encryption at rest when set to true. 7567 // 7568 // You cannot modify the value of AtRestEncryptionEnabled after the replication 7569 // group is created. To enable encryption at rest on a replication group you 7570 // must set AtRestEncryptionEnabled to true when you create the replication 7571 // group. 7572 // 7573 // Required: Only available when creating a replication group in an Amazon VPC 7574 // using redis version 3.2.6, 4.x or later. 7575 // 7576 // Default: false 7577 AtRestEncryptionEnabled *bool `type:"boolean"` 7578 7579 // Reserved parameter. The password used to access a password protected server. 7580 // 7581 // AuthToken can be specified only on replication groups where TransitEncryptionEnabled 7582 // is true. 7583 // 7584 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 7585 // an AuthToken, and a CacheSubnetGroup. 7586 // 7587 // Password constraints: 7588 // 7589 // * Must be only printable ASCII characters. 7590 // 7591 // * Must be at least 16 characters and no more than 128 characters in length. 7592 // 7593 // * Cannot contain any of the following characters: '/', '"', or '@'. 7594 // 7595 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 7596 // http://redis.io/commands/AUTH. 7597 AuthToken *string `type:"string"` 7598 7599 // This parameter is currently disabled. 7600 AutoMinorVersionUpgrade *bool `type:"boolean"` 7601 7602 // Specifies whether a read-only replica is automatically promoted to read/write 7603 // primary if the existing primary fails. 7604 // 7605 // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ 7606 // is disabled for this replication group. 7607 // 7608 // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) 7609 // replication groups. 7610 // 7611 // Default: false 7612 // 7613 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 7614 // on: 7615 // 7616 // * Redis versions earlier than 2.8.6. 7617 // 7618 // * Redis (cluster mode disabled): T1 node types. 7619 // 7620 // * Redis (cluster mode enabled): T1 node types. 7621 AutomaticFailoverEnabled *bool `type:"boolean"` 7622 7623 // The compute and memory capacity of the nodes in the node group (shard). 7624 // 7625 // The following node types are supported by ElastiCache. Generally speaking, 7626 // the current generation types provide more memory and computational power 7627 // at lower cost when compared to their equivalent previous generation counterparts. 7628 // 7629 // * General purpose: Current generation: M5 node types: cache.m5.large, 7630 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 7631 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 7632 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 7633 // cache.t2.medium Previous generation: (not recommended) T1 node types: 7634 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 7635 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 7636 // cache.m3.2xlarge 7637 // 7638 // * Compute optimized: Previous generation: (not recommended) C1 node types: 7639 // cache.c1.xlarge 7640 // 7641 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 7642 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 7643 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 7644 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 7645 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 7646 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 7647 // cache.r3.8xlarge 7648 // 7649 // Additional node type info 7650 // 7651 // * All current generation instance types are created in Amazon VPC by default. 7652 // 7653 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 7654 // 7655 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 7656 // 7657 // * Redis configuration variables appendonly and appendfsync are not supported 7658 // on Redis version 2.8.22 and later. 7659 CacheNodeType *string `type:"string"` 7660 7661 // The name of the parameter group to associate with this replication group. 7662 // If this argument is omitted, the default cache parameter group for the specified 7663 // engine is used. 7664 // 7665 // If you are restoring to an engine version that is different than the original, 7666 // you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0. 7667 // 7668 // If you are running Redis version 3.2.4 or later, only one node group (shard), 7669 // and want to use a default parameter group, we recommend that you specify 7670 // the parameter group by name. 7671 // 7672 // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. 7673 // 7674 // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. 7675 CacheParameterGroupName *string `type:"string"` 7676 7677 // A list of cache security group names to associate with this replication group. 7678 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 7679 7680 // The name of the cache subnet group to be used for the replication group. 7681 // 7682 // If you're going to launch your cluster in an Amazon VPC, you need to create 7683 // a subnet group before you start creating a cluster. For more information, 7684 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 7685 CacheSubnetGroupName *string `type:"string"` 7686 7687 // The name of the cache engine to be used for the clusters in this replication 7688 // group. 7689 Engine *string `type:"string"` 7690 7691 // The version number of the cache engine to be used for the clusters in this 7692 // replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions 7693 // operation. 7694 // 7695 // Important: You can upgrade to a newer engine version (see Selecting a Cache 7696 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)) 7697 // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine 7698 // version. If you want to use an earlier engine version, you must delete the 7699 // existing cluster or replication group and create it anew with the earlier 7700 // engine version. 7701 EngineVersion *string `type:"string"` 7702 7703 // A list of node group (shard) configuration options. Each node group (shard) 7704 // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, 7705 // ReplicaCount, and Slots. 7706 // 7707 // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode 7708 // enabled) replication group, you can use this parameter to individually configure 7709 // each node group (shard), or you can omit this parameter. However, when seeding 7710 // a Redis (cluster mode enabled) cluster from a S3 rdb file, you must configure 7711 // each node group (shard) using this parameter because you must specify the 7712 // slots for each node group. 7713 NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` 7714 7715 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 7716 // (SNS) topic to which notifications are sent. 7717 // 7718 // The Amazon SNS topic owner must be the same as the cluster owner. 7719 NotificationTopicArn *string `type:"string"` 7720 7721 // The number of clusters this replication group initially has. 7722 // 7723 // This parameter is not used if there is more than one node group (shard). 7724 // You should use ReplicasPerNodeGroup instead. 7725 // 7726 // If AutomaticFailoverEnabled is true, the value of this parameter must be 7727 // at least 2. If AutomaticFailoverEnabled is false you can omit this parameter 7728 // (it will default to 1), or you can explicitly set it to a value between 2 7729 // and 6. 7730 // 7731 // The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas). 7732 NumCacheClusters *int64 `type:"integer"` 7733 7734 // An optional parameter that specifies the number of node groups (shards) for 7735 // this Redis (cluster mode enabled) replication group. For Redis (cluster mode 7736 // disabled) either omit this parameter or set it to 1. 7737 // 7738 // Default: 1 7739 NumNodeGroups *int64 `type:"integer"` 7740 7741 // The port number on which each member of the replication group accepts connections. 7742 Port *int64 `type:"integer"` 7743 7744 // A list of EC2 Availability Zones in which the replication group's clusters 7745 // are created. The order of the Availability Zones in the list is the order 7746 // in which clusters are allocated. The primary cluster is created in the first 7747 // AZ in the list. 7748 // 7749 // This parameter is not used if there is more than one node group (shard). 7750 // You should use NodeGroupConfiguration instead. 7751 // 7752 // If you are creating your replication group in an Amazon VPC (recommended), 7753 // you can only locate clusters in Availability Zones associated with the subnets 7754 // in the selected subnet group. 7755 // 7756 // The number of Availability Zones listed must equal the value of NumCacheClusters. 7757 // 7758 // Default: system chosen Availability Zones. 7759 PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` 7760 7761 // Specifies the weekly time range during which maintenance on the cluster is 7762 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 7763 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 7764 // values for ddd are: 7765 // 7766 // Specifies the weekly time range during which maintenance on the cluster is 7767 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 7768 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 7769 // 7770 // Valid values for ddd are: 7771 // 7772 // * sun 7773 // 7774 // * mon 7775 // 7776 // * tue 7777 // 7778 // * wed 7779 // 7780 // * thu 7781 // 7782 // * fri 7783 // 7784 // * sat 7785 // 7786 // Example: sun:23:00-mon:01:30 7787 PreferredMaintenanceWindow *string `type:"string"` 7788 7789 // The identifier of the cluster that serves as the primary for this replication 7790 // group. This cluster must already exist and have a status of available. 7791 // 7792 // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup 7793 // is specified. 7794 PrimaryClusterId *string `type:"string"` 7795 7796 // An optional parameter that specifies the number of replica nodes in each 7797 // node group (shard). Valid values are 0 to 5. 7798 ReplicasPerNodeGroup *int64 `type:"integer"` 7799 7800 // A user-created description for the replication group. 7801 // 7802 // ReplicationGroupDescription is a required field 7803 ReplicationGroupDescription *string `type:"string" required:"true"` 7804 7805 // The replication group identifier. This parameter is stored as a lowercase 7806 // string. 7807 // 7808 // Constraints: 7809 // 7810 // * A name must contain from 1 to 20 alphanumeric characters or hyphens. 7811 // 7812 // * The first character must be a letter. 7813 // 7814 // * A name cannot end with a hyphen or contain two consecutive hyphens. 7815 // 7816 // ReplicationGroupId is a required field 7817 ReplicationGroupId *string `type:"string" required:"true"` 7818 7819 // One or more Amazon VPC security groups associated with this replication group. 7820 // 7821 // Use this parameter only when you are creating a replication group in an Amazon 7822 // Virtual Private Cloud (Amazon VPC). 7823 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 7824 7825 // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB 7826 // snapshot files stored in Amazon S3. The snapshot files are used to populate 7827 // the new replication group. The Amazon S3 object name in the ARN cannot contain 7828 // any commas. The new replication group will have the number of node groups 7829 // (console: shards) specified by the parameter NumNodeGroups or the number 7830 // of node groups configured by NodeGroupConfiguration regardless of the number 7831 // of ARNs specified here. 7832 // 7833 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 7834 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 7835 7836 // The name of a snapshot from which to restore data into the new replication 7837 // group. The snapshot status changes to restoring while the new replication 7838 // group is being created. 7839 SnapshotName *string `type:"string"` 7840 7841 // The number of days for which ElastiCache retains automatic snapshots before 7842 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 7843 // that was taken today is retained for 5 days before being deleted. 7844 // 7845 // Default: 0 (i.e., automatic backups are disabled for this cluster). 7846 SnapshotRetentionLimit *int64 `type:"integer"` 7847 7848 // The daily time range (in UTC) during which ElastiCache begins taking a daily 7849 // snapshot of your node group (shard). 7850 // 7851 // Example: 05:00-09:00 7852 // 7853 // If you do not specify this parameter, ElastiCache automatically chooses an 7854 // appropriate time range. 7855 SnapshotWindow *string `type:"string"` 7856 7857 // A list of cost allocation tags to be added to this resource. Tags are comma-separated 7858 // key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple 7859 // tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. 7860 Tags []*Tag `locationNameList:"Tag" type:"list"` 7861 7862 // A flag that enables in-transit encryption when set to true. 7863 // 7864 // You cannot modify the value of TransitEncryptionEnabled after the cluster 7865 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 7866 // to true when you create a cluster. 7867 // 7868 // This parameter is valid only if the Engine parameter is redis, the EngineVersion 7869 // parameter is 3.2.6 or 4.x, and the cluster is being created in an Amazon 7870 // VPC. 7871 // 7872 // If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. 7873 // 7874 // Required: Only available when creating a replication group in an Amazon VPC 7875 // using redis version 3.2.6, 4.x or later. 7876 // 7877 // Default: false 7878 // 7879 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 7880 // an AuthToken, and a CacheSubnetGroup. 7881 TransitEncryptionEnabled *bool `type:"boolean"` 7882} 7883 7884// String returns the string representation 7885func (s CreateReplicationGroupInput) String() string { 7886 return awsutil.Prettify(s) 7887} 7888 7889// GoString returns the string representation 7890func (s CreateReplicationGroupInput) GoString() string { 7891 return s.String() 7892} 7893 7894// Validate inspects the fields of the type to determine if they are valid. 7895func (s *CreateReplicationGroupInput) Validate() error { 7896 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} 7897 if s.ReplicationGroupDescription == nil { 7898 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) 7899 } 7900 if s.ReplicationGroupId == nil { 7901 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 7902 } 7903 if s.NodeGroupConfiguration != nil { 7904 for i, v := range s.NodeGroupConfiguration { 7905 if v == nil { 7906 continue 7907 } 7908 if err := v.Validate(); err != nil { 7909 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeGroupConfiguration", i), err.(request.ErrInvalidParams)) 7910 } 7911 } 7912 } 7913 7914 if invalidParams.Len() > 0 { 7915 return invalidParams 7916 } 7917 return nil 7918} 7919 7920// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 7921func (s *CreateReplicationGroupInput) SetAtRestEncryptionEnabled(v bool) *CreateReplicationGroupInput { 7922 s.AtRestEncryptionEnabled = &v 7923 return s 7924} 7925 7926// SetAuthToken sets the AuthToken field's value. 7927func (s *CreateReplicationGroupInput) SetAuthToken(v string) *CreateReplicationGroupInput { 7928 s.AuthToken = &v 7929 return s 7930} 7931 7932// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 7933func (s *CreateReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationGroupInput { 7934 s.AutoMinorVersionUpgrade = &v 7935 return s 7936} 7937 7938// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 7939func (s *CreateReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *CreateReplicationGroupInput { 7940 s.AutomaticFailoverEnabled = &v 7941 return s 7942} 7943 7944// SetCacheNodeType sets the CacheNodeType field's value. 7945func (s *CreateReplicationGroupInput) SetCacheNodeType(v string) *CreateReplicationGroupInput { 7946 s.CacheNodeType = &v 7947 return s 7948} 7949 7950// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7951func (s *CreateReplicationGroupInput) SetCacheParameterGroupName(v string) *CreateReplicationGroupInput { 7952 s.CacheParameterGroupName = &v 7953 return s 7954} 7955 7956// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 7957func (s *CreateReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *CreateReplicationGroupInput { 7958 s.CacheSecurityGroupNames = v 7959 return s 7960} 7961 7962// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7963func (s *CreateReplicationGroupInput) SetCacheSubnetGroupName(v string) *CreateReplicationGroupInput { 7964 s.CacheSubnetGroupName = &v 7965 return s 7966} 7967 7968// SetEngine sets the Engine field's value. 7969func (s *CreateReplicationGroupInput) SetEngine(v string) *CreateReplicationGroupInput { 7970 s.Engine = &v 7971 return s 7972} 7973 7974// SetEngineVersion sets the EngineVersion field's value. 7975func (s *CreateReplicationGroupInput) SetEngineVersion(v string) *CreateReplicationGroupInput { 7976 s.EngineVersion = &v 7977 return s 7978} 7979 7980// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 7981func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { 7982 s.NodeGroupConfiguration = v 7983 return s 7984} 7985 7986// SetNotificationTopicArn sets the NotificationTopicArn field's value. 7987func (s *CreateReplicationGroupInput) SetNotificationTopicArn(v string) *CreateReplicationGroupInput { 7988 s.NotificationTopicArn = &v 7989 return s 7990} 7991 7992// SetNumCacheClusters sets the NumCacheClusters field's value. 7993func (s *CreateReplicationGroupInput) SetNumCacheClusters(v int64) *CreateReplicationGroupInput { 7994 s.NumCacheClusters = &v 7995 return s 7996} 7997 7998// SetNumNodeGroups sets the NumNodeGroups field's value. 7999func (s *CreateReplicationGroupInput) SetNumNodeGroups(v int64) *CreateReplicationGroupInput { 8000 s.NumNodeGroups = &v 8001 return s 8002} 8003 8004// SetPort sets the Port field's value. 8005func (s *CreateReplicationGroupInput) SetPort(v int64) *CreateReplicationGroupInput { 8006 s.Port = &v 8007 return s 8008} 8009 8010// SetPreferredCacheClusterAZs sets the PreferredCacheClusterAZs field's value. 8011func (s *CreateReplicationGroupInput) SetPreferredCacheClusterAZs(v []*string) *CreateReplicationGroupInput { 8012 s.PreferredCacheClusterAZs = v 8013 return s 8014} 8015 8016// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 8017func (s *CreateReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationGroupInput { 8018 s.PreferredMaintenanceWindow = &v 8019 return s 8020} 8021 8022// SetPrimaryClusterId sets the PrimaryClusterId field's value. 8023func (s *CreateReplicationGroupInput) SetPrimaryClusterId(v string) *CreateReplicationGroupInput { 8024 s.PrimaryClusterId = &v 8025 return s 8026} 8027 8028// SetReplicasPerNodeGroup sets the ReplicasPerNodeGroup field's value. 8029func (s *CreateReplicationGroupInput) SetReplicasPerNodeGroup(v int64) *CreateReplicationGroupInput { 8030 s.ReplicasPerNodeGroup = &v 8031 return s 8032} 8033 8034// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 8035func (s *CreateReplicationGroupInput) SetReplicationGroupDescription(v string) *CreateReplicationGroupInput { 8036 s.ReplicationGroupDescription = &v 8037 return s 8038} 8039 8040// SetReplicationGroupId sets the ReplicationGroupId field's value. 8041func (s *CreateReplicationGroupInput) SetReplicationGroupId(v string) *CreateReplicationGroupInput { 8042 s.ReplicationGroupId = &v 8043 return s 8044} 8045 8046// SetSecurityGroupIds sets the SecurityGroupIds field's value. 8047func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateReplicationGroupInput { 8048 s.SecurityGroupIds = v 8049 return s 8050} 8051 8052// SetSnapshotArns sets the SnapshotArns field's value. 8053func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { 8054 s.SnapshotArns = v 8055 return s 8056} 8057 8058// SetSnapshotName sets the SnapshotName field's value. 8059func (s *CreateReplicationGroupInput) SetSnapshotName(v string) *CreateReplicationGroupInput { 8060 s.SnapshotName = &v 8061 return s 8062} 8063 8064// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 8065func (s *CreateReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *CreateReplicationGroupInput { 8066 s.SnapshotRetentionLimit = &v 8067 return s 8068} 8069 8070// SetSnapshotWindow sets the SnapshotWindow field's value. 8071func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplicationGroupInput { 8072 s.SnapshotWindow = &v 8073 return s 8074} 8075 8076// SetTags sets the Tags field's value. 8077func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { 8078 s.Tags = v 8079 return s 8080} 8081 8082// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 8083func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { 8084 s.TransitEncryptionEnabled = &v 8085 return s 8086} 8087 8088type CreateReplicationGroupOutput struct { 8089 _ struct{} `type:"structure"` 8090 8091 // Contains all of the attributes of a specific Redis replication group. 8092 ReplicationGroup *ReplicationGroup `type:"structure"` 8093} 8094 8095// String returns the string representation 8096func (s CreateReplicationGroupOutput) String() string { 8097 return awsutil.Prettify(s) 8098} 8099 8100// GoString returns the string representation 8101func (s CreateReplicationGroupOutput) GoString() string { 8102 return s.String() 8103} 8104 8105// SetReplicationGroup sets the ReplicationGroup field's value. 8106func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { 8107 s.ReplicationGroup = v 8108 return s 8109} 8110 8111// Represents the input of a CreateSnapshot operation. 8112type CreateSnapshotInput struct { 8113 _ struct{} `type:"structure"` 8114 8115 // The identifier of an existing cluster. The snapshot is created from this 8116 // cluster. 8117 CacheClusterId *string `type:"string"` 8118 8119 // The identifier of an existing replication group. The snapshot is created 8120 // from this replication group. 8121 ReplicationGroupId *string `type:"string"` 8122 8123 // A name for the snapshot being created. 8124 // 8125 // SnapshotName is a required field 8126 SnapshotName *string `type:"string" required:"true"` 8127} 8128 8129// String returns the string representation 8130func (s CreateSnapshotInput) String() string { 8131 return awsutil.Prettify(s) 8132} 8133 8134// GoString returns the string representation 8135func (s CreateSnapshotInput) GoString() string { 8136 return s.String() 8137} 8138 8139// Validate inspects the fields of the type to determine if they are valid. 8140func (s *CreateSnapshotInput) Validate() error { 8141 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} 8142 if s.SnapshotName == nil { 8143 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 8144 } 8145 8146 if invalidParams.Len() > 0 { 8147 return invalidParams 8148 } 8149 return nil 8150} 8151 8152// SetCacheClusterId sets the CacheClusterId field's value. 8153func (s *CreateSnapshotInput) SetCacheClusterId(v string) *CreateSnapshotInput { 8154 s.CacheClusterId = &v 8155 return s 8156} 8157 8158// SetReplicationGroupId sets the ReplicationGroupId field's value. 8159func (s *CreateSnapshotInput) SetReplicationGroupId(v string) *CreateSnapshotInput { 8160 s.ReplicationGroupId = &v 8161 return s 8162} 8163 8164// SetSnapshotName sets the SnapshotName field's value. 8165func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { 8166 s.SnapshotName = &v 8167 return s 8168} 8169 8170type CreateSnapshotOutput struct { 8171 _ struct{} `type:"structure"` 8172 8173 // Represents a copy of an entire Redis cluster as of the time when the snapshot 8174 // was taken. 8175 Snapshot *Snapshot `type:"structure"` 8176} 8177 8178// String returns the string representation 8179func (s CreateSnapshotOutput) String() string { 8180 return awsutil.Prettify(s) 8181} 8182 8183// GoString returns the string representation 8184func (s CreateSnapshotOutput) GoString() string { 8185 return s.String() 8186} 8187 8188// SetSnapshot sets the Snapshot field's value. 8189func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { 8190 s.Snapshot = v 8191 return s 8192} 8193 8194type DecreaseReplicaCountInput struct { 8195 _ struct{} `type:"structure"` 8196 8197 // If True, the number of replica nodes is decreased immediately. ApplyImmediately=False 8198 // is not currently supported. 8199 // 8200 // ApplyImmediately is a required field 8201 ApplyImmediately *bool `type:"boolean" required:"true"` 8202 8203 // The number of read replica nodes you want at the completion of this operation. 8204 // For Redis (cluster mode disabled) replication groups, this is the number 8205 // of replica nodes in the replication group. For Redis (cluster mode enabled) 8206 // replication groups, this is the number of replica nodes in each of the replication 8207 // group's node groups. 8208 // 8209 // The minimum number of replicas in a shard or replication group is: 8210 // 8211 // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is 8212 // enabled: 1 If Multi-AZ with Automatic Failover is not enabled: 0 8213 // 8214 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 8215 // to a replica if your primary node fails) 8216 NewReplicaCount *int64 `type:"integer"` 8217 8218 // A list of ConfigureShard objects that can be used to configure each shard 8219 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 8220 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 8221 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 8222 8223 // A list of the node ids to remove from the replication group or node group 8224 // (shard). 8225 ReplicasToRemove []*string `type:"list"` 8226 8227 // The id of the replication group from which you want to remove replica nodes. 8228 // 8229 // ReplicationGroupId is a required field 8230 ReplicationGroupId *string `type:"string" required:"true"` 8231} 8232 8233// String returns the string representation 8234func (s DecreaseReplicaCountInput) String() string { 8235 return awsutil.Prettify(s) 8236} 8237 8238// GoString returns the string representation 8239func (s DecreaseReplicaCountInput) GoString() string { 8240 return s.String() 8241} 8242 8243// Validate inspects the fields of the type to determine if they are valid. 8244func (s *DecreaseReplicaCountInput) Validate() error { 8245 invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicaCountInput"} 8246 if s.ApplyImmediately == nil { 8247 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 8248 } 8249 if s.ReplicationGroupId == nil { 8250 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 8251 } 8252 if s.ReplicaConfiguration != nil { 8253 for i, v := range s.ReplicaConfiguration { 8254 if v == nil { 8255 continue 8256 } 8257 if err := v.Validate(); err != nil { 8258 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 8259 } 8260 } 8261 } 8262 8263 if invalidParams.Len() > 0 { 8264 return invalidParams 8265 } 8266 return nil 8267} 8268 8269// SetApplyImmediately sets the ApplyImmediately field's value. 8270func (s *DecreaseReplicaCountInput) SetApplyImmediately(v bool) *DecreaseReplicaCountInput { 8271 s.ApplyImmediately = &v 8272 return s 8273} 8274 8275// SetNewReplicaCount sets the NewReplicaCount field's value. 8276func (s *DecreaseReplicaCountInput) SetNewReplicaCount(v int64) *DecreaseReplicaCountInput { 8277 s.NewReplicaCount = &v 8278 return s 8279} 8280 8281// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 8282func (s *DecreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *DecreaseReplicaCountInput { 8283 s.ReplicaConfiguration = v 8284 return s 8285} 8286 8287// SetReplicasToRemove sets the ReplicasToRemove field's value. 8288func (s *DecreaseReplicaCountInput) SetReplicasToRemove(v []*string) *DecreaseReplicaCountInput { 8289 s.ReplicasToRemove = v 8290 return s 8291} 8292 8293// SetReplicationGroupId sets the ReplicationGroupId field's value. 8294func (s *DecreaseReplicaCountInput) SetReplicationGroupId(v string) *DecreaseReplicaCountInput { 8295 s.ReplicationGroupId = &v 8296 return s 8297} 8298 8299type DecreaseReplicaCountOutput struct { 8300 _ struct{} `type:"structure"` 8301 8302 // Contains all of the attributes of a specific Redis replication group. 8303 ReplicationGroup *ReplicationGroup `type:"structure"` 8304} 8305 8306// String returns the string representation 8307func (s DecreaseReplicaCountOutput) String() string { 8308 return awsutil.Prettify(s) 8309} 8310 8311// GoString returns the string representation 8312func (s DecreaseReplicaCountOutput) GoString() string { 8313 return s.String() 8314} 8315 8316// SetReplicationGroup sets the ReplicationGroup field's value. 8317func (s *DecreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *DecreaseReplicaCountOutput { 8318 s.ReplicationGroup = v 8319 return s 8320} 8321 8322// Represents the input of a DeleteCacheCluster operation. 8323type DeleteCacheClusterInput struct { 8324 _ struct{} `type:"structure"` 8325 8326 // The cluster identifier for the cluster to be deleted. This parameter is not 8327 // case sensitive. 8328 // 8329 // CacheClusterId is a required field 8330 CacheClusterId *string `type:"string" required:"true"` 8331 8332 // The user-supplied name of a final cluster snapshot. This is the unique name 8333 // that identifies the snapshot. ElastiCache creates the snapshot, and then 8334 // deletes the cluster immediately afterward. 8335 FinalSnapshotIdentifier *string `type:"string"` 8336} 8337 8338// String returns the string representation 8339func (s DeleteCacheClusterInput) String() string { 8340 return awsutil.Prettify(s) 8341} 8342 8343// GoString returns the string representation 8344func (s DeleteCacheClusterInput) GoString() string { 8345 return s.String() 8346} 8347 8348// Validate inspects the fields of the type to determine if they are valid. 8349func (s *DeleteCacheClusterInput) Validate() error { 8350 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} 8351 if s.CacheClusterId == nil { 8352 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 8353 } 8354 8355 if invalidParams.Len() > 0 { 8356 return invalidParams 8357 } 8358 return nil 8359} 8360 8361// SetCacheClusterId sets the CacheClusterId field's value. 8362func (s *DeleteCacheClusterInput) SetCacheClusterId(v string) *DeleteCacheClusterInput { 8363 s.CacheClusterId = &v 8364 return s 8365} 8366 8367// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 8368func (s *DeleteCacheClusterInput) SetFinalSnapshotIdentifier(v string) *DeleteCacheClusterInput { 8369 s.FinalSnapshotIdentifier = &v 8370 return s 8371} 8372 8373type DeleteCacheClusterOutput struct { 8374 _ struct{} `type:"structure"` 8375 8376 // Contains all of the attributes of a specific cluster. 8377 CacheCluster *CacheCluster `type:"structure"` 8378} 8379 8380// String returns the string representation 8381func (s DeleteCacheClusterOutput) String() string { 8382 return awsutil.Prettify(s) 8383} 8384 8385// GoString returns the string representation 8386func (s DeleteCacheClusterOutput) GoString() string { 8387 return s.String() 8388} 8389 8390// SetCacheCluster sets the CacheCluster field's value. 8391func (s *DeleteCacheClusterOutput) SetCacheCluster(v *CacheCluster) *DeleteCacheClusterOutput { 8392 s.CacheCluster = v 8393 return s 8394} 8395 8396// Represents the input of a DeleteCacheParameterGroup operation. 8397type DeleteCacheParameterGroupInput struct { 8398 _ struct{} `type:"structure"` 8399 8400 // The name of the cache parameter group to delete. 8401 // 8402 // The specified cache security group must not be associated with any clusters. 8403 // 8404 // CacheParameterGroupName is a required field 8405 CacheParameterGroupName *string `type:"string" required:"true"` 8406} 8407 8408// String returns the string representation 8409func (s DeleteCacheParameterGroupInput) String() string { 8410 return awsutil.Prettify(s) 8411} 8412 8413// GoString returns the string representation 8414func (s DeleteCacheParameterGroupInput) GoString() string { 8415 return s.String() 8416} 8417 8418// Validate inspects the fields of the type to determine if they are valid. 8419func (s *DeleteCacheParameterGroupInput) Validate() error { 8420 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} 8421 if s.CacheParameterGroupName == nil { 8422 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 8423 } 8424 8425 if invalidParams.Len() > 0 { 8426 return invalidParams 8427 } 8428 return nil 8429} 8430 8431// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8432func (s *DeleteCacheParameterGroupInput) SetCacheParameterGroupName(v string) *DeleteCacheParameterGroupInput { 8433 s.CacheParameterGroupName = &v 8434 return s 8435} 8436 8437type DeleteCacheParameterGroupOutput struct { 8438 _ struct{} `type:"structure"` 8439} 8440 8441// String returns the string representation 8442func (s DeleteCacheParameterGroupOutput) String() string { 8443 return awsutil.Prettify(s) 8444} 8445 8446// GoString returns the string representation 8447func (s DeleteCacheParameterGroupOutput) GoString() string { 8448 return s.String() 8449} 8450 8451// Represents the input of a DeleteCacheSecurityGroup operation. 8452type DeleteCacheSecurityGroupInput struct { 8453 _ struct{} `type:"structure"` 8454 8455 // The name of the cache security group to delete. 8456 // 8457 // You cannot delete the default security group. 8458 // 8459 // CacheSecurityGroupName is a required field 8460 CacheSecurityGroupName *string `type:"string" required:"true"` 8461} 8462 8463// String returns the string representation 8464func (s DeleteCacheSecurityGroupInput) String() string { 8465 return awsutil.Prettify(s) 8466} 8467 8468// GoString returns the string representation 8469func (s DeleteCacheSecurityGroupInput) GoString() string { 8470 return s.String() 8471} 8472 8473// Validate inspects the fields of the type to determine if they are valid. 8474func (s *DeleteCacheSecurityGroupInput) Validate() error { 8475 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} 8476 if s.CacheSecurityGroupName == nil { 8477 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 8478 } 8479 8480 if invalidParams.Len() > 0 { 8481 return invalidParams 8482 } 8483 return nil 8484} 8485 8486// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 8487func (s *DeleteCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *DeleteCacheSecurityGroupInput { 8488 s.CacheSecurityGroupName = &v 8489 return s 8490} 8491 8492type DeleteCacheSecurityGroupOutput struct { 8493 _ struct{} `type:"structure"` 8494} 8495 8496// String returns the string representation 8497func (s DeleteCacheSecurityGroupOutput) String() string { 8498 return awsutil.Prettify(s) 8499} 8500 8501// GoString returns the string representation 8502func (s DeleteCacheSecurityGroupOutput) GoString() string { 8503 return s.String() 8504} 8505 8506// Represents the input of a DeleteCacheSubnetGroup operation. 8507type DeleteCacheSubnetGroupInput struct { 8508 _ struct{} `type:"structure"` 8509 8510 // The name of the cache subnet group to delete. 8511 // 8512 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 8513 // 8514 // CacheSubnetGroupName is a required field 8515 CacheSubnetGroupName *string `type:"string" required:"true"` 8516} 8517 8518// String returns the string representation 8519func (s DeleteCacheSubnetGroupInput) String() string { 8520 return awsutil.Prettify(s) 8521} 8522 8523// GoString returns the string representation 8524func (s DeleteCacheSubnetGroupInput) GoString() string { 8525 return s.String() 8526} 8527 8528// Validate inspects the fields of the type to determine if they are valid. 8529func (s *DeleteCacheSubnetGroupInput) Validate() error { 8530 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} 8531 if s.CacheSubnetGroupName == nil { 8532 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 8533 } 8534 8535 if invalidParams.Len() > 0 { 8536 return invalidParams 8537 } 8538 return nil 8539} 8540 8541// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8542func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteCacheSubnetGroupInput { 8543 s.CacheSubnetGroupName = &v 8544 return s 8545} 8546 8547type DeleteCacheSubnetGroupOutput struct { 8548 _ struct{} `type:"structure"` 8549} 8550 8551// String returns the string representation 8552func (s DeleteCacheSubnetGroupOutput) String() string { 8553 return awsutil.Prettify(s) 8554} 8555 8556// GoString returns the string representation 8557func (s DeleteCacheSubnetGroupOutput) GoString() string { 8558 return s.String() 8559} 8560 8561// Represents the input of a DeleteReplicationGroup operation. 8562type DeleteReplicationGroupInput struct { 8563 _ struct{} `type:"structure"` 8564 8565 // The name of a final node group (shard) snapshot. ElastiCache creates the 8566 // snapshot from the primary node in the cluster, rather than one of the replicas; 8567 // this is to ensure that it captures the freshest data. After the final snapshot 8568 // is taken, the replication group is immediately deleted. 8569 FinalSnapshotIdentifier *string `type:"string"` 8570 8571 // The identifier for the cluster to be deleted. This parameter is not case 8572 // sensitive. 8573 // 8574 // ReplicationGroupId is a required field 8575 ReplicationGroupId *string `type:"string" required:"true"` 8576 8577 // If set to true, all of the read replicas are deleted, but the primary node 8578 // is retained. 8579 RetainPrimaryCluster *bool `type:"boolean"` 8580} 8581 8582// String returns the string representation 8583func (s DeleteReplicationGroupInput) String() string { 8584 return awsutil.Prettify(s) 8585} 8586 8587// GoString returns the string representation 8588func (s DeleteReplicationGroupInput) GoString() string { 8589 return s.String() 8590} 8591 8592// Validate inspects the fields of the type to determine if they are valid. 8593func (s *DeleteReplicationGroupInput) Validate() error { 8594 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} 8595 if s.ReplicationGroupId == nil { 8596 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 8597 } 8598 8599 if invalidParams.Len() > 0 { 8600 return invalidParams 8601 } 8602 return nil 8603} 8604 8605// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 8606func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { 8607 s.FinalSnapshotIdentifier = &v 8608 return s 8609} 8610 8611// SetReplicationGroupId sets the ReplicationGroupId field's value. 8612func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { 8613 s.ReplicationGroupId = &v 8614 return s 8615} 8616 8617// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. 8618func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { 8619 s.RetainPrimaryCluster = &v 8620 return s 8621} 8622 8623type DeleteReplicationGroupOutput struct { 8624 _ struct{} `type:"structure"` 8625 8626 // Contains all of the attributes of a specific Redis replication group. 8627 ReplicationGroup *ReplicationGroup `type:"structure"` 8628} 8629 8630// String returns the string representation 8631func (s DeleteReplicationGroupOutput) String() string { 8632 return awsutil.Prettify(s) 8633} 8634 8635// GoString returns the string representation 8636func (s DeleteReplicationGroupOutput) GoString() string { 8637 return s.String() 8638} 8639 8640// SetReplicationGroup sets the ReplicationGroup field's value. 8641func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { 8642 s.ReplicationGroup = v 8643 return s 8644} 8645 8646// Represents the input of a DeleteSnapshot operation. 8647type DeleteSnapshotInput struct { 8648 _ struct{} `type:"structure"` 8649 8650 // The name of the snapshot to be deleted. 8651 // 8652 // SnapshotName is a required field 8653 SnapshotName *string `type:"string" required:"true"` 8654} 8655 8656// String returns the string representation 8657func (s DeleteSnapshotInput) String() string { 8658 return awsutil.Prettify(s) 8659} 8660 8661// GoString returns the string representation 8662func (s DeleteSnapshotInput) GoString() string { 8663 return s.String() 8664} 8665 8666// Validate inspects the fields of the type to determine if they are valid. 8667func (s *DeleteSnapshotInput) Validate() error { 8668 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} 8669 if s.SnapshotName == nil { 8670 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 8671 } 8672 8673 if invalidParams.Len() > 0 { 8674 return invalidParams 8675 } 8676 return nil 8677} 8678 8679// SetSnapshotName sets the SnapshotName field's value. 8680func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { 8681 s.SnapshotName = &v 8682 return s 8683} 8684 8685type DeleteSnapshotOutput struct { 8686 _ struct{} `type:"structure"` 8687 8688 // Represents a copy of an entire Redis cluster as of the time when the snapshot 8689 // was taken. 8690 Snapshot *Snapshot `type:"structure"` 8691} 8692 8693// String returns the string representation 8694func (s DeleteSnapshotOutput) String() string { 8695 return awsutil.Prettify(s) 8696} 8697 8698// GoString returns the string representation 8699func (s DeleteSnapshotOutput) GoString() string { 8700 return s.String() 8701} 8702 8703// SetSnapshot sets the Snapshot field's value. 8704func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { 8705 s.Snapshot = v 8706 return s 8707} 8708 8709// Represents the input of a DescribeCacheClusters operation. 8710type DescribeCacheClustersInput struct { 8711 _ struct{} `type:"structure"` 8712 8713 // The user-supplied cluster identifier. If this parameter is specified, only 8714 // information about that specific cluster is returned. This parameter isn't 8715 // case sensitive. 8716 CacheClusterId *string `type:"string"` 8717 8718 // An optional marker returned from a prior request. Use this marker for pagination 8719 // of results from this operation. If this parameter is specified, the response 8720 // includes only records beyond the marker, up to the value specified by MaxRecords. 8721 Marker *string `type:"string"` 8722 8723 // The maximum number of records to include in the response. If more records 8724 // exist than the specified MaxRecords value, a marker is included in the response 8725 // so that the remaining results can be retrieved. 8726 // 8727 // Default: 100 8728 // 8729 // Constraints: minimum 20; maximum 100. 8730 MaxRecords *int64 `type:"integer"` 8731 8732 // An optional flag that can be included in the DescribeCacheCluster request 8733 // to show only nodes (API/CLI: clusters) that are not members of a replication 8734 // group. In practice, this mean Memcached and single node Redis clusters. 8735 ShowCacheClustersNotInReplicationGroups *bool `type:"boolean"` 8736 8737 // An optional flag that can be included in the DescribeCacheCluster request 8738 // to retrieve information about the individual cache nodes. 8739 ShowCacheNodeInfo *bool `type:"boolean"` 8740} 8741 8742// String returns the string representation 8743func (s DescribeCacheClustersInput) String() string { 8744 return awsutil.Prettify(s) 8745} 8746 8747// GoString returns the string representation 8748func (s DescribeCacheClustersInput) GoString() string { 8749 return s.String() 8750} 8751 8752// SetCacheClusterId sets the CacheClusterId field's value. 8753func (s *DescribeCacheClustersInput) SetCacheClusterId(v string) *DescribeCacheClustersInput { 8754 s.CacheClusterId = &v 8755 return s 8756} 8757 8758// SetMarker sets the Marker field's value. 8759func (s *DescribeCacheClustersInput) SetMarker(v string) *DescribeCacheClustersInput { 8760 s.Marker = &v 8761 return s 8762} 8763 8764// SetMaxRecords sets the MaxRecords field's value. 8765func (s *DescribeCacheClustersInput) SetMaxRecords(v int64) *DescribeCacheClustersInput { 8766 s.MaxRecords = &v 8767 return s 8768} 8769 8770// SetShowCacheClustersNotInReplicationGroups sets the ShowCacheClustersNotInReplicationGroups field's value. 8771func (s *DescribeCacheClustersInput) SetShowCacheClustersNotInReplicationGroups(v bool) *DescribeCacheClustersInput { 8772 s.ShowCacheClustersNotInReplicationGroups = &v 8773 return s 8774} 8775 8776// SetShowCacheNodeInfo sets the ShowCacheNodeInfo field's value. 8777func (s *DescribeCacheClustersInput) SetShowCacheNodeInfo(v bool) *DescribeCacheClustersInput { 8778 s.ShowCacheNodeInfo = &v 8779 return s 8780} 8781 8782// Represents the output of a DescribeCacheClusters operation. 8783type DescribeCacheClustersOutput struct { 8784 _ struct{} `type:"structure"` 8785 8786 // A list of clusters. Each item in the list contains detailed information about 8787 // one cluster. 8788 CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"` 8789 8790 // Provides an identifier to allow retrieval of paginated results. 8791 Marker *string `type:"string"` 8792} 8793 8794// String returns the string representation 8795func (s DescribeCacheClustersOutput) String() string { 8796 return awsutil.Prettify(s) 8797} 8798 8799// GoString returns the string representation 8800func (s DescribeCacheClustersOutput) GoString() string { 8801 return s.String() 8802} 8803 8804// SetCacheClusters sets the CacheClusters field's value. 8805func (s *DescribeCacheClustersOutput) SetCacheClusters(v []*CacheCluster) *DescribeCacheClustersOutput { 8806 s.CacheClusters = v 8807 return s 8808} 8809 8810// SetMarker sets the Marker field's value. 8811func (s *DescribeCacheClustersOutput) SetMarker(v string) *DescribeCacheClustersOutput { 8812 s.Marker = &v 8813 return s 8814} 8815 8816// Represents the input of a DescribeCacheEngineVersions operation. 8817type DescribeCacheEngineVersionsInput struct { 8818 _ struct{} `type:"structure"` 8819 8820 // The name of a specific cache parameter group family to return details for. 8821 // 8822 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 8823 // | redis4.0 | redis5.0 | 8824 // 8825 // Constraints: 8826 // 8827 // * Must be 1 to 255 alphanumeric characters 8828 // 8829 // * First character must be a letter 8830 // 8831 // * Cannot end with a hyphen or contain two consecutive hyphens 8832 CacheParameterGroupFamily *string `type:"string"` 8833 8834 // If true, specifies that only the default version of the specified engine 8835 // or engine and major version combination is to be returned. 8836 DefaultOnly *bool `type:"boolean"` 8837 8838 // The cache engine to return. Valid values: memcached | redis 8839 Engine *string `type:"string"` 8840 8841 // The cache engine version to return. 8842 // 8843 // Example: 1.4.14 8844 EngineVersion *string `type:"string"` 8845 8846 // An optional marker returned from a prior request. Use this marker for pagination 8847 // of results from this operation. If this parameter is specified, the response 8848 // includes only records beyond the marker, up to the value specified by MaxRecords. 8849 Marker *string `type:"string"` 8850 8851 // The maximum number of records to include in the response. If more records 8852 // exist than the specified MaxRecords value, a marker is included in the response 8853 // so that the remaining results can be retrieved. 8854 // 8855 // Default: 100 8856 // 8857 // Constraints: minimum 20; maximum 100. 8858 MaxRecords *int64 `type:"integer"` 8859} 8860 8861// String returns the string representation 8862func (s DescribeCacheEngineVersionsInput) String() string { 8863 return awsutil.Prettify(s) 8864} 8865 8866// GoString returns the string representation 8867func (s DescribeCacheEngineVersionsInput) GoString() string { 8868 return s.String() 8869} 8870 8871// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8872func (s *DescribeCacheEngineVersionsInput) SetCacheParameterGroupFamily(v string) *DescribeCacheEngineVersionsInput { 8873 s.CacheParameterGroupFamily = &v 8874 return s 8875} 8876 8877// SetDefaultOnly sets the DefaultOnly field's value. 8878func (s *DescribeCacheEngineVersionsInput) SetDefaultOnly(v bool) *DescribeCacheEngineVersionsInput { 8879 s.DefaultOnly = &v 8880 return s 8881} 8882 8883// SetEngine sets the Engine field's value. 8884func (s *DescribeCacheEngineVersionsInput) SetEngine(v string) *DescribeCacheEngineVersionsInput { 8885 s.Engine = &v 8886 return s 8887} 8888 8889// SetEngineVersion sets the EngineVersion field's value. 8890func (s *DescribeCacheEngineVersionsInput) SetEngineVersion(v string) *DescribeCacheEngineVersionsInput { 8891 s.EngineVersion = &v 8892 return s 8893} 8894 8895// SetMarker sets the Marker field's value. 8896func (s *DescribeCacheEngineVersionsInput) SetMarker(v string) *DescribeCacheEngineVersionsInput { 8897 s.Marker = &v 8898 return s 8899} 8900 8901// SetMaxRecords sets the MaxRecords field's value. 8902func (s *DescribeCacheEngineVersionsInput) SetMaxRecords(v int64) *DescribeCacheEngineVersionsInput { 8903 s.MaxRecords = &v 8904 return s 8905} 8906 8907// Represents the output of a DescribeCacheEngineVersions operation. 8908type DescribeCacheEngineVersionsOutput struct { 8909 _ struct{} `type:"structure"` 8910 8911 // A list of cache engine version details. Each element in the list contains 8912 // detailed information about one cache engine version. 8913 CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"` 8914 8915 // Provides an identifier to allow retrieval of paginated results. 8916 Marker *string `type:"string"` 8917} 8918 8919// String returns the string representation 8920func (s DescribeCacheEngineVersionsOutput) String() string { 8921 return awsutil.Prettify(s) 8922} 8923 8924// GoString returns the string representation 8925func (s DescribeCacheEngineVersionsOutput) GoString() string { 8926 return s.String() 8927} 8928 8929// SetCacheEngineVersions sets the CacheEngineVersions field's value. 8930func (s *DescribeCacheEngineVersionsOutput) SetCacheEngineVersions(v []*CacheEngineVersion) *DescribeCacheEngineVersionsOutput { 8931 s.CacheEngineVersions = v 8932 return s 8933} 8934 8935// SetMarker sets the Marker field's value. 8936func (s *DescribeCacheEngineVersionsOutput) SetMarker(v string) *DescribeCacheEngineVersionsOutput { 8937 s.Marker = &v 8938 return s 8939} 8940 8941// Represents the input of a DescribeCacheParameterGroups operation. 8942type DescribeCacheParameterGroupsInput struct { 8943 _ struct{} `type:"structure"` 8944 8945 // The name of a specific cache parameter group to return details for. 8946 CacheParameterGroupName *string `type:"string"` 8947 8948 // An optional marker returned from a prior request. Use this marker for pagination 8949 // of results from this operation. If this parameter is specified, the response 8950 // includes only records beyond the marker, up to the value specified by MaxRecords. 8951 Marker *string `type:"string"` 8952 8953 // The maximum number of records to include in the response. If more records 8954 // exist than the specified MaxRecords value, a marker is included in the response 8955 // so that the remaining results can be retrieved. 8956 // 8957 // Default: 100 8958 // 8959 // Constraints: minimum 20; maximum 100. 8960 MaxRecords *int64 `type:"integer"` 8961} 8962 8963// String returns the string representation 8964func (s DescribeCacheParameterGroupsInput) String() string { 8965 return awsutil.Prettify(s) 8966} 8967 8968// GoString returns the string representation 8969func (s DescribeCacheParameterGroupsInput) GoString() string { 8970 return s.String() 8971} 8972 8973// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8974func (s *DescribeCacheParameterGroupsInput) SetCacheParameterGroupName(v string) *DescribeCacheParameterGroupsInput { 8975 s.CacheParameterGroupName = &v 8976 return s 8977} 8978 8979// SetMarker sets the Marker field's value. 8980func (s *DescribeCacheParameterGroupsInput) SetMarker(v string) *DescribeCacheParameterGroupsInput { 8981 s.Marker = &v 8982 return s 8983} 8984 8985// SetMaxRecords sets the MaxRecords field's value. 8986func (s *DescribeCacheParameterGroupsInput) SetMaxRecords(v int64) *DescribeCacheParameterGroupsInput { 8987 s.MaxRecords = &v 8988 return s 8989} 8990 8991// Represents the output of a DescribeCacheParameterGroups operation. 8992type DescribeCacheParameterGroupsOutput struct { 8993 _ struct{} `type:"structure"` 8994 8995 // A list of cache parameter groups. Each element in the list contains detailed 8996 // information about one cache parameter group. 8997 CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"` 8998 8999 // Provides an identifier to allow retrieval of paginated results. 9000 Marker *string `type:"string"` 9001} 9002 9003// String returns the string representation 9004func (s DescribeCacheParameterGroupsOutput) String() string { 9005 return awsutil.Prettify(s) 9006} 9007 9008// GoString returns the string representation 9009func (s DescribeCacheParameterGroupsOutput) GoString() string { 9010 return s.String() 9011} 9012 9013// SetCacheParameterGroups sets the CacheParameterGroups field's value. 9014func (s *DescribeCacheParameterGroupsOutput) SetCacheParameterGroups(v []*CacheParameterGroup) *DescribeCacheParameterGroupsOutput { 9015 s.CacheParameterGroups = v 9016 return s 9017} 9018 9019// SetMarker sets the Marker field's value. 9020func (s *DescribeCacheParameterGroupsOutput) SetMarker(v string) *DescribeCacheParameterGroupsOutput { 9021 s.Marker = &v 9022 return s 9023} 9024 9025// Represents the input of a DescribeCacheParameters operation. 9026type DescribeCacheParametersInput struct { 9027 _ struct{} `type:"structure"` 9028 9029 // The name of a specific cache parameter group to return details for. 9030 // 9031 // CacheParameterGroupName is a required field 9032 CacheParameterGroupName *string `type:"string" required:"true"` 9033 9034 // An optional marker returned from a prior request. Use this marker for pagination 9035 // of results from this operation. If this parameter is specified, the response 9036 // includes only records beyond the marker, up to the value specified by MaxRecords. 9037 Marker *string `type:"string"` 9038 9039 // The maximum number of records to include in the response. If more records 9040 // exist than the specified MaxRecords value, a marker is included in the response 9041 // so that the remaining results can be retrieved. 9042 // 9043 // Default: 100 9044 // 9045 // Constraints: minimum 20; maximum 100. 9046 MaxRecords *int64 `type:"integer"` 9047 9048 // The parameter types to return. 9049 // 9050 // Valid values: user | system | engine-default 9051 Source *string `type:"string"` 9052} 9053 9054// String returns the string representation 9055func (s DescribeCacheParametersInput) String() string { 9056 return awsutil.Prettify(s) 9057} 9058 9059// GoString returns the string representation 9060func (s DescribeCacheParametersInput) GoString() string { 9061 return s.String() 9062} 9063 9064// Validate inspects the fields of the type to determine if they are valid. 9065func (s *DescribeCacheParametersInput) Validate() error { 9066 invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} 9067 if s.CacheParameterGroupName == nil { 9068 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 9069 } 9070 9071 if invalidParams.Len() > 0 { 9072 return invalidParams 9073 } 9074 return nil 9075} 9076 9077// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9078func (s *DescribeCacheParametersInput) SetCacheParameterGroupName(v string) *DescribeCacheParametersInput { 9079 s.CacheParameterGroupName = &v 9080 return s 9081} 9082 9083// SetMarker sets the Marker field's value. 9084func (s *DescribeCacheParametersInput) SetMarker(v string) *DescribeCacheParametersInput { 9085 s.Marker = &v 9086 return s 9087} 9088 9089// SetMaxRecords sets the MaxRecords field's value. 9090func (s *DescribeCacheParametersInput) SetMaxRecords(v int64) *DescribeCacheParametersInput { 9091 s.MaxRecords = &v 9092 return s 9093} 9094 9095// SetSource sets the Source field's value. 9096func (s *DescribeCacheParametersInput) SetSource(v string) *DescribeCacheParametersInput { 9097 s.Source = &v 9098 return s 9099} 9100 9101// Represents the output of a DescribeCacheParameters operation. 9102type DescribeCacheParametersOutput struct { 9103 _ struct{} `type:"structure"` 9104 9105 // A list of parameters specific to a particular cache node type. Each element 9106 // in the list contains detailed information about one parameter. 9107 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 9108 9109 // Provides an identifier to allow retrieval of paginated results. 9110 Marker *string `type:"string"` 9111 9112 // A list of Parameter instances. 9113 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 9114} 9115 9116// String returns the string representation 9117func (s DescribeCacheParametersOutput) String() string { 9118 return awsutil.Prettify(s) 9119} 9120 9121// GoString returns the string representation 9122func (s DescribeCacheParametersOutput) GoString() string { 9123 return s.String() 9124} 9125 9126// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 9127func (s *DescribeCacheParametersOutput) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *DescribeCacheParametersOutput { 9128 s.CacheNodeTypeSpecificParameters = v 9129 return s 9130} 9131 9132// SetMarker sets the Marker field's value. 9133func (s *DescribeCacheParametersOutput) SetMarker(v string) *DescribeCacheParametersOutput { 9134 s.Marker = &v 9135 return s 9136} 9137 9138// SetParameters sets the Parameters field's value. 9139func (s *DescribeCacheParametersOutput) SetParameters(v []*Parameter) *DescribeCacheParametersOutput { 9140 s.Parameters = v 9141 return s 9142} 9143 9144// Represents the input of a DescribeCacheSecurityGroups operation. 9145type DescribeCacheSecurityGroupsInput struct { 9146 _ struct{} `type:"structure"` 9147 9148 // The name of the cache security group to return details for. 9149 CacheSecurityGroupName *string `type:"string"` 9150 9151 // An optional marker returned from a prior request. Use this marker for pagination 9152 // of results from this operation. If this parameter is specified, the response 9153 // includes only records beyond the marker, up to the value specified by MaxRecords. 9154 Marker *string `type:"string"` 9155 9156 // The maximum number of records to include in the response. If more records 9157 // exist than the specified MaxRecords value, a marker is included in the response 9158 // so that the remaining results can be retrieved. 9159 // 9160 // Default: 100 9161 // 9162 // Constraints: minimum 20; maximum 100. 9163 MaxRecords *int64 `type:"integer"` 9164} 9165 9166// String returns the string representation 9167func (s DescribeCacheSecurityGroupsInput) String() string { 9168 return awsutil.Prettify(s) 9169} 9170 9171// GoString returns the string representation 9172func (s DescribeCacheSecurityGroupsInput) GoString() string { 9173 return s.String() 9174} 9175 9176// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 9177func (s *DescribeCacheSecurityGroupsInput) SetCacheSecurityGroupName(v string) *DescribeCacheSecurityGroupsInput { 9178 s.CacheSecurityGroupName = &v 9179 return s 9180} 9181 9182// SetMarker sets the Marker field's value. 9183func (s *DescribeCacheSecurityGroupsInput) SetMarker(v string) *DescribeCacheSecurityGroupsInput { 9184 s.Marker = &v 9185 return s 9186} 9187 9188// SetMaxRecords sets the MaxRecords field's value. 9189func (s *DescribeCacheSecurityGroupsInput) SetMaxRecords(v int64) *DescribeCacheSecurityGroupsInput { 9190 s.MaxRecords = &v 9191 return s 9192} 9193 9194// Represents the output of a DescribeCacheSecurityGroups operation. 9195type DescribeCacheSecurityGroupsOutput struct { 9196 _ struct{} `type:"structure"` 9197 9198 // A list of cache security groups. Each element in the list contains detailed 9199 // information about one group. 9200 CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"` 9201 9202 // Provides an identifier to allow retrieval of paginated results. 9203 Marker *string `type:"string"` 9204} 9205 9206// String returns the string representation 9207func (s DescribeCacheSecurityGroupsOutput) String() string { 9208 return awsutil.Prettify(s) 9209} 9210 9211// GoString returns the string representation 9212func (s DescribeCacheSecurityGroupsOutput) GoString() string { 9213 return s.String() 9214} 9215 9216// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 9217func (s *DescribeCacheSecurityGroupsOutput) SetCacheSecurityGroups(v []*CacheSecurityGroup) *DescribeCacheSecurityGroupsOutput { 9218 s.CacheSecurityGroups = v 9219 return s 9220} 9221 9222// SetMarker sets the Marker field's value. 9223func (s *DescribeCacheSecurityGroupsOutput) SetMarker(v string) *DescribeCacheSecurityGroupsOutput { 9224 s.Marker = &v 9225 return s 9226} 9227 9228// Represents the input of a DescribeCacheSubnetGroups operation. 9229type DescribeCacheSubnetGroupsInput struct { 9230 _ struct{} `type:"structure"` 9231 9232 // The name of the cache subnet group to return details for. 9233 CacheSubnetGroupName *string `type:"string"` 9234 9235 // An optional marker returned from a prior request. Use this marker for pagination 9236 // of results from this operation. If this parameter is specified, the response 9237 // includes only records beyond the marker, up to the value specified by MaxRecords. 9238 Marker *string `type:"string"` 9239 9240 // The maximum number of records to include in the response. If more records 9241 // exist than the specified MaxRecords value, a marker is included in the response 9242 // so that the remaining results can be retrieved. 9243 // 9244 // Default: 100 9245 // 9246 // Constraints: minimum 20; maximum 100. 9247 MaxRecords *int64 `type:"integer"` 9248} 9249 9250// String returns the string representation 9251func (s DescribeCacheSubnetGroupsInput) String() string { 9252 return awsutil.Prettify(s) 9253} 9254 9255// GoString returns the string representation 9256func (s DescribeCacheSubnetGroupsInput) GoString() string { 9257 return s.String() 9258} 9259 9260// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9261func (s *DescribeCacheSubnetGroupsInput) SetCacheSubnetGroupName(v string) *DescribeCacheSubnetGroupsInput { 9262 s.CacheSubnetGroupName = &v 9263 return s 9264} 9265 9266// SetMarker sets the Marker field's value. 9267func (s *DescribeCacheSubnetGroupsInput) SetMarker(v string) *DescribeCacheSubnetGroupsInput { 9268 s.Marker = &v 9269 return s 9270} 9271 9272// SetMaxRecords sets the MaxRecords field's value. 9273func (s *DescribeCacheSubnetGroupsInput) SetMaxRecords(v int64) *DescribeCacheSubnetGroupsInput { 9274 s.MaxRecords = &v 9275 return s 9276} 9277 9278// Represents the output of a DescribeCacheSubnetGroups operation. 9279type DescribeCacheSubnetGroupsOutput struct { 9280 _ struct{} `type:"structure"` 9281 9282 // A list of cache subnet groups. Each element in the list contains detailed 9283 // information about one group. 9284 CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"` 9285 9286 // Provides an identifier to allow retrieval of paginated results. 9287 Marker *string `type:"string"` 9288} 9289 9290// String returns the string representation 9291func (s DescribeCacheSubnetGroupsOutput) String() string { 9292 return awsutil.Prettify(s) 9293} 9294 9295// GoString returns the string representation 9296func (s DescribeCacheSubnetGroupsOutput) GoString() string { 9297 return s.String() 9298} 9299 9300// SetCacheSubnetGroups sets the CacheSubnetGroups field's value. 9301func (s *DescribeCacheSubnetGroupsOutput) SetCacheSubnetGroups(v []*CacheSubnetGroup) *DescribeCacheSubnetGroupsOutput { 9302 s.CacheSubnetGroups = v 9303 return s 9304} 9305 9306// SetMarker sets the Marker field's value. 9307func (s *DescribeCacheSubnetGroupsOutput) SetMarker(v string) *DescribeCacheSubnetGroupsOutput { 9308 s.Marker = &v 9309 return s 9310} 9311 9312// Represents the input of a DescribeEngineDefaultParameters operation. 9313type DescribeEngineDefaultParametersInput struct { 9314 _ struct{} `type:"structure"` 9315 9316 // The name of the cache parameter group family. 9317 // 9318 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 9319 // | redis4.0 | redis5.0 | 9320 // 9321 // CacheParameterGroupFamily is a required field 9322 CacheParameterGroupFamily *string `type:"string" required:"true"` 9323 9324 // An optional marker returned from a prior request. Use this marker for pagination 9325 // of results from this operation. If this parameter is specified, the response 9326 // includes only records beyond the marker, up to the value specified by MaxRecords. 9327 Marker *string `type:"string"` 9328 9329 // The maximum number of records to include in the response. If more records 9330 // exist than the specified MaxRecords value, a marker is included in the response 9331 // so that the remaining results can be retrieved. 9332 // 9333 // Default: 100 9334 // 9335 // Constraints: minimum 20; maximum 100. 9336 MaxRecords *int64 `type:"integer"` 9337} 9338 9339// String returns the string representation 9340func (s DescribeEngineDefaultParametersInput) String() string { 9341 return awsutil.Prettify(s) 9342} 9343 9344// GoString returns the string representation 9345func (s DescribeEngineDefaultParametersInput) GoString() string { 9346 return s.String() 9347} 9348 9349// Validate inspects the fields of the type to determine if they are valid. 9350func (s *DescribeEngineDefaultParametersInput) Validate() error { 9351 invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} 9352 if s.CacheParameterGroupFamily == nil { 9353 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 9354 } 9355 9356 if invalidParams.Len() > 0 { 9357 return invalidParams 9358 } 9359 return nil 9360} 9361 9362// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 9363func (s *DescribeEngineDefaultParametersInput) SetCacheParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput { 9364 s.CacheParameterGroupFamily = &v 9365 return s 9366} 9367 9368// SetMarker sets the Marker field's value. 9369func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput { 9370 s.Marker = &v 9371 return s 9372} 9373 9374// SetMaxRecords sets the MaxRecords field's value. 9375func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput { 9376 s.MaxRecords = &v 9377 return s 9378} 9379 9380type DescribeEngineDefaultParametersOutput struct { 9381 _ struct{} `type:"structure"` 9382 9383 // Represents the output of a DescribeEngineDefaultParameters operation. 9384 EngineDefaults *EngineDefaults `type:"structure"` 9385} 9386 9387// String returns the string representation 9388func (s DescribeEngineDefaultParametersOutput) String() string { 9389 return awsutil.Prettify(s) 9390} 9391 9392// GoString returns the string representation 9393func (s DescribeEngineDefaultParametersOutput) GoString() string { 9394 return s.String() 9395} 9396 9397// SetEngineDefaults sets the EngineDefaults field's value. 9398func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput { 9399 s.EngineDefaults = v 9400 return s 9401} 9402 9403// Represents the input of a DescribeEvents operation. 9404type DescribeEventsInput struct { 9405 _ struct{} `type:"structure"` 9406 9407 // The number of minutes worth of events to retrieve. 9408 Duration *int64 `type:"integer"` 9409 9410 // The end of the time interval for which to retrieve events, specified in ISO 9411 // 8601 format. 9412 // 9413 // Example: 2017-03-30T07:03:49.555Z 9414 EndTime *time.Time `type:"timestamp"` 9415 9416 // An optional marker returned from a prior request. Use this marker for pagination 9417 // of results from this operation. If this parameter is specified, the response 9418 // includes only records beyond the marker, up to the value specified by MaxRecords. 9419 Marker *string `type:"string"` 9420 9421 // The maximum number of records to include in the response. If more records 9422 // exist than the specified MaxRecords value, a marker is included in the response 9423 // so that the remaining results can be retrieved. 9424 // 9425 // Default: 100 9426 // 9427 // Constraints: minimum 20; maximum 100. 9428 MaxRecords *int64 `type:"integer"` 9429 9430 // The identifier of the event source for which events are returned. If not 9431 // specified, all sources are included in the response. 9432 SourceIdentifier *string `type:"string"` 9433 9434 // The event source to retrieve events for. If no value is specified, all events 9435 // are returned. 9436 SourceType *string `type:"string" enum:"SourceType"` 9437 9438 // The beginning of the time interval to retrieve events for, specified in ISO 9439 // 8601 format. 9440 // 9441 // Example: 2017-03-30T07:03:49.555Z 9442 StartTime *time.Time `type:"timestamp"` 9443} 9444 9445// String returns the string representation 9446func (s DescribeEventsInput) String() string { 9447 return awsutil.Prettify(s) 9448} 9449 9450// GoString returns the string representation 9451func (s DescribeEventsInput) GoString() string { 9452 return s.String() 9453} 9454 9455// SetDuration sets the Duration field's value. 9456func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 9457 s.Duration = &v 9458 return s 9459} 9460 9461// SetEndTime sets the EndTime field's value. 9462func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 9463 s.EndTime = &v 9464 return s 9465} 9466 9467// SetMarker sets the Marker field's value. 9468func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 9469 s.Marker = &v 9470 return s 9471} 9472 9473// SetMaxRecords sets the MaxRecords field's value. 9474func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 9475 s.MaxRecords = &v 9476 return s 9477} 9478 9479// SetSourceIdentifier sets the SourceIdentifier field's value. 9480func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 9481 s.SourceIdentifier = &v 9482 return s 9483} 9484 9485// SetSourceType sets the SourceType field's value. 9486func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 9487 s.SourceType = &v 9488 return s 9489} 9490 9491// SetStartTime sets the StartTime field's value. 9492func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 9493 s.StartTime = &v 9494 return s 9495} 9496 9497// Represents the output of a DescribeEvents operation. 9498type DescribeEventsOutput struct { 9499 _ struct{} `type:"structure"` 9500 9501 // A list of events. Each element in the list contains detailed information 9502 // about one event. 9503 Events []*Event `locationNameList:"Event" type:"list"` 9504 9505 // Provides an identifier to allow retrieval of paginated results. 9506 Marker *string `type:"string"` 9507} 9508 9509// String returns the string representation 9510func (s DescribeEventsOutput) String() string { 9511 return awsutil.Prettify(s) 9512} 9513 9514// GoString returns the string representation 9515func (s DescribeEventsOutput) GoString() string { 9516 return s.String() 9517} 9518 9519// SetEvents sets the Events field's value. 9520func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 9521 s.Events = v 9522 return s 9523} 9524 9525// SetMarker sets the Marker field's value. 9526func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 9527 s.Marker = &v 9528 return s 9529} 9530 9531// Represents the input of a DescribeReplicationGroups operation. 9532type DescribeReplicationGroupsInput struct { 9533 _ struct{} `type:"structure"` 9534 9535 // An optional marker returned from a prior request. Use this marker for pagination 9536 // of results from this operation. If this parameter is specified, the response 9537 // includes only records beyond the marker, up to the value specified by MaxRecords. 9538 Marker *string `type:"string"` 9539 9540 // The maximum number of records to include in the response. If more records 9541 // exist than the specified MaxRecords value, a marker is included in the response 9542 // so that the remaining results can be retrieved. 9543 // 9544 // Default: 100 9545 // 9546 // Constraints: minimum 20; maximum 100. 9547 MaxRecords *int64 `type:"integer"` 9548 9549 // The identifier for the replication group to be described. This parameter 9550 // is not case sensitive. 9551 // 9552 // If you do not specify this parameter, information about all replication groups 9553 // is returned. 9554 ReplicationGroupId *string `type:"string"` 9555} 9556 9557// String returns the string representation 9558func (s DescribeReplicationGroupsInput) String() string { 9559 return awsutil.Prettify(s) 9560} 9561 9562// GoString returns the string representation 9563func (s DescribeReplicationGroupsInput) GoString() string { 9564 return s.String() 9565} 9566 9567// SetMarker sets the Marker field's value. 9568func (s *DescribeReplicationGroupsInput) SetMarker(v string) *DescribeReplicationGroupsInput { 9569 s.Marker = &v 9570 return s 9571} 9572 9573// SetMaxRecords sets the MaxRecords field's value. 9574func (s *DescribeReplicationGroupsInput) SetMaxRecords(v int64) *DescribeReplicationGroupsInput { 9575 s.MaxRecords = &v 9576 return s 9577} 9578 9579// SetReplicationGroupId sets the ReplicationGroupId field's value. 9580func (s *DescribeReplicationGroupsInput) SetReplicationGroupId(v string) *DescribeReplicationGroupsInput { 9581 s.ReplicationGroupId = &v 9582 return s 9583} 9584 9585// Represents the output of a DescribeReplicationGroups operation. 9586type DescribeReplicationGroupsOutput struct { 9587 _ struct{} `type:"structure"` 9588 9589 // Provides an identifier to allow retrieval of paginated results. 9590 Marker *string `type:"string"` 9591 9592 // A list of replication groups. Each item in the list contains detailed information 9593 // about one replication group. 9594 ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"` 9595} 9596 9597// String returns the string representation 9598func (s DescribeReplicationGroupsOutput) String() string { 9599 return awsutil.Prettify(s) 9600} 9601 9602// GoString returns the string representation 9603func (s DescribeReplicationGroupsOutput) GoString() string { 9604 return s.String() 9605} 9606 9607// SetMarker sets the Marker field's value. 9608func (s *DescribeReplicationGroupsOutput) SetMarker(v string) *DescribeReplicationGroupsOutput { 9609 s.Marker = &v 9610 return s 9611} 9612 9613// SetReplicationGroups sets the ReplicationGroups field's value. 9614func (s *DescribeReplicationGroupsOutput) SetReplicationGroups(v []*ReplicationGroup) *DescribeReplicationGroupsOutput { 9615 s.ReplicationGroups = v 9616 return s 9617} 9618 9619// Represents the input of a DescribeReservedCacheNodes operation. 9620type DescribeReservedCacheNodesInput struct { 9621 _ struct{} `type:"structure"` 9622 9623 // The cache node type filter value. Use this parameter to show only those reservations 9624 // matching the specified cache node type. 9625 // 9626 // The following node types are supported by ElastiCache. Generally speaking, 9627 // the current generation types provide more memory and computational power 9628 // at lower cost when compared to their equivalent previous generation counterparts. 9629 // 9630 // * General purpose: Current generation: M5 node types: cache.m5.large, 9631 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 9632 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 9633 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 9634 // cache.t2.medium Previous generation: (not recommended) T1 node types: 9635 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 9636 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 9637 // cache.m3.2xlarge 9638 // 9639 // * Compute optimized: Previous generation: (not recommended) C1 node types: 9640 // cache.c1.xlarge 9641 // 9642 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 9643 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 9644 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 9645 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 9646 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 9647 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 9648 // cache.r3.8xlarge 9649 // 9650 // Additional node type info 9651 // 9652 // * All current generation instance types are created in Amazon VPC by default. 9653 // 9654 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 9655 // 9656 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 9657 // 9658 // * Redis configuration variables appendonly and appendfsync are not supported 9659 // on Redis version 2.8.22 and later. 9660 CacheNodeType *string `type:"string"` 9661 9662 // The duration filter value, specified in years or seconds. Use this parameter 9663 // to show only reservations for this duration. 9664 // 9665 // Valid Values: 1 | 3 | 31536000 | 94608000 9666 Duration *string `type:"string"` 9667 9668 // An optional marker returned from a prior request. Use this marker for pagination 9669 // of results from this operation. If this parameter is specified, the response 9670 // includes only records beyond the marker, up to the value specified by MaxRecords. 9671 Marker *string `type:"string"` 9672 9673 // The maximum number of records to include in the response. If more records 9674 // exist than the specified MaxRecords value, a marker is included in the response 9675 // so that the remaining results can be retrieved. 9676 // 9677 // Default: 100 9678 // 9679 // Constraints: minimum 20; maximum 100. 9680 MaxRecords *int64 `type:"integer"` 9681 9682 // The offering type filter value. Use this parameter to show only the available 9683 // offerings matching the specified offering type. 9684 // 9685 // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 9686 OfferingType *string `type:"string"` 9687 9688 // The product description filter value. Use this parameter to show only those 9689 // reservations matching the specified product description. 9690 ProductDescription *string `type:"string"` 9691 9692 // The reserved cache node identifier filter value. Use this parameter to show 9693 // only the reservation that matches the specified reservation ID. 9694 ReservedCacheNodeId *string `type:"string"` 9695 9696 // The offering identifier filter value. Use this parameter to show only purchased 9697 // reservations matching the specified offering identifier. 9698 ReservedCacheNodesOfferingId *string `type:"string"` 9699} 9700 9701// String returns the string representation 9702func (s DescribeReservedCacheNodesInput) String() string { 9703 return awsutil.Prettify(s) 9704} 9705 9706// GoString returns the string representation 9707func (s DescribeReservedCacheNodesInput) GoString() string { 9708 return s.String() 9709} 9710 9711// SetCacheNodeType sets the CacheNodeType field's value. 9712func (s *DescribeReservedCacheNodesInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesInput { 9713 s.CacheNodeType = &v 9714 return s 9715} 9716 9717// SetDuration sets the Duration field's value. 9718func (s *DescribeReservedCacheNodesInput) SetDuration(v string) *DescribeReservedCacheNodesInput { 9719 s.Duration = &v 9720 return s 9721} 9722 9723// SetMarker sets the Marker field's value. 9724func (s *DescribeReservedCacheNodesInput) SetMarker(v string) *DescribeReservedCacheNodesInput { 9725 s.Marker = &v 9726 return s 9727} 9728 9729// SetMaxRecords sets the MaxRecords field's value. 9730func (s *DescribeReservedCacheNodesInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesInput { 9731 s.MaxRecords = &v 9732 return s 9733} 9734 9735// SetOfferingType sets the OfferingType field's value. 9736func (s *DescribeReservedCacheNodesInput) SetOfferingType(v string) *DescribeReservedCacheNodesInput { 9737 s.OfferingType = &v 9738 return s 9739} 9740 9741// SetProductDescription sets the ProductDescription field's value. 9742func (s *DescribeReservedCacheNodesInput) SetProductDescription(v string) *DescribeReservedCacheNodesInput { 9743 s.ProductDescription = &v 9744 return s 9745} 9746 9747// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 9748func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodeId(v string) *DescribeReservedCacheNodesInput { 9749 s.ReservedCacheNodeId = &v 9750 return s 9751} 9752 9753// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 9754func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesInput { 9755 s.ReservedCacheNodesOfferingId = &v 9756 return s 9757} 9758 9759// Represents the input of a DescribeReservedCacheNodesOfferings operation. 9760type DescribeReservedCacheNodesOfferingsInput struct { 9761 _ struct{} `type:"structure"` 9762 9763 // The cache node type filter value. Use this parameter to show only the available 9764 // offerings matching the specified cache node type. 9765 // 9766 // The following node types are supported by ElastiCache. Generally speaking, 9767 // the current generation types provide more memory and computational power 9768 // at lower cost when compared to their equivalent previous generation counterparts. 9769 // 9770 // * General purpose: Current generation: M5 node types: cache.m5.large, 9771 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 9772 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 9773 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 9774 // cache.t2.medium Previous generation: (not recommended) T1 node types: 9775 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 9776 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 9777 // cache.m3.2xlarge 9778 // 9779 // * Compute optimized: Previous generation: (not recommended) C1 node types: 9780 // cache.c1.xlarge 9781 // 9782 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 9783 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 9784 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 9785 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 9786 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 9787 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 9788 // cache.r3.8xlarge 9789 // 9790 // Additional node type info 9791 // 9792 // * All current generation instance types are created in Amazon VPC by default. 9793 // 9794 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 9795 // 9796 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 9797 // 9798 // * Redis configuration variables appendonly and appendfsync are not supported 9799 // on Redis version 2.8.22 and later. 9800 CacheNodeType *string `type:"string"` 9801 9802 // Duration filter value, specified in years or seconds. Use this parameter 9803 // to show only reservations for a given duration. 9804 // 9805 // Valid Values: 1 | 3 | 31536000 | 94608000 9806 Duration *string `type:"string"` 9807 9808 // An optional marker returned from a prior request. Use this marker for pagination 9809 // of results from this operation. If this parameter is specified, the response 9810 // includes only records beyond the marker, up to the value specified by MaxRecords. 9811 Marker *string `type:"string"` 9812 9813 // The maximum number of records to include in the response. If more records 9814 // exist than the specified MaxRecords value, a marker is included in the response 9815 // so that the remaining results can be retrieved. 9816 // 9817 // Default: 100 9818 // 9819 // Constraints: minimum 20; maximum 100. 9820 MaxRecords *int64 `type:"integer"` 9821 9822 // The offering type filter value. Use this parameter to show only the available 9823 // offerings matching the specified offering type. 9824 // 9825 // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 9826 OfferingType *string `type:"string"` 9827 9828 // The product description filter value. Use this parameter to show only the 9829 // available offerings matching the specified product description. 9830 ProductDescription *string `type:"string"` 9831 9832 // The offering identifier filter value. Use this parameter to show only the 9833 // available offering that matches the specified reservation identifier. 9834 // 9835 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 9836 ReservedCacheNodesOfferingId *string `type:"string"` 9837} 9838 9839// String returns the string representation 9840func (s DescribeReservedCacheNodesOfferingsInput) String() string { 9841 return awsutil.Prettify(s) 9842} 9843 9844// GoString returns the string representation 9845func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { 9846 return s.String() 9847} 9848 9849// SetCacheNodeType sets the CacheNodeType field's value. 9850func (s *DescribeReservedCacheNodesOfferingsInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesOfferingsInput { 9851 s.CacheNodeType = &v 9852 return s 9853} 9854 9855// SetDuration sets the Duration field's value. 9856func (s *DescribeReservedCacheNodesOfferingsInput) SetDuration(v string) *DescribeReservedCacheNodesOfferingsInput { 9857 s.Duration = &v 9858 return s 9859} 9860 9861// SetMarker sets the Marker field's value. 9862func (s *DescribeReservedCacheNodesOfferingsInput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsInput { 9863 s.Marker = &v 9864 return s 9865} 9866 9867// SetMaxRecords sets the MaxRecords field's value. 9868func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesOfferingsInput { 9869 s.MaxRecords = &v 9870 return s 9871} 9872 9873// SetOfferingType sets the OfferingType field's value. 9874func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { 9875 s.OfferingType = &v 9876 return s 9877} 9878 9879// SetProductDescription sets the ProductDescription field's value. 9880func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { 9881 s.ProductDescription = &v 9882 return s 9883} 9884 9885// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 9886func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { 9887 s.ReservedCacheNodesOfferingId = &v 9888 return s 9889} 9890 9891// Represents the output of a DescribeReservedCacheNodesOfferings operation. 9892type DescribeReservedCacheNodesOfferingsOutput struct { 9893 _ struct{} `type:"structure"` 9894 9895 // Provides an identifier to allow retrieval of paginated results. 9896 Marker *string `type:"string"` 9897 9898 // A list of reserved cache node offerings. Each element in the list contains 9899 // detailed information about one offering. 9900 ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` 9901} 9902 9903// String returns the string representation 9904func (s DescribeReservedCacheNodesOfferingsOutput) String() string { 9905 return awsutil.Prettify(s) 9906} 9907 9908// GoString returns the string representation 9909func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { 9910 return s.String() 9911} 9912 9913// SetMarker sets the Marker field's value. 9914func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { 9915 s.Marker = &v 9916 return s 9917} 9918 9919// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. 9920func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { 9921 s.ReservedCacheNodesOfferings = v 9922 return s 9923} 9924 9925// Represents the output of a DescribeReservedCacheNodes operation. 9926type DescribeReservedCacheNodesOutput struct { 9927 _ struct{} `type:"structure"` 9928 9929 // Provides an identifier to allow retrieval of paginated results. 9930 Marker *string `type:"string"` 9931 9932 // A list of reserved cache nodes. Each element in the list contains detailed 9933 // information about one node. 9934 ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` 9935} 9936 9937// String returns the string representation 9938func (s DescribeReservedCacheNodesOutput) String() string { 9939 return awsutil.Prettify(s) 9940} 9941 9942// GoString returns the string representation 9943func (s DescribeReservedCacheNodesOutput) GoString() string { 9944 return s.String() 9945} 9946 9947// SetMarker sets the Marker field's value. 9948func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { 9949 s.Marker = &v 9950 return s 9951} 9952 9953// SetReservedCacheNodes sets the ReservedCacheNodes field's value. 9954func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { 9955 s.ReservedCacheNodes = v 9956 return s 9957} 9958 9959type DescribeServiceUpdatesInput struct { 9960 _ struct{} `type:"structure"` 9961 9962 // An optional marker returned from a prior request. Use this marker for pagination 9963 // of results from this operation. If this parameter is specified, the response 9964 // includes only records beyond the marker, up to the value specified by MaxRecords. 9965 Marker *string `type:"string"` 9966 9967 // The maximum number of records to include in the response 9968 MaxRecords *int64 `type:"integer"` 9969 9970 // The unique ID of the service update 9971 ServiceUpdateName *string `type:"string"` 9972 9973 // The status of the service update 9974 ServiceUpdateStatus []*string `type:"list"` 9975} 9976 9977// String returns the string representation 9978func (s DescribeServiceUpdatesInput) String() string { 9979 return awsutil.Prettify(s) 9980} 9981 9982// GoString returns the string representation 9983func (s DescribeServiceUpdatesInput) GoString() string { 9984 return s.String() 9985} 9986 9987// SetMarker sets the Marker field's value. 9988func (s *DescribeServiceUpdatesInput) SetMarker(v string) *DescribeServiceUpdatesInput { 9989 s.Marker = &v 9990 return s 9991} 9992 9993// SetMaxRecords sets the MaxRecords field's value. 9994func (s *DescribeServiceUpdatesInput) SetMaxRecords(v int64) *DescribeServiceUpdatesInput { 9995 s.MaxRecords = &v 9996 return s 9997} 9998 9999// SetServiceUpdateName sets the ServiceUpdateName field's value. 10000func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { 10001 s.ServiceUpdateName = &v 10002 return s 10003} 10004 10005// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 10006func (s *DescribeServiceUpdatesInput) SetServiceUpdateStatus(v []*string) *DescribeServiceUpdatesInput { 10007 s.ServiceUpdateStatus = v 10008 return s 10009} 10010 10011type DescribeServiceUpdatesOutput struct { 10012 _ struct{} `type:"structure"` 10013 10014 // An optional marker returned from a prior request. Use this marker for pagination 10015 // of results from this operation. If this parameter is specified, the response 10016 // includes only records beyond the marker, up to the value specified by MaxRecords. 10017 Marker *string `type:"string"` 10018 10019 // A list of service updates 10020 ServiceUpdates []*ServiceUpdate `locationNameList:"ServiceUpdate" type:"list"` 10021} 10022 10023// String returns the string representation 10024func (s DescribeServiceUpdatesOutput) String() string { 10025 return awsutil.Prettify(s) 10026} 10027 10028// GoString returns the string representation 10029func (s DescribeServiceUpdatesOutput) GoString() string { 10030 return s.String() 10031} 10032 10033// SetMarker sets the Marker field's value. 10034func (s *DescribeServiceUpdatesOutput) SetMarker(v string) *DescribeServiceUpdatesOutput { 10035 s.Marker = &v 10036 return s 10037} 10038 10039// SetServiceUpdates sets the ServiceUpdates field's value. 10040func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { 10041 s.ServiceUpdates = v 10042 return s 10043} 10044 10045// Represents the input of a DescribeSnapshotsMessage operation. 10046type DescribeSnapshotsInput struct { 10047 _ struct{} `type:"structure"` 10048 10049 // A user-supplied cluster identifier. If this parameter is specified, only 10050 // snapshots associated with that specific cluster are described. 10051 CacheClusterId *string `type:"string"` 10052 10053 // An optional marker returned from a prior request. Use this marker for pagination 10054 // of results from this operation. If this parameter is specified, the response 10055 // includes only records beyond the marker, up to the value specified by MaxRecords. 10056 Marker *string `type:"string"` 10057 10058 // The maximum number of records to include in the response. If more records 10059 // exist than the specified MaxRecords value, a marker is included in the response 10060 // so that the remaining results can be retrieved. 10061 // 10062 // Default: 50 10063 // 10064 // Constraints: minimum 20; maximum 50. 10065 MaxRecords *int64 `type:"integer"` 10066 10067 // A user-supplied replication group identifier. If this parameter is specified, 10068 // only snapshots associated with that specific replication group are described. 10069 ReplicationGroupId *string `type:"string"` 10070 10071 // A Boolean value which if true, the node group (shard) configuration is included 10072 // in the snapshot description. 10073 ShowNodeGroupConfig *bool `type:"boolean"` 10074 10075 // A user-supplied name of the snapshot. If this parameter is specified, only 10076 // this snapshot are described. 10077 SnapshotName *string `type:"string"` 10078 10079 // If set to system, the output shows snapshots that were automatically created 10080 // by ElastiCache. If set to user the output shows snapshots that were manually 10081 // created. If omitted, the output shows both automatically and manually created 10082 // snapshots. 10083 SnapshotSource *string `type:"string"` 10084} 10085 10086// String returns the string representation 10087func (s DescribeSnapshotsInput) String() string { 10088 return awsutil.Prettify(s) 10089} 10090 10091// GoString returns the string representation 10092func (s DescribeSnapshotsInput) GoString() string { 10093 return s.String() 10094} 10095 10096// SetCacheClusterId sets the CacheClusterId field's value. 10097func (s *DescribeSnapshotsInput) SetCacheClusterId(v string) *DescribeSnapshotsInput { 10098 s.CacheClusterId = &v 10099 return s 10100} 10101 10102// SetMarker sets the Marker field's value. 10103func (s *DescribeSnapshotsInput) SetMarker(v string) *DescribeSnapshotsInput { 10104 s.Marker = &v 10105 return s 10106} 10107 10108// SetMaxRecords sets the MaxRecords field's value. 10109func (s *DescribeSnapshotsInput) SetMaxRecords(v int64) *DescribeSnapshotsInput { 10110 s.MaxRecords = &v 10111 return s 10112} 10113 10114// SetReplicationGroupId sets the ReplicationGroupId field's value. 10115func (s *DescribeSnapshotsInput) SetReplicationGroupId(v string) *DescribeSnapshotsInput { 10116 s.ReplicationGroupId = &v 10117 return s 10118} 10119 10120// SetShowNodeGroupConfig sets the ShowNodeGroupConfig field's value. 10121func (s *DescribeSnapshotsInput) SetShowNodeGroupConfig(v bool) *DescribeSnapshotsInput { 10122 s.ShowNodeGroupConfig = &v 10123 return s 10124} 10125 10126// SetSnapshotName sets the SnapshotName field's value. 10127func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { 10128 s.SnapshotName = &v 10129 return s 10130} 10131 10132// SetSnapshotSource sets the SnapshotSource field's value. 10133func (s *DescribeSnapshotsInput) SetSnapshotSource(v string) *DescribeSnapshotsInput { 10134 s.SnapshotSource = &v 10135 return s 10136} 10137 10138// Represents the output of a DescribeSnapshots operation. 10139type DescribeSnapshotsOutput struct { 10140 _ struct{} `type:"structure"` 10141 10142 // An optional marker returned from a prior request. Use this marker for pagination 10143 // of results from this operation. If this parameter is specified, the response 10144 // includes only records beyond the marker, up to the value specified by MaxRecords. 10145 Marker *string `type:"string"` 10146 10147 // A list of snapshots. Each item in the list contains detailed information 10148 // about one snapshot. 10149 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 10150} 10151 10152// String returns the string representation 10153func (s DescribeSnapshotsOutput) String() string { 10154 return awsutil.Prettify(s) 10155} 10156 10157// GoString returns the string representation 10158func (s DescribeSnapshotsOutput) GoString() string { 10159 return s.String() 10160} 10161 10162// SetMarker sets the Marker field's value. 10163func (s *DescribeSnapshotsOutput) SetMarker(v string) *DescribeSnapshotsOutput { 10164 s.Marker = &v 10165 return s 10166} 10167 10168// SetSnapshots sets the Snapshots field's value. 10169func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { 10170 s.Snapshots = v 10171 return s 10172} 10173 10174type DescribeUpdateActionsInput struct { 10175 _ struct{} `type:"structure"` 10176 10177 // An optional marker returned from a prior request. Use this marker for pagination 10178 // of results from this operation. If this parameter is specified, the response 10179 // includes only records beyond the marker, up to the value specified by MaxRecords. 10180 Marker *string `type:"string"` 10181 10182 // The maximum number of records to include in the response 10183 MaxRecords *int64 `type:"integer"` 10184 10185 // The replication group IDs 10186 ReplicationGroupIds []*string `type:"list"` 10187 10188 // The unique ID of the service update 10189 ServiceUpdateName *string `type:"string"` 10190 10191 // The status of the service update 10192 ServiceUpdateStatus []*string `type:"list"` 10193 10194 // The range of time specified to search for service updates that are in available 10195 // status 10196 ServiceUpdateTimeRange *TimeRangeFilter `type:"structure"` 10197 10198 // Dictates whether to include node level update status in the response 10199 ShowNodeLevelUpdateStatus *bool `type:"boolean"` 10200 10201 // The status of the update action. 10202 UpdateActionStatus []*string `type:"list"` 10203} 10204 10205// String returns the string representation 10206func (s DescribeUpdateActionsInput) String() string { 10207 return awsutil.Prettify(s) 10208} 10209 10210// GoString returns the string representation 10211func (s DescribeUpdateActionsInput) GoString() string { 10212 return s.String() 10213} 10214 10215// SetMarker sets the Marker field's value. 10216func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { 10217 s.Marker = &v 10218 return s 10219} 10220 10221// SetMaxRecords sets the MaxRecords field's value. 10222func (s *DescribeUpdateActionsInput) SetMaxRecords(v int64) *DescribeUpdateActionsInput { 10223 s.MaxRecords = &v 10224 return s 10225} 10226 10227// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 10228func (s *DescribeUpdateActionsInput) SetReplicationGroupIds(v []*string) *DescribeUpdateActionsInput { 10229 s.ReplicationGroupIds = v 10230 return s 10231} 10232 10233// SetServiceUpdateName sets the ServiceUpdateName field's value. 10234func (s *DescribeUpdateActionsInput) SetServiceUpdateName(v string) *DescribeUpdateActionsInput { 10235 s.ServiceUpdateName = &v 10236 return s 10237} 10238 10239// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 10240func (s *DescribeUpdateActionsInput) SetServiceUpdateStatus(v []*string) *DescribeUpdateActionsInput { 10241 s.ServiceUpdateStatus = v 10242 return s 10243} 10244 10245// SetServiceUpdateTimeRange sets the ServiceUpdateTimeRange field's value. 10246func (s *DescribeUpdateActionsInput) SetServiceUpdateTimeRange(v *TimeRangeFilter) *DescribeUpdateActionsInput { 10247 s.ServiceUpdateTimeRange = v 10248 return s 10249} 10250 10251// SetShowNodeLevelUpdateStatus sets the ShowNodeLevelUpdateStatus field's value. 10252func (s *DescribeUpdateActionsInput) SetShowNodeLevelUpdateStatus(v bool) *DescribeUpdateActionsInput { 10253 s.ShowNodeLevelUpdateStatus = &v 10254 return s 10255} 10256 10257// SetUpdateActionStatus sets the UpdateActionStatus field's value. 10258func (s *DescribeUpdateActionsInput) SetUpdateActionStatus(v []*string) *DescribeUpdateActionsInput { 10259 s.UpdateActionStatus = v 10260 return s 10261} 10262 10263type DescribeUpdateActionsOutput struct { 10264 _ struct{} `type:"structure"` 10265 10266 // An optional marker returned from a prior request. Use this marker for pagination 10267 // of results from this operation. If this parameter is specified, the response 10268 // includes only records beyond the marker, up to the value specified by MaxRecords. 10269 Marker *string `type:"string"` 10270 10271 // Returns a list of update actions 10272 UpdateActions []*UpdateAction `locationNameList:"UpdateAction" type:"list"` 10273} 10274 10275// String returns the string representation 10276func (s DescribeUpdateActionsOutput) String() string { 10277 return awsutil.Prettify(s) 10278} 10279 10280// GoString returns the string representation 10281func (s DescribeUpdateActionsOutput) GoString() string { 10282 return s.String() 10283} 10284 10285// SetMarker sets the Marker field's value. 10286func (s *DescribeUpdateActionsOutput) SetMarker(v string) *DescribeUpdateActionsOutput { 10287 s.Marker = &v 10288 return s 10289} 10290 10291// SetUpdateActions sets the UpdateActions field's value. 10292func (s *DescribeUpdateActionsOutput) SetUpdateActions(v []*UpdateAction) *DescribeUpdateActionsOutput { 10293 s.UpdateActions = v 10294 return s 10295} 10296 10297// Provides ownership and status information for an Amazon EC2 security group. 10298type EC2SecurityGroup struct { 10299 _ struct{} `type:"structure"` 10300 10301 // The name of the Amazon EC2 security group. 10302 EC2SecurityGroupName *string `type:"string"` 10303 10304 // The AWS account ID of the Amazon EC2 security group owner. 10305 EC2SecurityGroupOwnerId *string `type:"string"` 10306 10307 // The status of the Amazon EC2 security group. 10308 Status *string `type:"string"` 10309} 10310 10311// String returns the string representation 10312func (s EC2SecurityGroup) String() string { 10313 return awsutil.Prettify(s) 10314} 10315 10316// GoString returns the string representation 10317func (s EC2SecurityGroup) GoString() string { 10318 return s.String() 10319} 10320 10321// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 10322func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 10323 s.EC2SecurityGroupName = &v 10324 return s 10325} 10326 10327// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 10328func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 10329 s.EC2SecurityGroupOwnerId = &v 10330 return s 10331} 10332 10333// SetStatus sets the Status field's value. 10334func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 10335 s.Status = &v 10336 return s 10337} 10338 10339// Represents the information required for client programs to connect to a cache 10340// node. 10341type Endpoint struct { 10342 _ struct{} `type:"structure"` 10343 10344 // The DNS hostname of the cache node. 10345 Address *string `type:"string"` 10346 10347 // The port number that the cache engine is listening on. 10348 Port *int64 `type:"integer"` 10349} 10350 10351// String returns the string representation 10352func (s Endpoint) String() string { 10353 return awsutil.Prettify(s) 10354} 10355 10356// GoString returns the string representation 10357func (s Endpoint) GoString() string { 10358 return s.String() 10359} 10360 10361// SetAddress sets the Address field's value. 10362func (s *Endpoint) SetAddress(v string) *Endpoint { 10363 s.Address = &v 10364 return s 10365} 10366 10367// SetPort sets the Port field's value. 10368func (s *Endpoint) SetPort(v int64) *Endpoint { 10369 s.Port = &v 10370 return s 10371} 10372 10373// Represents the output of a DescribeEngineDefaultParameters operation. 10374type EngineDefaults struct { 10375 _ struct{} `type:"structure"` 10376 10377 // A list of parameters specific to a particular cache node type. Each element 10378 // in the list contains detailed information about one parameter. 10379 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 10380 10381 // Specifies the name of the cache parameter group family to which the engine 10382 // default parameters apply. 10383 // 10384 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 10385 // | redis4.0 | redis5.0 | 10386 CacheParameterGroupFamily *string `type:"string"` 10387 10388 // Provides an identifier to allow retrieval of paginated results. 10389 Marker *string `type:"string"` 10390 10391 // Contains a list of engine default parameters. 10392 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 10393} 10394 10395// String returns the string representation 10396func (s EngineDefaults) String() string { 10397 return awsutil.Prettify(s) 10398} 10399 10400// GoString returns the string representation 10401func (s EngineDefaults) GoString() string { 10402 return s.String() 10403} 10404 10405// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 10406func (s *EngineDefaults) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *EngineDefaults { 10407 s.CacheNodeTypeSpecificParameters = v 10408 return s 10409} 10410 10411// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 10412func (s *EngineDefaults) SetCacheParameterGroupFamily(v string) *EngineDefaults { 10413 s.CacheParameterGroupFamily = &v 10414 return s 10415} 10416 10417// SetMarker sets the Marker field's value. 10418func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { 10419 s.Marker = &v 10420 return s 10421} 10422 10423// SetParameters sets the Parameters field's value. 10424func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { 10425 s.Parameters = v 10426 return s 10427} 10428 10429// Represents a single occurrence of something interesting within the system. 10430// Some examples of events are creating a cluster, adding or removing a cache 10431// node, or rebooting a node. 10432type Event struct { 10433 _ struct{} `type:"structure"` 10434 10435 // The date and time when the event occurred. 10436 Date *time.Time `type:"timestamp"` 10437 10438 // The text of the event. 10439 Message *string `type:"string"` 10440 10441 // The identifier for the source of the event. For example, if the event occurred 10442 // at the cluster level, the identifier would be the name of the cluster. 10443 SourceIdentifier *string `type:"string"` 10444 10445 // Specifies the origin of this event - a cluster, a parameter group, a security 10446 // group, etc. 10447 SourceType *string `type:"string" enum:"SourceType"` 10448} 10449 10450// String returns the string representation 10451func (s Event) String() string { 10452 return awsutil.Prettify(s) 10453} 10454 10455// GoString returns the string representation 10456func (s Event) GoString() string { 10457 return s.String() 10458} 10459 10460// SetDate sets the Date field's value. 10461func (s *Event) SetDate(v time.Time) *Event { 10462 s.Date = &v 10463 return s 10464} 10465 10466// SetMessage sets the Message field's value. 10467func (s *Event) SetMessage(v string) *Event { 10468 s.Message = &v 10469 return s 10470} 10471 10472// SetSourceIdentifier sets the SourceIdentifier field's value. 10473func (s *Event) SetSourceIdentifier(v string) *Event { 10474 s.SourceIdentifier = &v 10475 return s 10476} 10477 10478// SetSourceType sets the SourceType field's value. 10479func (s *Event) SetSourceType(v string) *Event { 10480 s.SourceType = &v 10481 return s 10482} 10483 10484type IncreaseReplicaCountInput struct { 10485 _ struct{} `type:"structure"` 10486 10487 // If True, the number of replica nodes is increased immediately. ApplyImmediately=False 10488 // is not currently supported. 10489 // 10490 // ApplyImmediately is a required field 10491 ApplyImmediately *bool `type:"boolean" required:"true"` 10492 10493 // The number of read replica nodes you want at the completion of this operation. 10494 // For Redis (cluster mode disabled) replication groups, this is the number 10495 // of replica nodes in the replication group. For Redis (cluster mode enabled) 10496 // replication groups, this is the number of replica nodes in each of the replication 10497 // group's node groups. 10498 NewReplicaCount *int64 `type:"integer"` 10499 10500 // A list of ConfigureShard objects that can be used to configure each shard 10501 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 10502 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 10503 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 10504 10505 // The id of the replication group to which you want to add replica nodes. 10506 // 10507 // ReplicationGroupId is a required field 10508 ReplicationGroupId *string `type:"string" required:"true"` 10509} 10510 10511// String returns the string representation 10512func (s IncreaseReplicaCountInput) String() string { 10513 return awsutil.Prettify(s) 10514} 10515 10516// GoString returns the string representation 10517func (s IncreaseReplicaCountInput) GoString() string { 10518 return s.String() 10519} 10520 10521// Validate inspects the fields of the type to determine if they are valid. 10522func (s *IncreaseReplicaCountInput) Validate() error { 10523 invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicaCountInput"} 10524 if s.ApplyImmediately == nil { 10525 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 10526 } 10527 if s.ReplicationGroupId == nil { 10528 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 10529 } 10530 if s.ReplicaConfiguration != nil { 10531 for i, v := range s.ReplicaConfiguration { 10532 if v == nil { 10533 continue 10534 } 10535 if err := v.Validate(); err != nil { 10536 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 10537 } 10538 } 10539 } 10540 10541 if invalidParams.Len() > 0 { 10542 return invalidParams 10543 } 10544 return nil 10545} 10546 10547// SetApplyImmediately sets the ApplyImmediately field's value. 10548func (s *IncreaseReplicaCountInput) SetApplyImmediately(v bool) *IncreaseReplicaCountInput { 10549 s.ApplyImmediately = &v 10550 return s 10551} 10552 10553// SetNewReplicaCount sets the NewReplicaCount field's value. 10554func (s *IncreaseReplicaCountInput) SetNewReplicaCount(v int64) *IncreaseReplicaCountInput { 10555 s.NewReplicaCount = &v 10556 return s 10557} 10558 10559// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 10560func (s *IncreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *IncreaseReplicaCountInput { 10561 s.ReplicaConfiguration = v 10562 return s 10563} 10564 10565// SetReplicationGroupId sets the ReplicationGroupId field's value. 10566func (s *IncreaseReplicaCountInput) SetReplicationGroupId(v string) *IncreaseReplicaCountInput { 10567 s.ReplicationGroupId = &v 10568 return s 10569} 10570 10571type IncreaseReplicaCountOutput struct { 10572 _ struct{} `type:"structure"` 10573 10574 // Contains all of the attributes of a specific Redis replication group. 10575 ReplicationGroup *ReplicationGroup `type:"structure"` 10576} 10577 10578// String returns the string representation 10579func (s IncreaseReplicaCountOutput) String() string { 10580 return awsutil.Prettify(s) 10581} 10582 10583// GoString returns the string representation 10584func (s IncreaseReplicaCountOutput) GoString() string { 10585 return s.String() 10586} 10587 10588// SetReplicationGroup sets the ReplicationGroup field's value. 10589func (s *IncreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *IncreaseReplicaCountOutput { 10590 s.ReplicationGroup = v 10591 return s 10592} 10593 10594// The input parameters for the ListAllowedNodeTypeModifications operation. 10595type ListAllowedNodeTypeModificationsInput struct { 10596 _ struct{} `type:"structure"` 10597 10598 // The name of the cluster you want to scale up to a larger node instanced type. 10599 // ElastiCache uses the cluster id to identify the current node type of this 10600 // cluster and from that to create a list of node types you can scale up to. 10601 // 10602 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 10603 CacheClusterId *string `type:"string"` 10604 10605 // The name of the replication group want to scale up to a larger node type. 10606 // ElastiCache uses the replication group id to identify the current node type 10607 // being used by this replication group, and from that to create a list of node 10608 // types you can scale up to. 10609 // 10610 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 10611 ReplicationGroupId *string `type:"string"` 10612} 10613 10614// String returns the string representation 10615func (s ListAllowedNodeTypeModificationsInput) String() string { 10616 return awsutil.Prettify(s) 10617} 10618 10619// GoString returns the string representation 10620func (s ListAllowedNodeTypeModificationsInput) GoString() string { 10621 return s.String() 10622} 10623 10624// SetCacheClusterId sets the CacheClusterId field's value. 10625func (s *ListAllowedNodeTypeModificationsInput) SetCacheClusterId(v string) *ListAllowedNodeTypeModificationsInput { 10626 s.CacheClusterId = &v 10627 return s 10628} 10629 10630// SetReplicationGroupId sets the ReplicationGroupId field's value. 10631func (s *ListAllowedNodeTypeModificationsInput) SetReplicationGroupId(v string) *ListAllowedNodeTypeModificationsInput { 10632 s.ReplicationGroupId = &v 10633 return s 10634} 10635 10636// Represents the allowed node types you can use to modify your cluster or replication 10637// group. 10638type ListAllowedNodeTypeModificationsOutput struct { 10639 _ struct{} `type:"structure"` 10640 10641 // A string list, each element of which specifies a cache node type which you 10642 // can use to scale your cluster or replication group. 10643 // 10644 // When scaling up a Redis cluster or replication group using ModifyCacheCluster 10645 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 10646 // parameter. 10647 ScaleUpModifications []*string `type:"list"` 10648} 10649 10650// String returns the string representation 10651func (s ListAllowedNodeTypeModificationsOutput) String() string { 10652 return awsutil.Prettify(s) 10653} 10654 10655// GoString returns the string representation 10656func (s ListAllowedNodeTypeModificationsOutput) GoString() string { 10657 return s.String() 10658} 10659 10660// SetScaleUpModifications sets the ScaleUpModifications field's value. 10661func (s *ListAllowedNodeTypeModificationsOutput) SetScaleUpModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 10662 s.ScaleUpModifications = v 10663 return s 10664} 10665 10666// The input parameters for the ListTagsForResource operation. 10667type ListTagsForResourceInput struct { 10668 _ struct{} `type:"structure"` 10669 10670 // The Amazon Resource Name (ARN) of the resource for which you want the list 10671 // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 10672 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 10673 // 10674 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 10675 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 10676 // 10677 // ResourceName is a required field 10678 ResourceName *string `type:"string" required:"true"` 10679} 10680 10681// String returns the string representation 10682func (s ListTagsForResourceInput) String() string { 10683 return awsutil.Prettify(s) 10684} 10685 10686// GoString returns the string representation 10687func (s ListTagsForResourceInput) GoString() string { 10688 return s.String() 10689} 10690 10691// Validate inspects the fields of the type to determine if they are valid. 10692func (s *ListTagsForResourceInput) Validate() error { 10693 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 10694 if s.ResourceName == nil { 10695 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 10696 } 10697 10698 if invalidParams.Len() > 0 { 10699 return invalidParams 10700 } 10701 return nil 10702} 10703 10704// SetResourceName sets the ResourceName field's value. 10705func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { 10706 s.ResourceName = &v 10707 return s 10708} 10709 10710// Represents the input of a ModifyCacheCluster operation. 10711type ModifyCacheClusterInput struct { 10712 _ struct{} `type:"structure"` 10713 10714 // Specifies whether the new nodes in this Memcached cluster are all created 10715 // in a single Availability Zone or created across multiple Availability Zones. 10716 // 10717 // Valid values: single-az | cross-az. 10718 // 10719 // This option is only supported for Memcached clusters. 10720 // 10721 // You cannot specify single-az if the Memcached cluster already has cache nodes 10722 // in different Availability Zones. If cross-az is specified, existing Memcached 10723 // nodes remain in their current Availability Zone. 10724 // 10725 // Only newly created nodes are located in different Availability Zones. For 10726 // instructions on how to move existing Memcached nodes to different Availability 10727 // Zones, see the Availability Zone Considerations section of Cache Node Considerations 10728 // for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 10729 AZMode *string `type:"string" enum:"AZMode"` 10730 10731 // If true, this parameter causes the modifications in this request and any 10732 // pending modifications to be applied, asynchronously and as soon as possible, 10733 // regardless of the PreferredMaintenanceWindow setting for the cluster. 10734 // 10735 // If false, changes to the cluster are applied on the next maintenance reboot, 10736 // or the next failure reboot, whichever occurs first. 10737 // 10738 // If you perform a ModifyCacheCluster before a pending modification is applied, 10739 // the pending modification is replaced by the newer modification. 10740 // 10741 // Valid values: true | false 10742 // 10743 // Default: false 10744 ApplyImmediately *bool `type:"boolean"` 10745 10746 // This parameter is currently disabled. 10747 AutoMinorVersionUpgrade *bool `type:"boolean"` 10748 10749 // The cluster identifier. This value is stored as a lowercase string. 10750 // 10751 // CacheClusterId is a required field 10752 CacheClusterId *string `type:"string" required:"true"` 10753 10754 // A list of cache node IDs to be removed. A node ID is a numeric identifier 10755 // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less 10756 // than the existing number of cache nodes. The number of cache node IDs supplied 10757 // in this parameter must match the difference between the existing number of 10758 // cache nodes in the cluster or pending cache nodes, whichever is greater, 10759 // and the value of NumCacheNodes in the request. 10760 // 10761 // For example: If you have 3 active cache nodes, 7 pending cache nodes, and 10762 // the number of cache nodes in this ModifyCacheCluster call is 5, you must 10763 // list 2 (7 - 5) cache node IDs to remove. 10764 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 10765 10766 // A valid cache node type that you want to scale this cluster up to. 10767 CacheNodeType *string `type:"string"` 10768 10769 // The name of the cache parameter group to apply to this cluster. This change 10770 // is asynchronously applied as soon as possible for parameters when the ApplyImmediately 10771 // parameter is specified as true for this request. 10772 CacheParameterGroupName *string `type:"string"` 10773 10774 // A list of cache security group names to authorize on this cluster. This change 10775 // is asynchronously applied as soon as possible. 10776 // 10777 // You can use this parameter only with clusters that are created outside of 10778 // an Amazon Virtual Private Cloud (Amazon VPC). 10779 // 10780 // Constraints: Must contain no more than 255 alphanumeric characters. Must 10781 // not be "Default". 10782 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 10783 10784 // The upgraded version of the cache engine to be run on the cache nodes. 10785 // 10786 // Important: You can upgrade to a newer engine version (see Selecting a Cache 10787 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 10788 // but you cannot downgrade to an earlier engine version. If you want to use 10789 // an earlier engine version, you must delete the existing cluster and create 10790 // it anew with the earlier engine version. 10791 EngineVersion *string `type:"string"` 10792 10793 // The list of Availability Zones where the new Memcached cache nodes are created. 10794 // 10795 // This parameter is only valid when NumCacheNodes in the request is greater 10796 // than the sum of the number of active cache nodes and the number of cache 10797 // nodes pending creation (which may be zero). The number of Availability Zones 10798 // supplied in this list must match the cache nodes being added in this request. 10799 // 10800 // This option is only supported on Memcached clusters. 10801 // 10802 // Scenarios: 10803 // 10804 // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify 10805 // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones 10806 // for the two new nodes. 10807 // 10808 // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from 10809 // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 10810 // ((3 + 2) + 1) and optionally specify an Availability Zone for the new 10811 // node. 10812 // 10813 // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 10814 // to cancel all pending operations. 10815 // 10816 // The Availability Zone placement of nodes pending creation cannot be modified. 10817 // If you wish to cancel any nodes pending creation, add 0 nodes by setting 10818 // NumCacheNodes to the number of current nodes. 10819 // 10820 // If cross-az is specified, existing Memcached nodes remain in their current 10821 // Availability Zone. Only newly created nodes can be located in different Availability 10822 // Zones. For guidance on how to move existing Memcached nodes to different 10823 // Availability Zones, see the Availability Zone Considerations section of Cache 10824 // Node Considerations for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 10825 // 10826 // Impact of new add/remove requests upon pending requests 10827 // 10828 // * Scenario-1 Pending Action: Delete New Request: Delete Result: The new 10829 // delete, pending or immediate, replaces the pending delete. 10830 // 10831 // * Scenario-2 Pending Action: Delete New Request: Create Result: The new 10832 // create, pending or immediate, replaces the pending delete. 10833 // 10834 // * Scenario-3 Pending Action: Create New Request: Delete Result: The new 10835 // delete, pending or immediate, replaces the pending create. 10836 // 10837 // * Scenario-4 Pending Action: Create New Request: Create Result: The new 10838 // create is added to the pending create. Important: If the new create request 10839 // is Apply Immediately - Yes, all creates are performed immediately. If 10840 // the new create request is Apply Immediately - No, all creates are pending. 10841 NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 10842 10843 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 10844 // are sent. 10845 // 10846 // The Amazon SNS topic owner must be same as the cluster owner. 10847 NotificationTopicArn *string `type:"string"` 10848 10849 // The status of the Amazon SNS notification topic. Notifications are sent only 10850 // if the status is active. 10851 // 10852 // Valid values: active | inactive 10853 NotificationTopicStatus *string `type:"string"` 10854 10855 // The number of cache nodes that the cluster should have. If the value for 10856 // NumCacheNodes is greater than the sum of the number of current cache nodes 10857 // and the number of cache nodes pending creation (which may be zero), more 10858 // nodes are added. If the value is less than the number of existing cache nodes, 10859 // nodes are removed. If the value is equal to the number of current cache nodes, 10860 // any pending add or remove requests are canceled. 10861 // 10862 // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter 10863 // to provide the IDs of the specific cache nodes to remove. 10864 // 10865 // For clusters running Redis, this value must be 1. For clusters running Memcached, 10866 // this value must be between 1 and 20. 10867 // 10868 // Adding or removing Memcached cache nodes can be applied immediately or as 10869 // a pending operation (see ApplyImmediately). 10870 // 10871 // A pending operation to modify the number of cache nodes in a cluster during 10872 // its maintenance window, whether by adding or removing nodes in accordance 10873 // with the scale out architecture, is not queued. The customer's latest request 10874 // to add or remove nodes to the cluster overrides any previous pending operations 10875 // to modify the number of cache nodes in the cluster. For example, a request 10876 // to remove 2 nodes would override a previous pending operation to remove 3 10877 // nodes. Similarly, a request to add 2 nodes would override a previous pending 10878 // operation to remove 3 nodes and vice versa. As Memcached cache nodes may 10879 // now be provisioned in different Availability Zones with flexible cache node 10880 // placement, a request to add nodes does not automatically override a previous 10881 // pending operation to add nodes. The customer can modify the previous pending 10882 // operation to add more nodes or explicitly cancel the pending request and 10883 // retry the new request. To cancel pending operations to modify the number 10884 // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes 10885 // equal to the number of cache nodes currently in the cluster. 10886 NumCacheNodes *int64 `type:"integer"` 10887 10888 // Specifies the weekly time range during which maintenance on the cluster is 10889 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 10890 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 10891 // 10892 // Valid values for ddd are: 10893 // 10894 // * sun 10895 // 10896 // * mon 10897 // 10898 // * tue 10899 // 10900 // * wed 10901 // 10902 // * thu 10903 // 10904 // * fri 10905 // 10906 // * sat 10907 // 10908 // Example: sun:23:00-mon:01:30 10909 PreferredMaintenanceWindow *string `type:"string"` 10910 10911 // Specifies the VPC Security Groups associated with the cluster. 10912 // 10913 // This parameter can be used only with clusters that are created in an Amazon 10914 // Virtual Private Cloud (Amazon VPC). 10915 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 10916 10917 // The number of days for which ElastiCache retains automatic cluster snapshots 10918 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 10919 // a snapshot that was taken today is retained for 5 days before being deleted. 10920 // 10921 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 10922 // off. 10923 SnapshotRetentionLimit *int64 `type:"integer"` 10924 10925 // The daily time range (in UTC) during which ElastiCache begins taking a daily 10926 // snapshot of your cluster. 10927 SnapshotWindow *string `type:"string"` 10928} 10929 10930// String returns the string representation 10931func (s ModifyCacheClusterInput) String() string { 10932 return awsutil.Prettify(s) 10933} 10934 10935// GoString returns the string representation 10936func (s ModifyCacheClusterInput) GoString() string { 10937 return s.String() 10938} 10939 10940// Validate inspects the fields of the type to determine if they are valid. 10941func (s *ModifyCacheClusterInput) Validate() error { 10942 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} 10943 if s.CacheClusterId == nil { 10944 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 10945 } 10946 10947 if invalidParams.Len() > 0 { 10948 return invalidParams 10949 } 10950 return nil 10951} 10952 10953// SetAZMode sets the AZMode field's value. 10954func (s *ModifyCacheClusterInput) SetAZMode(v string) *ModifyCacheClusterInput { 10955 s.AZMode = &v 10956 return s 10957} 10958 10959// SetApplyImmediately sets the ApplyImmediately field's value. 10960func (s *ModifyCacheClusterInput) SetApplyImmediately(v bool) *ModifyCacheClusterInput { 10961 s.ApplyImmediately = &v 10962 return s 10963} 10964 10965// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 10966func (s *ModifyCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *ModifyCacheClusterInput { 10967 s.AutoMinorVersionUpgrade = &v 10968 return s 10969} 10970 10971// SetCacheClusterId sets the CacheClusterId field's value. 10972func (s *ModifyCacheClusterInput) SetCacheClusterId(v string) *ModifyCacheClusterInput { 10973 s.CacheClusterId = &v 10974 return s 10975} 10976 10977// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 10978func (s *ModifyCacheClusterInput) SetCacheNodeIdsToRemove(v []*string) *ModifyCacheClusterInput { 10979 s.CacheNodeIdsToRemove = v 10980 return s 10981} 10982 10983// SetCacheNodeType sets the CacheNodeType field's value. 10984func (s *ModifyCacheClusterInput) SetCacheNodeType(v string) *ModifyCacheClusterInput { 10985 s.CacheNodeType = &v 10986 return s 10987} 10988 10989// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10990func (s *ModifyCacheClusterInput) SetCacheParameterGroupName(v string) *ModifyCacheClusterInput { 10991 s.CacheParameterGroupName = &v 10992 return s 10993} 10994 10995// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 10996func (s *ModifyCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *ModifyCacheClusterInput { 10997 s.CacheSecurityGroupNames = v 10998 return s 10999} 11000 11001// SetEngineVersion sets the EngineVersion field's value. 11002func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheClusterInput { 11003 s.EngineVersion = &v 11004 return s 11005} 11006 11007// SetNewAvailabilityZones sets the NewAvailabilityZones field's value. 11008func (s *ModifyCacheClusterInput) SetNewAvailabilityZones(v []*string) *ModifyCacheClusterInput { 11009 s.NewAvailabilityZones = v 11010 return s 11011} 11012 11013// SetNotificationTopicArn sets the NotificationTopicArn field's value. 11014func (s *ModifyCacheClusterInput) SetNotificationTopicArn(v string) *ModifyCacheClusterInput { 11015 s.NotificationTopicArn = &v 11016 return s 11017} 11018 11019// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 11020func (s *ModifyCacheClusterInput) SetNotificationTopicStatus(v string) *ModifyCacheClusterInput { 11021 s.NotificationTopicStatus = &v 11022 return s 11023} 11024 11025// SetNumCacheNodes sets the NumCacheNodes field's value. 11026func (s *ModifyCacheClusterInput) SetNumCacheNodes(v int64) *ModifyCacheClusterInput { 11027 s.NumCacheNodes = &v 11028 return s 11029} 11030 11031// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 11032func (s *ModifyCacheClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyCacheClusterInput { 11033 s.PreferredMaintenanceWindow = &v 11034 return s 11035} 11036 11037// SetSecurityGroupIds sets the SecurityGroupIds field's value. 11038func (s *ModifyCacheClusterInput) SetSecurityGroupIds(v []*string) *ModifyCacheClusterInput { 11039 s.SecurityGroupIds = v 11040 return s 11041} 11042 11043// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 11044func (s *ModifyCacheClusterInput) SetSnapshotRetentionLimit(v int64) *ModifyCacheClusterInput { 11045 s.SnapshotRetentionLimit = &v 11046 return s 11047} 11048 11049// SetSnapshotWindow sets the SnapshotWindow field's value. 11050func (s *ModifyCacheClusterInput) SetSnapshotWindow(v string) *ModifyCacheClusterInput { 11051 s.SnapshotWindow = &v 11052 return s 11053} 11054 11055type ModifyCacheClusterOutput struct { 11056 _ struct{} `type:"structure"` 11057 11058 // Contains all of the attributes of a specific cluster. 11059 CacheCluster *CacheCluster `type:"structure"` 11060} 11061 11062// String returns the string representation 11063func (s ModifyCacheClusterOutput) String() string { 11064 return awsutil.Prettify(s) 11065} 11066 11067// GoString returns the string representation 11068func (s ModifyCacheClusterOutput) GoString() string { 11069 return s.String() 11070} 11071 11072// SetCacheCluster sets the CacheCluster field's value. 11073func (s *ModifyCacheClusterOutput) SetCacheCluster(v *CacheCluster) *ModifyCacheClusterOutput { 11074 s.CacheCluster = v 11075 return s 11076} 11077 11078// Represents the input of a ModifyCacheParameterGroup operation. 11079type ModifyCacheParameterGroupInput struct { 11080 _ struct{} `type:"structure"` 11081 11082 // The name of the cache parameter group to modify. 11083 // 11084 // CacheParameterGroupName is a required field 11085 CacheParameterGroupName *string `type:"string" required:"true"` 11086 11087 // An array of parameter names and values for the parameter update. You must 11088 // supply at least one parameter name and value; subsequent arguments are optional. 11089 // A maximum of 20 parameters may be modified per request. 11090 // 11091 // ParameterNameValues is a required field 11092 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` 11093} 11094 11095// String returns the string representation 11096func (s ModifyCacheParameterGroupInput) String() string { 11097 return awsutil.Prettify(s) 11098} 11099 11100// GoString returns the string representation 11101func (s ModifyCacheParameterGroupInput) GoString() string { 11102 return s.String() 11103} 11104 11105// Validate inspects the fields of the type to determine if they are valid. 11106func (s *ModifyCacheParameterGroupInput) Validate() error { 11107 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} 11108 if s.CacheParameterGroupName == nil { 11109 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 11110 } 11111 if s.ParameterNameValues == nil { 11112 invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) 11113 } 11114 11115 if invalidParams.Len() > 0 { 11116 return invalidParams 11117 } 11118 return nil 11119} 11120 11121// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 11122func (s *ModifyCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ModifyCacheParameterGroupInput { 11123 s.CacheParameterGroupName = &v 11124 return s 11125} 11126 11127// SetParameterNameValues sets the ParameterNameValues field's value. 11128func (s *ModifyCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ModifyCacheParameterGroupInput { 11129 s.ParameterNameValues = v 11130 return s 11131} 11132 11133// Represents the input of a ModifyCacheSubnetGroup operation. 11134type ModifyCacheSubnetGroupInput struct { 11135 _ struct{} `type:"structure"` 11136 11137 // A description of the cache subnet group. 11138 CacheSubnetGroupDescription *string `type:"string"` 11139 11140 // The name for the cache subnet group. This value is stored as a lowercase 11141 // string. 11142 // 11143 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 11144 // 11145 // Example: mysubnetgroup 11146 // 11147 // CacheSubnetGroupName is a required field 11148 CacheSubnetGroupName *string `type:"string" required:"true"` 11149 11150 // The EC2 subnet IDs for the cache subnet group. 11151 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"` 11152} 11153 11154// String returns the string representation 11155func (s ModifyCacheSubnetGroupInput) String() string { 11156 return awsutil.Prettify(s) 11157} 11158 11159// GoString returns the string representation 11160func (s ModifyCacheSubnetGroupInput) GoString() string { 11161 return s.String() 11162} 11163 11164// Validate inspects the fields of the type to determine if they are valid. 11165func (s *ModifyCacheSubnetGroupInput) Validate() error { 11166 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} 11167 if s.CacheSubnetGroupName == nil { 11168 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 11169 } 11170 11171 if invalidParams.Len() > 0 { 11172 return invalidParams 11173 } 11174 return nil 11175} 11176 11177// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 11178func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *ModifyCacheSubnetGroupInput { 11179 s.CacheSubnetGroupDescription = &v 11180 return s 11181} 11182 11183// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 11184func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *ModifyCacheSubnetGroupInput { 11185 s.CacheSubnetGroupName = &v 11186 return s 11187} 11188 11189// SetSubnetIds sets the SubnetIds field's value. 11190func (s *ModifyCacheSubnetGroupInput) SetSubnetIds(v []*string) *ModifyCacheSubnetGroupInput { 11191 s.SubnetIds = v 11192 return s 11193} 11194 11195type ModifyCacheSubnetGroupOutput struct { 11196 _ struct{} `type:"structure"` 11197 11198 // Represents the output of one of the following operations: 11199 // 11200 // * CreateCacheSubnetGroup 11201 // 11202 // * ModifyCacheSubnetGroup 11203 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 11204} 11205 11206// String returns the string representation 11207func (s ModifyCacheSubnetGroupOutput) String() string { 11208 return awsutil.Prettify(s) 11209} 11210 11211// GoString returns the string representation 11212func (s ModifyCacheSubnetGroupOutput) GoString() string { 11213 return s.String() 11214} 11215 11216// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 11217func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *ModifyCacheSubnetGroupOutput { 11218 s.CacheSubnetGroup = v 11219 return s 11220} 11221 11222// Represents the input of a ModifyReplicationGroups operation. 11223type ModifyReplicationGroupInput struct { 11224 _ struct{} `type:"structure"` 11225 11226 // If true, this parameter causes the modifications in this request and any 11227 // pending modifications to be applied, asynchronously and as soon as possible, 11228 // regardless of the PreferredMaintenanceWindow setting for the replication 11229 // group. 11230 // 11231 // If false, changes to the nodes in the replication group are applied on the 11232 // next maintenance reboot, or the next failure reboot, whichever occurs first. 11233 // 11234 // Valid values: true | false 11235 // 11236 // Default: false 11237 ApplyImmediately *bool `type:"boolean"` 11238 11239 // This parameter is currently disabled. 11240 AutoMinorVersionUpgrade *bool `type:"boolean"` 11241 11242 // Determines whether a read replica is automatically promoted to read/write 11243 // primary if the existing primary encounters a failure. 11244 // 11245 // Valid values: true | false 11246 // 11247 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 11248 // on: 11249 // 11250 // * Redis versions earlier than 2.8.6. 11251 // 11252 // * Redis (cluster mode disabled): T1 node types. 11253 // 11254 // * Redis (cluster mode enabled): T1 node types. 11255 AutomaticFailoverEnabled *bool `type:"boolean"` 11256 11257 // A valid cache node type that you want to scale this replication group to. 11258 CacheNodeType *string `type:"string"` 11259 11260 // The name of the cache parameter group to apply to all of the clusters in 11261 // this replication group. This change is asynchronously applied as soon as 11262 // possible for parameters when the ApplyImmediately parameter is specified 11263 // as true for this request. 11264 CacheParameterGroupName *string `type:"string"` 11265 11266 // A list of cache security group names to authorize for the clusters in this 11267 // replication group. This change is asynchronously applied as soon as possible. 11268 // 11269 // This parameter can be used only with replication group containing clusters 11270 // running outside of an Amazon Virtual Private Cloud (Amazon VPC). 11271 // 11272 // Constraints: Must contain no more than 255 alphanumeric characters. Must 11273 // not be Default. 11274 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 11275 11276 // The upgraded version of the cache engine to be run on the clusters in the 11277 // replication group. 11278 // 11279 // Important: You can upgrade to a newer engine version (see Selecting a Cache 11280 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 11281 // but you cannot downgrade to an earlier engine version. If you want to use 11282 // an earlier engine version, you must delete the existing replication group 11283 // and create it anew with the earlier engine version. 11284 EngineVersion *string `type:"string"` 11285 11286 // Deprecated. This parameter is not used. 11287 // 11288 // Deprecated: NodeGroupId has been deprecated 11289 NodeGroupId *string `deprecated:"true" type:"string"` 11290 11291 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 11292 // are sent. 11293 // 11294 // The Amazon SNS topic owner must be same as the replication group owner. 11295 NotificationTopicArn *string `type:"string"` 11296 11297 // The status of the Amazon SNS notification topic for the replication group. 11298 // Notifications are sent only if the status is active. 11299 // 11300 // Valid values: active | inactive 11301 NotificationTopicStatus *string `type:"string"` 11302 11303 // Specifies the weekly time range during which maintenance on the cluster is 11304 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 11305 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 11306 // 11307 // Valid values for ddd are: 11308 // 11309 // * sun 11310 // 11311 // * mon 11312 // 11313 // * tue 11314 // 11315 // * wed 11316 // 11317 // * thu 11318 // 11319 // * fri 11320 // 11321 // * sat 11322 // 11323 // Example: sun:23:00-mon:01:30 11324 PreferredMaintenanceWindow *string `type:"string"` 11325 11326 // For replication groups with a single primary, if this parameter is specified, 11327 // ElastiCache promotes the specified cluster in the specified replication group 11328 // to the primary role. The nodes of all other clusters in the replication group 11329 // are read replicas. 11330 PrimaryClusterId *string `type:"string"` 11331 11332 // A description for the replication group. Maximum length is 255 characters. 11333 ReplicationGroupDescription *string `type:"string"` 11334 11335 // The identifier of the replication group to modify. 11336 // 11337 // ReplicationGroupId is a required field 11338 ReplicationGroupId *string `type:"string" required:"true"` 11339 11340 // Specifies the VPC Security Groups associated with the clusters in the replication 11341 // group. 11342 // 11343 // This parameter can be used only with replication group containing clusters 11344 // running in an Amazon Virtual Private Cloud (Amazon VPC). 11345 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 11346 11347 // The number of days for which ElastiCache retains automatic node group (shard) 11348 // snapshots before deleting them. For example, if you set SnapshotRetentionLimit 11349 // to 5, a snapshot that was taken today is retained for 5 days before being 11350 // deleted. 11351 // 11352 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 11353 // are turned off. 11354 SnapshotRetentionLimit *int64 `type:"integer"` 11355 11356 // The daily time range (in UTC) during which ElastiCache begins taking a daily 11357 // snapshot of the node group (shard) specified by SnapshottingClusterId. 11358 // 11359 // Example: 05:00-09:00 11360 // 11361 // If you do not specify this parameter, ElastiCache automatically chooses an 11362 // appropriate time range. 11363 SnapshotWindow *string `type:"string"` 11364 11365 // The cluster ID that is used as the daily snapshot source for the replication 11366 // group. This parameter cannot be set for Redis (cluster mode enabled) replication 11367 // groups. 11368 SnapshottingClusterId *string `type:"string"` 11369} 11370 11371// String returns the string representation 11372func (s ModifyReplicationGroupInput) String() string { 11373 return awsutil.Prettify(s) 11374} 11375 11376// GoString returns the string representation 11377func (s ModifyReplicationGroupInput) GoString() string { 11378 return s.String() 11379} 11380 11381// Validate inspects the fields of the type to determine if they are valid. 11382func (s *ModifyReplicationGroupInput) Validate() error { 11383 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} 11384 if s.ReplicationGroupId == nil { 11385 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11386 } 11387 11388 if invalidParams.Len() > 0 { 11389 return invalidParams 11390 } 11391 return nil 11392} 11393 11394// SetApplyImmediately sets the ApplyImmediately field's value. 11395func (s *ModifyReplicationGroupInput) SetApplyImmediately(v bool) *ModifyReplicationGroupInput { 11396 s.ApplyImmediately = &v 11397 return s 11398} 11399 11400// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 11401func (s *ModifyReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationGroupInput { 11402 s.AutoMinorVersionUpgrade = &v 11403 return s 11404} 11405 11406// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 11407func (s *ModifyReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyReplicationGroupInput { 11408 s.AutomaticFailoverEnabled = &v 11409 return s 11410} 11411 11412// SetCacheNodeType sets the CacheNodeType field's value. 11413func (s *ModifyReplicationGroupInput) SetCacheNodeType(v string) *ModifyReplicationGroupInput { 11414 s.CacheNodeType = &v 11415 return s 11416} 11417 11418// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 11419func (s *ModifyReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyReplicationGroupInput { 11420 s.CacheParameterGroupName = &v 11421 return s 11422} 11423 11424// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 11425func (s *ModifyReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *ModifyReplicationGroupInput { 11426 s.CacheSecurityGroupNames = v 11427 return s 11428} 11429 11430// SetEngineVersion sets the EngineVersion field's value. 11431func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicationGroupInput { 11432 s.EngineVersion = &v 11433 return s 11434} 11435 11436// SetNodeGroupId sets the NodeGroupId field's value. 11437func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { 11438 s.NodeGroupId = &v 11439 return s 11440} 11441 11442// SetNotificationTopicArn sets the NotificationTopicArn field's value. 11443func (s *ModifyReplicationGroupInput) SetNotificationTopicArn(v string) *ModifyReplicationGroupInput { 11444 s.NotificationTopicArn = &v 11445 return s 11446} 11447 11448// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 11449func (s *ModifyReplicationGroupInput) SetNotificationTopicStatus(v string) *ModifyReplicationGroupInput { 11450 s.NotificationTopicStatus = &v 11451 return s 11452} 11453 11454// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 11455func (s *ModifyReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationGroupInput { 11456 s.PreferredMaintenanceWindow = &v 11457 return s 11458} 11459 11460// SetPrimaryClusterId sets the PrimaryClusterId field's value. 11461func (s *ModifyReplicationGroupInput) SetPrimaryClusterId(v string) *ModifyReplicationGroupInput { 11462 s.PrimaryClusterId = &v 11463 return s 11464} 11465 11466// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 11467func (s *ModifyReplicationGroupInput) SetReplicationGroupDescription(v string) *ModifyReplicationGroupInput { 11468 s.ReplicationGroupDescription = &v 11469 return s 11470} 11471 11472// SetReplicationGroupId sets the ReplicationGroupId field's value. 11473func (s *ModifyReplicationGroupInput) SetReplicationGroupId(v string) *ModifyReplicationGroupInput { 11474 s.ReplicationGroupId = &v 11475 return s 11476} 11477 11478// SetSecurityGroupIds sets the SecurityGroupIds field's value. 11479func (s *ModifyReplicationGroupInput) SetSecurityGroupIds(v []*string) *ModifyReplicationGroupInput { 11480 s.SecurityGroupIds = v 11481 return s 11482} 11483 11484// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 11485func (s *ModifyReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *ModifyReplicationGroupInput { 11486 s.SnapshotRetentionLimit = &v 11487 return s 11488} 11489 11490// SetSnapshotWindow sets the SnapshotWindow field's value. 11491func (s *ModifyReplicationGroupInput) SetSnapshotWindow(v string) *ModifyReplicationGroupInput { 11492 s.SnapshotWindow = &v 11493 return s 11494} 11495 11496// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 11497func (s *ModifyReplicationGroupInput) SetSnapshottingClusterId(v string) *ModifyReplicationGroupInput { 11498 s.SnapshottingClusterId = &v 11499 return s 11500} 11501 11502type ModifyReplicationGroupOutput struct { 11503 _ struct{} `type:"structure"` 11504 11505 // Contains all of the attributes of a specific Redis replication group. 11506 ReplicationGroup *ReplicationGroup `type:"structure"` 11507} 11508 11509// String returns the string representation 11510func (s ModifyReplicationGroupOutput) String() string { 11511 return awsutil.Prettify(s) 11512} 11513 11514// GoString returns the string representation 11515func (s ModifyReplicationGroupOutput) GoString() string { 11516 return s.String() 11517} 11518 11519// SetReplicationGroup sets the ReplicationGroup field's value. 11520func (s *ModifyReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupOutput { 11521 s.ReplicationGroup = v 11522 return s 11523} 11524 11525// Represents the input for a ModifyReplicationGroupShardConfiguration operation. 11526type ModifyReplicationGroupShardConfigurationInput struct { 11527 _ struct{} `type:"structure"` 11528 11529 // Indicates that the shard reconfiguration process begins immediately. At present, 11530 // the only permitted value for this parameter is true. 11531 // 11532 // Value: true 11533 // 11534 // ApplyImmediately is a required field 11535 ApplyImmediately *bool `type:"boolean" required:"true"` 11536 11537 // The number of node groups (shards) that results from the modification of 11538 // the shard configuration. 11539 // 11540 // NodeGroupCount is a required field 11541 NodeGroupCount *int64 `type:"integer" required:"true"` 11542 11543 // If the value of NodeGroupCount is less than the current number of node groups 11544 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 11545 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 11546 // 11547 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 11548 // from the cluster. 11549 NodeGroupsToRemove []*string `locationNameList:"NodeGroupToRemove" type:"list"` 11550 11551 // If the value of NodeGroupCount is less than the current number of node groups 11552 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 11553 // NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. 11554 // 11555 // ElastiCache for Redis will attempt to remove all node groups except those 11556 // listed by NodeGroupsToRetain from the cluster. 11557 NodeGroupsToRetain []*string `locationNameList:"NodeGroupToRetain" type:"list"` 11558 11559 // The name of the Redis (cluster mode enabled) cluster (replication group) 11560 // on which the shards are to be configured. 11561 // 11562 // ReplicationGroupId is a required field 11563 ReplicationGroupId *string `type:"string" required:"true"` 11564 11565 // Specifies the preferred availability zones for each node group in the cluster. 11566 // If the value of NodeGroupCount is greater than the current number of node 11567 // groups (shards), you can use this parameter to specify the preferred availability 11568 // zones of the cluster's shards. If you omit this parameter ElastiCache selects 11569 // availability zones for you. 11570 // 11571 // You can specify this parameter only if the value of NodeGroupCount is greater 11572 // than the current number of node groups (shards). 11573 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list"` 11574} 11575 11576// String returns the string representation 11577func (s ModifyReplicationGroupShardConfigurationInput) String() string { 11578 return awsutil.Prettify(s) 11579} 11580 11581// GoString returns the string representation 11582func (s ModifyReplicationGroupShardConfigurationInput) GoString() string { 11583 return s.String() 11584} 11585 11586// Validate inspects the fields of the type to determine if they are valid. 11587func (s *ModifyReplicationGroupShardConfigurationInput) Validate() error { 11588 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupShardConfigurationInput"} 11589 if s.ApplyImmediately == nil { 11590 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 11591 } 11592 if s.NodeGroupCount == nil { 11593 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 11594 } 11595 if s.ReplicationGroupId == nil { 11596 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11597 } 11598 if s.ReshardingConfiguration != nil { 11599 for i, v := range s.ReshardingConfiguration { 11600 if v == nil { 11601 continue 11602 } 11603 if err := v.Validate(); err != nil { 11604 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 11605 } 11606 } 11607 } 11608 11609 if invalidParams.Len() > 0 { 11610 return invalidParams 11611 } 11612 return nil 11613} 11614 11615// SetApplyImmediately sets the ApplyImmediately field's value. 11616func (s *ModifyReplicationGroupShardConfigurationInput) SetApplyImmediately(v bool) *ModifyReplicationGroupShardConfigurationInput { 11617 s.ApplyImmediately = &v 11618 return s 11619} 11620 11621// SetNodeGroupCount sets the NodeGroupCount field's value. 11622func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupCount(v int64) *ModifyReplicationGroupShardConfigurationInput { 11623 s.NodeGroupCount = &v 11624 return s 11625} 11626 11627// SetNodeGroupsToRemove sets the NodeGroupsToRemove field's value. 11628func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRemove(v []*string) *ModifyReplicationGroupShardConfigurationInput { 11629 s.NodeGroupsToRemove = v 11630 return s 11631} 11632 11633// SetNodeGroupsToRetain sets the NodeGroupsToRetain field's value. 11634func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v []*string) *ModifyReplicationGroupShardConfigurationInput { 11635 s.NodeGroupsToRetain = v 11636 return s 11637} 11638 11639// SetReplicationGroupId sets the ReplicationGroupId field's value. 11640func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { 11641 s.ReplicationGroupId = &v 11642 return s 11643} 11644 11645// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 11646func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { 11647 s.ReshardingConfiguration = v 11648 return s 11649} 11650 11651type ModifyReplicationGroupShardConfigurationOutput struct { 11652 _ struct{} `type:"structure"` 11653 11654 // Contains all of the attributes of a specific Redis replication group. 11655 ReplicationGroup *ReplicationGroup `type:"structure"` 11656} 11657 11658// String returns the string representation 11659func (s ModifyReplicationGroupShardConfigurationOutput) String() string { 11660 return awsutil.Prettify(s) 11661} 11662 11663// GoString returns the string representation 11664func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { 11665 return s.String() 11666} 11667 11668// SetReplicationGroup sets the ReplicationGroup field's value. 11669func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { 11670 s.ReplicationGroup = v 11671 return s 11672} 11673 11674// Represents a collection of cache nodes in a replication group. One node in 11675// the node group is the read/write primary node. All the other nodes are read-only 11676// Replica nodes. 11677type NodeGroup struct { 11678 _ struct{} `type:"structure"` 11679 11680 // The identifier for the node group (shard). A Redis (cluster mode disabled) 11681 // replication group contains only 1 node group; therefore, the node group ID 11682 // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 11683 // node groups numbered 0001 to 0090. Optionally, the user can provide the id 11684 // for a node group. 11685 NodeGroupId *string `type:"string"` 11686 11687 // A list containing information about individual nodes within the node group 11688 // (shard). 11689 NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` 11690 11691 // The endpoint of the primary node in this node group (shard). 11692 PrimaryEndpoint *Endpoint `type:"structure"` 11693 11694 // The endpoint of the replica nodes in this node group (shard). 11695 ReaderEndpoint *Endpoint `type:"structure"` 11696 11697 // The keyspace for this node group (shard). 11698 Slots *string `type:"string"` 11699 11700 // The current state of this replication group - creating, available, etc. 11701 Status *string `type:"string"` 11702} 11703 11704// String returns the string representation 11705func (s NodeGroup) String() string { 11706 return awsutil.Prettify(s) 11707} 11708 11709// GoString returns the string representation 11710func (s NodeGroup) GoString() string { 11711 return s.String() 11712} 11713 11714// SetNodeGroupId sets the NodeGroupId field's value. 11715func (s *NodeGroup) SetNodeGroupId(v string) *NodeGroup { 11716 s.NodeGroupId = &v 11717 return s 11718} 11719 11720// SetNodeGroupMembers sets the NodeGroupMembers field's value. 11721func (s *NodeGroup) SetNodeGroupMembers(v []*NodeGroupMember) *NodeGroup { 11722 s.NodeGroupMembers = v 11723 return s 11724} 11725 11726// SetPrimaryEndpoint sets the PrimaryEndpoint field's value. 11727func (s *NodeGroup) SetPrimaryEndpoint(v *Endpoint) *NodeGroup { 11728 s.PrimaryEndpoint = v 11729 return s 11730} 11731 11732// SetReaderEndpoint sets the ReaderEndpoint field's value. 11733func (s *NodeGroup) SetReaderEndpoint(v *Endpoint) *NodeGroup { 11734 s.ReaderEndpoint = v 11735 return s 11736} 11737 11738// SetSlots sets the Slots field's value. 11739func (s *NodeGroup) SetSlots(v string) *NodeGroup { 11740 s.Slots = &v 11741 return s 11742} 11743 11744// SetStatus sets the Status field's value. 11745func (s *NodeGroup) SetStatus(v string) *NodeGroup { 11746 s.Status = &v 11747 return s 11748} 11749 11750// Node group (shard) configuration options. Each node group (shard) configuration 11751// has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, 11752// ReplicaCount. 11753type NodeGroupConfiguration struct { 11754 _ struct{} `type:"structure"` 11755 11756 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 11757 // for the node group these configuration values apply to. 11758 NodeGroupId *string `min:"1" type:"string"` 11759 11760 // The Availability Zone where the primary node of this node group (shard) is 11761 // launched. 11762 PrimaryAvailabilityZone *string `type:"string"` 11763 11764 // A list of Availability Zones to be used for the read replicas. The number 11765 // of Availability Zones in this list must match the value of ReplicaCount or 11766 // ReplicasPerNodeGroup if not specified. 11767 ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 11768 11769 // The number of read replica nodes in this node group (shard). 11770 ReplicaCount *int64 `type:"integer"` 11771 11772 // A string that specifies the keyspace for a particular node group. Keyspaces 11773 // range from 0 to 16,383. The string is in the format startkey-endkey. 11774 // 11775 // Example: "0-3999" 11776 Slots *string `type:"string"` 11777} 11778 11779// String returns the string representation 11780func (s NodeGroupConfiguration) String() string { 11781 return awsutil.Prettify(s) 11782} 11783 11784// GoString returns the string representation 11785func (s NodeGroupConfiguration) GoString() string { 11786 return s.String() 11787} 11788 11789// Validate inspects the fields of the type to determine if they are valid. 11790func (s *NodeGroupConfiguration) Validate() error { 11791 invalidParams := request.ErrInvalidParams{Context: "NodeGroupConfiguration"} 11792 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 11793 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 11794 } 11795 11796 if invalidParams.Len() > 0 { 11797 return invalidParams 11798 } 11799 return nil 11800} 11801 11802// SetNodeGroupId sets the NodeGroupId field's value. 11803func (s *NodeGroupConfiguration) SetNodeGroupId(v string) *NodeGroupConfiguration { 11804 s.NodeGroupId = &v 11805 return s 11806} 11807 11808// SetPrimaryAvailabilityZone sets the PrimaryAvailabilityZone field's value. 11809func (s *NodeGroupConfiguration) SetPrimaryAvailabilityZone(v string) *NodeGroupConfiguration { 11810 s.PrimaryAvailabilityZone = &v 11811 return s 11812} 11813 11814// SetReplicaAvailabilityZones sets the ReplicaAvailabilityZones field's value. 11815func (s *NodeGroupConfiguration) SetReplicaAvailabilityZones(v []*string) *NodeGroupConfiguration { 11816 s.ReplicaAvailabilityZones = v 11817 return s 11818} 11819 11820// SetReplicaCount sets the ReplicaCount field's value. 11821func (s *NodeGroupConfiguration) SetReplicaCount(v int64) *NodeGroupConfiguration { 11822 s.ReplicaCount = &v 11823 return s 11824} 11825 11826// SetSlots sets the Slots field's value. 11827func (s *NodeGroupConfiguration) SetSlots(v string) *NodeGroupConfiguration { 11828 s.Slots = &v 11829 return s 11830} 11831 11832// Represents a single node within a node group (shard). 11833type NodeGroupMember struct { 11834 _ struct{} `type:"structure"` 11835 11836 // The ID of the cluster to which the node belongs. 11837 CacheClusterId *string `type:"string"` 11838 11839 // The ID of the node within its cluster. A node ID is a numeric identifier 11840 // (0001, 0002, etc.). 11841 CacheNodeId *string `type:"string"` 11842 11843 // The role that is currently assigned to the node - primary or replica. This 11844 // member is only applicable for Redis (cluster mode disabled) replication groups. 11845 CurrentRole *string `type:"string"` 11846 11847 // The name of the Availability Zone in which the node is located. 11848 PreferredAvailabilityZone *string `type:"string"` 11849 11850 // The information required for client programs to connect to a node for read 11851 // operations. The read endpoint is only applicable on Redis (cluster mode disabled) 11852 // clusters. 11853 ReadEndpoint *Endpoint `type:"structure"` 11854} 11855 11856// String returns the string representation 11857func (s NodeGroupMember) String() string { 11858 return awsutil.Prettify(s) 11859} 11860 11861// GoString returns the string representation 11862func (s NodeGroupMember) GoString() string { 11863 return s.String() 11864} 11865 11866// SetCacheClusterId sets the CacheClusterId field's value. 11867func (s *NodeGroupMember) SetCacheClusterId(v string) *NodeGroupMember { 11868 s.CacheClusterId = &v 11869 return s 11870} 11871 11872// SetCacheNodeId sets the CacheNodeId field's value. 11873func (s *NodeGroupMember) SetCacheNodeId(v string) *NodeGroupMember { 11874 s.CacheNodeId = &v 11875 return s 11876} 11877 11878// SetCurrentRole sets the CurrentRole field's value. 11879func (s *NodeGroupMember) SetCurrentRole(v string) *NodeGroupMember { 11880 s.CurrentRole = &v 11881 return s 11882} 11883 11884// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 11885func (s *NodeGroupMember) SetPreferredAvailabilityZone(v string) *NodeGroupMember { 11886 s.PreferredAvailabilityZone = &v 11887 return s 11888} 11889 11890// SetReadEndpoint sets the ReadEndpoint field's value. 11891func (s *NodeGroupMember) SetReadEndpoint(v *Endpoint) *NodeGroupMember { 11892 s.ReadEndpoint = v 11893 return s 11894} 11895 11896// The status of the service update on the node group member 11897type NodeGroupMemberUpdateStatus struct { 11898 _ struct{} `type:"structure"` 11899 11900 // The cache cluster ID 11901 CacheClusterId *string `type:"string"` 11902 11903 // The node ID of the cache cluster 11904 CacheNodeId *string `type:"string"` 11905 11906 // The deletion date of the node 11907 NodeDeletionDate *time.Time `type:"timestamp"` 11908 11909 // The end date of the update for a node 11910 NodeUpdateEndDate *time.Time `type:"timestamp"` 11911 11912 // Reflects whether the update was initiated by the customer or automatically 11913 // applied 11914 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 11915 11916 // The date when the update is triggered 11917 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 11918 11919 // The start date of the update for a node 11920 NodeUpdateStartDate *time.Time `type:"timestamp"` 11921 11922 // The update status of the node 11923 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 11924 11925 // The date when the NodeUpdateStatus was last modified 11926 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 11927} 11928 11929// String returns the string representation 11930func (s NodeGroupMemberUpdateStatus) String() string { 11931 return awsutil.Prettify(s) 11932} 11933 11934// GoString returns the string representation 11935func (s NodeGroupMemberUpdateStatus) GoString() string { 11936 return s.String() 11937} 11938 11939// SetCacheClusterId sets the CacheClusterId field's value. 11940func (s *NodeGroupMemberUpdateStatus) SetCacheClusterId(v string) *NodeGroupMemberUpdateStatus { 11941 s.CacheClusterId = &v 11942 return s 11943} 11944 11945// SetCacheNodeId sets the CacheNodeId field's value. 11946func (s *NodeGroupMemberUpdateStatus) SetCacheNodeId(v string) *NodeGroupMemberUpdateStatus { 11947 s.CacheNodeId = &v 11948 return s 11949} 11950 11951// SetNodeDeletionDate sets the NodeDeletionDate field's value. 11952func (s *NodeGroupMemberUpdateStatus) SetNodeDeletionDate(v time.Time) *NodeGroupMemberUpdateStatus { 11953 s.NodeDeletionDate = &v 11954 return s 11955} 11956 11957// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 11958func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateEndDate(v time.Time) *NodeGroupMemberUpdateStatus { 11959 s.NodeUpdateEndDate = &v 11960 return s 11961} 11962 11963// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 11964func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedBy(v string) *NodeGroupMemberUpdateStatus { 11965 s.NodeUpdateInitiatedBy = &v 11966 return s 11967} 11968 11969// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 11970func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *NodeGroupMemberUpdateStatus { 11971 s.NodeUpdateInitiatedDate = &v 11972 return s 11973} 11974 11975// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 11976func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStartDate(v time.Time) *NodeGroupMemberUpdateStatus { 11977 s.NodeUpdateStartDate = &v 11978 return s 11979} 11980 11981// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 11982func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatus(v string) *NodeGroupMemberUpdateStatus { 11983 s.NodeUpdateStatus = &v 11984 return s 11985} 11986 11987// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 11988func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *NodeGroupMemberUpdateStatus { 11989 s.NodeUpdateStatusModifiedDate = &v 11990 return s 11991} 11992 11993// The status of the service update on the node group 11994type NodeGroupUpdateStatus struct { 11995 _ struct{} `type:"structure"` 11996 11997 // The ID of the node group 11998 NodeGroupId *string `type:"string"` 11999 12000 // The status of the service update on the node group member 12001 NodeGroupMemberUpdateStatus []*NodeGroupMemberUpdateStatus `locationNameList:"NodeGroupMemberUpdateStatus" type:"list"` 12002} 12003 12004// String returns the string representation 12005func (s NodeGroupUpdateStatus) String() string { 12006 return awsutil.Prettify(s) 12007} 12008 12009// GoString returns the string representation 12010func (s NodeGroupUpdateStatus) GoString() string { 12011 return s.String() 12012} 12013 12014// SetNodeGroupId sets the NodeGroupId field's value. 12015func (s *NodeGroupUpdateStatus) SetNodeGroupId(v string) *NodeGroupUpdateStatus { 12016 s.NodeGroupId = &v 12017 return s 12018} 12019 12020// SetNodeGroupMemberUpdateStatus sets the NodeGroupMemberUpdateStatus field's value. 12021func (s *NodeGroupUpdateStatus) SetNodeGroupMemberUpdateStatus(v []*NodeGroupMemberUpdateStatus) *NodeGroupUpdateStatus { 12022 s.NodeGroupMemberUpdateStatus = v 12023 return s 12024} 12025 12026// Represents an individual cache node in a snapshot of a cluster. 12027type NodeSnapshot struct { 12028 _ struct{} `type:"structure"` 12029 12030 // A unique identifier for the source cluster. 12031 CacheClusterId *string `type:"string"` 12032 12033 // The date and time when the cache node was created in the source cluster. 12034 CacheNodeCreateTime *time.Time `type:"timestamp"` 12035 12036 // The cache node identifier for the node in the source cluster. 12037 CacheNodeId *string `type:"string"` 12038 12039 // The size of the cache on the source cache node. 12040 CacheSize *string `type:"string"` 12041 12042 // The configuration for the source node group (shard). 12043 NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` 12044 12045 // A unique identifier for the source node group (shard). 12046 NodeGroupId *string `type:"string"` 12047 12048 // The date and time when the source node's metadata and cache data set was 12049 // obtained for the snapshot. 12050 SnapshotCreateTime *time.Time `type:"timestamp"` 12051} 12052 12053// String returns the string representation 12054func (s NodeSnapshot) String() string { 12055 return awsutil.Prettify(s) 12056} 12057 12058// GoString returns the string representation 12059func (s NodeSnapshot) GoString() string { 12060 return s.String() 12061} 12062 12063// SetCacheClusterId sets the CacheClusterId field's value. 12064func (s *NodeSnapshot) SetCacheClusterId(v string) *NodeSnapshot { 12065 s.CacheClusterId = &v 12066 return s 12067} 12068 12069// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 12070func (s *NodeSnapshot) SetCacheNodeCreateTime(v time.Time) *NodeSnapshot { 12071 s.CacheNodeCreateTime = &v 12072 return s 12073} 12074 12075// SetCacheNodeId sets the CacheNodeId field's value. 12076func (s *NodeSnapshot) SetCacheNodeId(v string) *NodeSnapshot { 12077 s.CacheNodeId = &v 12078 return s 12079} 12080 12081// SetCacheSize sets the CacheSize field's value. 12082func (s *NodeSnapshot) SetCacheSize(v string) *NodeSnapshot { 12083 s.CacheSize = &v 12084 return s 12085} 12086 12087// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 12088func (s *NodeSnapshot) SetNodeGroupConfiguration(v *NodeGroupConfiguration) *NodeSnapshot { 12089 s.NodeGroupConfiguration = v 12090 return s 12091} 12092 12093// SetNodeGroupId sets the NodeGroupId field's value. 12094func (s *NodeSnapshot) SetNodeGroupId(v string) *NodeSnapshot { 12095 s.NodeGroupId = &v 12096 return s 12097} 12098 12099// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 12100func (s *NodeSnapshot) SetSnapshotCreateTime(v time.Time) *NodeSnapshot { 12101 s.SnapshotCreateTime = &v 12102 return s 12103} 12104 12105// Describes a notification topic and its status. Notification topics are used 12106// for publishing ElastiCache events to subscribers using Amazon Simple Notification 12107// Service (SNS). 12108type NotificationConfiguration struct { 12109 _ struct{} `type:"structure"` 12110 12111 // The Amazon Resource Name (ARN) that identifies the topic. 12112 TopicArn *string `type:"string"` 12113 12114 // The current state of the topic. 12115 TopicStatus *string `type:"string"` 12116} 12117 12118// String returns the string representation 12119func (s NotificationConfiguration) String() string { 12120 return awsutil.Prettify(s) 12121} 12122 12123// GoString returns the string representation 12124func (s NotificationConfiguration) GoString() string { 12125 return s.String() 12126} 12127 12128// SetTopicArn sets the TopicArn field's value. 12129func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { 12130 s.TopicArn = &v 12131 return s 12132} 12133 12134// SetTopicStatus sets the TopicStatus field's value. 12135func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { 12136 s.TopicStatus = &v 12137 return s 12138} 12139 12140// Describes an individual setting that controls some aspect of ElastiCache 12141// behavior. 12142type Parameter struct { 12143 _ struct{} `type:"structure"` 12144 12145 // The valid range of values for the parameter. 12146 AllowedValues *string `type:"string"` 12147 12148 // Indicates whether a change to the parameter is applied immediately or requires 12149 // a reboot for the change to be applied. You can force a reboot or wait until 12150 // the next maintenance window's reboot. For more information, see Rebooting 12151 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 12152 ChangeType *string `type:"string" enum:"ChangeType"` 12153 12154 // The valid data type for the parameter. 12155 DataType *string `type:"string"` 12156 12157 // A description of the parameter. 12158 Description *string `type:"string"` 12159 12160 // Indicates whether (true) or not (false) the parameter can be modified. Some 12161 // parameters have security or operational implications that prevent them from 12162 // being changed. 12163 IsModifiable *bool `type:"boolean"` 12164 12165 // The earliest cache engine version to which the parameter can apply. 12166 MinimumEngineVersion *string `type:"string"` 12167 12168 // The name of the parameter. 12169 ParameterName *string `type:"string"` 12170 12171 // The value of the parameter. 12172 ParameterValue *string `type:"string"` 12173 12174 // The source of the parameter. 12175 Source *string `type:"string"` 12176} 12177 12178// String returns the string representation 12179func (s Parameter) String() string { 12180 return awsutil.Prettify(s) 12181} 12182 12183// GoString returns the string representation 12184func (s Parameter) GoString() string { 12185 return s.String() 12186} 12187 12188// SetAllowedValues sets the AllowedValues field's value. 12189func (s *Parameter) SetAllowedValues(v string) *Parameter { 12190 s.AllowedValues = &v 12191 return s 12192} 12193 12194// SetChangeType sets the ChangeType field's value. 12195func (s *Parameter) SetChangeType(v string) *Parameter { 12196 s.ChangeType = &v 12197 return s 12198} 12199 12200// SetDataType sets the DataType field's value. 12201func (s *Parameter) SetDataType(v string) *Parameter { 12202 s.DataType = &v 12203 return s 12204} 12205 12206// SetDescription sets the Description field's value. 12207func (s *Parameter) SetDescription(v string) *Parameter { 12208 s.Description = &v 12209 return s 12210} 12211 12212// SetIsModifiable sets the IsModifiable field's value. 12213func (s *Parameter) SetIsModifiable(v bool) *Parameter { 12214 s.IsModifiable = &v 12215 return s 12216} 12217 12218// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 12219func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 12220 s.MinimumEngineVersion = &v 12221 return s 12222} 12223 12224// SetParameterName sets the ParameterName field's value. 12225func (s *Parameter) SetParameterName(v string) *Parameter { 12226 s.ParameterName = &v 12227 return s 12228} 12229 12230// SetParameterValue sets the ParameterValue field's value. 12231func (s *Parameter) SetParameterValue(v string) *Parameter { 12232 s.ParameterValue = &v 12233 return s 12234} 12235 12236// SetSource sets the Source field's value. 12237func (s *Parameter) SetSource(v string) *Parameter { 12238 s.Source = &v 12239 return s 12240} 12241 12242// Describes a name-value pair that is used to update the value of a parameter. 12243type ParameterNameValue struct { 12244 _ struct{} `type:"structure"` 12245 12246 // The name of the parameter. 12247 ParameterName *string `type:"string"` 12248 12249 // The value of the parameter. 12250 ParameterValue *string `type:"string"` 12251} 12252 12253// String returns the string representation 12254func (s ParameterNameValue) String() string { 12255 return awsutil.Prettify(s) 12256} 12257 12258// GoString returns the string representation 12259func (s ParameterNameValue) GoString() string { 12260 return s.String() 12261} 12262 12263// SetParameterName sets the ParameterName field's value. 12264func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { 12265 s.ParameterName = &v 12266 return s 12267} 12268 12269// SetParameterValue sets the ParameterValue field's value. 12270func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { 12271 s.ParameterValue = &v 12272 return s 12273} 12274 12275// A group of settings that are applied to the cluster in the future, or that 12276// are currently being applied. 12277type PendingModifiedValues struct { 12278 _ struct{} `type:"structure"` 12279 12280 // A list of cache node IDs that are being removed (or will be removed) from 12281 // the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.). 12282 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 12283 12284 // The cache node type that this cluster or replication group is scaled to. 12285 CacheNodeType *string `type:"string"` 12286 12287 // The new cache engine version that the cluster runs. 12288 EngineVersion *string `type:"string"` 12289 12290 // The new number of cache nodes for the cluster. 12291 // 12292 // For clusters running Redis, this value must be 1. For clusters running Memcached, 12293 // this value must be between 1 and 20. 12294 NumCacheNodes *int64 `type:"integer"` 12295} 12296 12297// String returns the string representation 12298func (s PendingModifiedValues) String() string { 12299 return awsutil.Prettify(s) 12300} 12301 12302// GoString returns the string representation 12303func (s PendingModifiedValues) GoString() string { 12304 return s.String() 12305} 12306 12307// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 12308func (s *PendingModifiedValues) SetCacheNodeIdsToRemove(v []*string) *PendingModifiedValues { 12309 s.CacheNodeIdsToRemove = v 12310 return s 12311} 12312 12313// SetCacheNodeType sets the CacheNodeType field's value. 12314func (s *PendingModifiedValues) SetCacheNodeType(v string) *PendingModifiedValues { 12315 s.CacheNodeType = &v 12316 return s 12317} 12318 12319// SetEngineVersion sets the EngineVersion field's value. 12320func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { 12321 s.EngineVersion = &v 12322 return s 12323} 12324 12325// SetNumCacheNodes sets the NumCacheNodes field's value. 12326func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues { 12327 s.NumCacheNodes = &v 12328 return s 12329} 12330 12331// Update action that has been processed for the corresponding apply/stop request 12332type ProcessedUpdateAction struct { 12333 _ struct{} `type:"structure"` 12334 12335 // The ID of the replication group 12336 ReplicationGroupId *string `type:"string"` 12337 12338 // The unique ID of the service update 12339 ServiceUpdateName *string `type:"string"` 12340 12341 // The status of the update action on the Redis cluster 12342 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 12343} 12344 12345// String returns the string representation 12346func (s ProcessedUpdateAction) String() string { 12347 return awsutil.Prettify(s) 12348} 12349 12350// GoString returns the string representation 12351func (s ProcessedUpdateAction) GoString() string { 12352 return s.String() 12353} 12354 12355// SetReplicationGroupId sets the ReplicationGroupId field's value. 12356func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { 12357 s.ReplicationGroupId = &v 12358 return s 12359} 12360 12361// SetServiceUpdateName sets the ServiceUpdateName field's value. 12362func (s *ProcessedUpdateAction) SetServiceUpdateName(v string) *ProcessedUpdateAction { 12363 s.ServiceUpdateName = &v 12364 return s 12365} 12366 12367// SetUpdateActionStatus sets the UpdateActionStatus field's value. 12368func (s *ProcessedUpdateAction) SetUpdateActionStatus(v string) *ProcessedUpdateAction { 12369 s.UpdateActionStatus = &v 12370 return s 12371} 12372 12373// Represents the input of a PurchaseReservedCacheNodesOffering operation. 12374type PurchaseReservedCacheNodesOfferingInput struct { 12375 _ struct{} `type:"structure"` 12376 12377 // The number of cache node instances to reserve. 12378 // 12379 // Default: 1 12380 CacheNodeCount *int64 `type:"integer"` 12381 12382 // A customer-specified identifier to track this reservation. 12383 // 12384 // The Reserved Cache Node ID is an unique customer-specified identifier to 12385 // track this reservation. If this parameter is not specified, ElastiCache automatically 12386 // generates an identifier for the reservation. 12387 // 12388 // Example: myreservationID 12389 ReservedCacheNodeId *string `type:"string"` 12390 12391 // The ID of the reserved cache node offering to purchase. 12392 // 12393 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 12394 // 12395 // ReservedCacheNodesOfferingId is a required field 12396 ReservedCacheNodesOfferingId *string `type:"string" required:"true"` 12397} 12398 12399// String returns the string representation 12400func (s PurchaseReservedCacheNodesOfferingInput) String() string { 12401 return awsutil.Prettify(s) 12402} 12403 12404// GoString returns the string representation 12405func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { 12406 return s.String() 12407} 12408 12409// Validate inspects the fields of the type to determine if they are valid. 12410func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { 12411 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} 12412 if s.ReservedCacheNodesOfferingId == nil { 12413 invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) 12414 } 12415 12416 if invalidParams.Len() > 0 { 12417 return invalidParams 12418 } 12419 return nil 12420} 12421 12422// SetCacheNodeCount sets the CacheNodeCount field's value. 12423func (s *PurchaseReservedCacheNodesOfferingInput) SetCacheNodeCount(v int64) *PurchaseReservedCacheNodesOfferingInput { 12424 s.CacheNodeCount = &v 12425 return s 12426} 12427 12428// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 12429func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodeId(v string) *PurchaseReservedCacheNodesOfferingInput { 12430 s.ReservedCacheNodeId = &v 12431 return s 12432} 12433 12434// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 12435func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodesOfferingId(v string) *PurchaseReservedCacheNodesOfferingInput { 12436 s.ReservedCacheNodesOfferingId = &v 12437 return s 12438} 12439 12440type PurchaseReservedCacheNodesOfferingOutput struct { 12441 _ struct{} `type:"structure"` 12442 12443 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 12444 ReservedCacheNode *ReservedCacheNode `type:"structure"` 12445} 12446 12447// String returns the string representation 12448func (s PurchaseReservedCacheNodesOfferingOutput) String() string { 12449 return awsutil.Prettify(s) 12450} 12451 12452// GoString returns the string representation 12453func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { 12454 return s.String() 12455} 12456 12457// SetReservedCacheNode sets the ReservedCacheNode field's value. 12458func (s *PurchaseReservedCacheNodesOfferingOutput) SetReservedCacheNode(v *ReservedCacheNode) *PurchaseReservedCacheNodesOfferingOutput { 12459 s.ReservedCacheNode = v 12460 return s 12461} 12462 12463// Represents the input of a RebootCacheCluster operation. 12464type RebootCacheClusterInput struct { 12465 _ struct{} `type:"structure"` 12466 12467 // The cluster identifier. This parameter is stored as a lowercase string. 12468 // 12469 // CacheClusterId is a required field 12470 CacheClusterId *string `type:"string" required:"true"` 12471 12472 // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 12473 // 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs. 12474 // 12475 // CacheNodeIdsToReboot is a required field 12476 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` 12477} 12478 12479// String returns the string representation 12480func (s RebootCacheClusterInput) String() string { 12481 return awsutil.Prettify(s) 12482} 12483 12484// GoString returns the string representation 12485func (s RebootCacheClusterInput) GoString() string { 12486 return s.String() 12487} 12488 12489// Validate inspects the fields of the type to determine if they are valid. 12490func (s *RebootCacheClusterInput) Validate() error { 12491 invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} 12492 if s.CacheClusterId == nil { 12493 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 12494 } 12495 if s.CacheNodeIdsToReboot == nil { 12496 invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) 12497 } 12498 12499 if invalidParams.Len() > 0 { 12500 return invalidParams 12501 } 12502 return nil 12503} 12504 12505// SetCacheClusterId sets the CacheClusterId field's value. 12506func (s *RebootCacheClusterInput) SetCacheClusterId(v string) *RebootCacheClusterInput { 12507 s.CacheClusterId = &v 12508 return s 12509} 12510 12511// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 12512func (s *RebootCacheClusterInput) SetCacheNodeIdsToReboot(v []*string) *RebootCacheClusterInput { 12513 s.CacheNodeIdsToReboot = v 12514 return s 12515} 12516 12517type RebootCacheClusterOutput struct { 12518 _ struct{} `type:"structure"` 12519 12520 // Contains all of the attributes of a specific cluster. 12521 CacheCluster *CacheCluster `type:"structure"` 12522} 12523 12524// String returns the string representation 12525func (s RebootCacheClusterOutput) String() string { 12526 return awsutil.Prettify(s) 12527} 12528 12529// GoString returns the string representation 12530func (s RebootCacheClusterOutput) GoString() string { 12531 return s.String() 12532} 12533 12534// SetCacheCluster sets the CacheCluster field's value. 12535func (s *RebootCacheClusterOutput) SetCacheCluster(v *CacheCluster) *RebootCacheClusterOutput { 12536 s.CacheCluster = v 12537 return s 12538} 12539 12540// Contains the specific price and frequency of a recurring charges for a reserved 12541// cache node, or for a reserved cache node offering. 12542type RecurringCharge struct { 12543 _ struct{} `type:"structure"` 12544 12545 // The monetary amount of the recurring charge. 12546 RecurringChargeAmount *float64 `type:"double"` 12547 12548 // The frequency of the recurring charge. 12549 RecurringChargeFrequency *string `type:"string"` 12550} 12551 12552// String returns the string representation 12553func (s RecurringCharge) String() string { 12554 return awsutil.Prettify(s) 12555} 12556 12557// GoString returns the string representation 12558func (s RecurringCharge) GoString() string { 12559 return s.String() 12560} 12561 12562// SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 12563func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 12564 s.RecurringChargeAmount = &v 12565 return s 12566} 12567 12568// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 12569func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 12570 s.RecurringChargeFrequency = &v 12571 return s 12572} 12573 12574// Represents the input of a RemoveTagsFromResource operation. 12575type RemoveTagsFromResourceInput struct { 12576 _ struct{} `type:"structure"` 12577 12578 // The Amazon Resource Name (ARN) of the resource from which you want the tags 12579 // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 12580 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 12581 // 12582 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 12583 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 12584 // 12585 // ResourceName is a required field 12586 ResourceName *string `type:"string" required:"true"` 12587 12588 // A list of TagKeys identifying the tags you want removed from the named resource. 12589 // 12590 // TagKeys is a required field 12591 TagKeys []*string `type:"list" required:"true"` 12592} 12593 12594// String returns the string representation 12595func (s RemoveTagsFromResourceInput) String() string { 12596 return awsutil.Prettify(s) 12597} 12598 12599// GoString returns the string representation 12600func (s RemoveTagsFromResourceInput) GoString() string { 12601 return s.String() 12602} 12603 12604// Validate inspects the fields of the type to determine if they are valid. 12605func (s *RemoveTagsFromResourceInput) Validate() error { 12606 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} 12607 if s.ResourceName == nil { 12608 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 12609 } 12610 if s.TagKeys == nil { 12611 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 12612 } 12613 12614 if invalidParams.Len() > 0 { 12615 return invalidParams 12616 } 12617 return nil 12618} 12619 12620// SetResourceName sets the ResourceName field's value. 12621func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { 12622 s.ResourceName = &v 12623 return s 12624} 12625 12626// SetTagKeys sets the TagKeys field's value. 12627func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { 12628 s.TagKeys = v 12629 return s 12630} 12631 12632// Contains all of the attributes of a specific Redis replication group. 12633type ReplicationGroup struct { 12634 _ struct{} `type:"structure"` 12635 12636 // A flag that enables encryption at-rest when set to true. 12637 // 12638 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 12639 // is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled 12640 // to true when you create a cluster. 12641 // 12642 // Required: Only available when creating a replication group in an Amazon VPC 12643 // using redis version 3.2.6, 4.x or later. 12644 // 12645 // Default: false 12646 AtRestEncryptionEnabled *bool `type:"boolean"` 12647 12648 // A flag that enables using an AuthToken (password) when issuing Redis commands. 12649 // 12650 // Default: false 12651 AuthTokenEnabled *bool `type:"boolean"` 12652 12653 // Indicates the status of Multi-AZ with automatic failover for this Redis replication 12654 // group. 12655 // 12656 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 12657 // on: 12658 // 12659 // * Redis versions earlier than 2.8.6. 12660 // 12661 // * Redis (cluster mode disabled): T1 node types. 12662 // 12663 // * Redis (cluster mode enabled): T1 node types. 12664 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 12665 12666 // The name of the compute and memory capacity node type for each node in the 12667 // replication group. 12668 CacheNodeType *string `type:"string"` 12669 12670 // A flag indicating whether or not this replication group is cluster enabled; 12671 // i.e., whether its data can be partitioned across multiple shards (API/CLI: 12672 // node groups). 12673 // 12674 // Valid values: true | false 12675 ClusterEnabled *bool `type:"boolean"` 12676 12677 // The configuration endpoint for this replication group. Use the configuration 12678 // endpoint to connect to this replication group. 12679 ConfigurationEndpoint *Endpoint `type:"structure"` 12680 12681 // The user supplied description of the replication group. 12682 Description *string `type:"string"` 12683 12684 // The names of all the cache clusters that are part of this replication group. 12685 MemberClusters []*string `locationNameList:"ClusterId" type:"list"` 12686 12687 // A list of node groups in this replication group. For Redis (cluster mode 12688 // disabled) replication groups, this is a single-element list. For Redis (cluster 12689 // mode enabled) replication groups, the list contains an entry for each node 12690 // group (shard). 12691 NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"` 12692 12693 // A group of settings to be applied to the replication group, either immediately 12694 // or during the next maintenance window. 12695 PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"` 12696 12697 // The identifier for the replication group. 12698 ReplicationGroupId *string `type:"string"` 12699 12700 // The number of days for which ElastiCache retains automatic cluster snapshots 12701 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 12702 // a snapshot that was taken today is retained for 5 days before being deleted. 12703 // 12704 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 12705 // off. 12706 SnapshotRetentionLimit *int64 `type:"integer"` 12707 12708 // The daily time range (in UTC) during which ElastiCache begins taking a daily 12709 // snapshot of your node group (shard). 12710 // 12711 // Example: 05:00-09:00 12712 // 12713 // If you do not specify this parameter, ElastiCache automatically chooses an 12714 // appropriate time range. 12715 // 12716 // This parameter is only valid if the Engine parameter is redis. 12717 SnapshotWindow *string `type:"string"` 12718 12719 // The cluster ID that is used as the daily snapshot source for the replication 12720 // group. 12721 SnapshottingClusterId *string `type:"string"` 12722 12723 // The current state of this replication group - creating, available, modifying, 12724 // deleting, create-failed, snapshotting. 12725 Status *string `type:"string"` 12726 12727 // A flag that enables in-transit encryption when set to true. 12728 // 12729 // You cannot modify the value of TransitEncryptionEnabled after the cluster 12730 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 12731 // to true when you create a cluster. 12732 // 12733 // Required: Only available when creating a replication group in an Amazon VPC 12734 // using redis version 3.2.6, 4.x or later. 12735 // 12736 // Default: false 12737 TransitEncryptionEnabled *bool `type:"boolean"` 12738} 12739 12740// String returns the string representation 12741func (s ReplicationGroup) String() string { 12742 return awsutil.Prettify(s) 12743} 12744 12745// GoString returns the string representation 12746func (s ReplicationGroup) GoString() string { 12747 return s.String() 12748} 12749 12750// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 12751func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { 12752 s.AtRestEncryptionEnabled = &v 12753 return s 12754} 12755 12756// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 12757func (s *ReplicationGroup) SetAuthTokenEnabled(v bool) *ReplicationGroup { 12758 s.AuthTokenEnabled = &v 12759 return s 12760} 12761 12762// SetAutomaticFailover sets the AutomaticFailover field's value. 12763func (s *ReplicationGroup) SetAutomaticFailover(v string) *ReplicationGroup { 12764 s.AutomaticFailover = &v 12765 return s 12766} 12767 12768// SetCacheNodeType sets the CacheNodeType field's value. 12769func (s *ReplicationGroup) SetCacheNodeType(v string) *ReplicationGroup { 12770 s.CacheNodeType = &v 12771 return s 12772} 12773 12774// SetClusterEnabled sets the ClusterEnabled field's value. 12775func (s *ReplicationGroup) SetClusterEnabled(v bool) *ReplicationGroup { 12776 s.ClusterEnabled = &v 12777 return s 12778} 12779 12780// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 12781func (s *ReplicationGroup) SetConfigurationEndpoint(v *Endpoint) *ReplicationGroup { 12782 s.ConfigurationEndpoint = v 12783 return s 12784} 12785 12786// SetDescription sets the Description field's value. 12787func (s *ReplicationGroup) SetDescription(v string) *ReplicationGroup { 12788 s.Description = &v 12789 return s 12790} 12791 12792// SetMemberClusters sets the MemberClusters field's value. 12793func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { 12794 s.MemberClusters = v 12795 return s 12796} 12797 12798// SetNodeGroups sets the NodeGroups field's value. 12799func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { 12800 s.NodeGroups = v 12801 return s 12802} 12803 12804// SetPendingModifiedValues sets the PendingModifiedValues field's value. 12805func (s *ReplicationGroup) SetPendingModifiedValues(v *ReplicationGroupPendingModifiedValues) *ReplicationGroup { 12806 s.PendingModifiedValues = v 12807 return s 12808} 12809 12810// SetReplicationGroupId sets the ReplicationGroupId field's value. 12811func (s *ReplicationGroup) SetReplicationGroupId(v string) *ReplicationGroup { 12812 s.ReplicationGroupId = &v 12813 return s 12814} 12815 12816// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 12817func (s *ReplicationGroup) SetSnapshotRetentionLimit(v int64) *ReplicationGroup { 12818 s.SnapshotRetentionLimit = &v 12819 return s 12820} 12821 12822// SetSnapshotWindow sets the SnapshotWindow field's value. 12823func (s *ReplicationGroup) SetSnapshotWindow(v string) *ReplicationGroup { 12824 s.SnapshotWindow = &v 12825 return s 12826} 12827 12828// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 12829func (s *ReplicationGroup) SetSnapshottingClusterId(v string) *ReplicationGroup { 12830 s.SnapshottingClusterId = &v 12831 return s 12832} 12833 12834// SetStatus sets the Status field's value. 12835func (s *ReplicationGroup) SetStatus(v string) *ReplicationGroup { 12836 s.Status = &v 12837 return s 12838} 12839 12840// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 12841func (s *ReplicationGroup) SetTransitEncryptionEnabled(v bool) *ReplicationGroup { 12842 s.TransitEncryptionEnabled = &v 12843 return s 12844} 12845 12846// The settings to be applied to the Redis replication group, either immediately 12847// or during the next maintenance window. 12848type ReplicationGroupPendingModifiedValues struct { 12849 _ struct{} `type:"structure"` 12850 12851 // Indicates the status of Multi-AZ with automatic failover for this Redis replication 12852 // group. 12853 // 12854 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 12855 // on: 12856 // 12857 // * Redis versions earlier than 2.8.6. 12858 // 12859 // * Redis (cluster mode disabled): T1 node types. 12860 // 12861 // * Redis (cluster mode enabled): T1 node types. 12862 AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` 12863 12864 // The primary cluster ID that is applied immediately (if --apply-immediately 12865 // was specified), or during the next maintenance window. 12866 PrimaryClusterId *string `type:"string"` 12867 12868 // The status of an online resharding operation. 12869 Resharding *ReshardingStatus `type:"structure"` 12870} 12871 12872// String returns the string representation 12873func (s ReplicationGroupPendingModifiedValues) String() string { 12874 return awsutil.Prettify(s) 12875} 12876 12877// GoString returns the string representation 12878func (s ReplicationGroupPendingModifiedValues) GoString() string { 12879 return s.String() 12880} 12881 12882// SetAutomaticFailoverStatus sets the AutomaticFailoverStatus field's value. 12883func (s *ReplicationGroupPendingModifiedValues) SetAutomaticFailoverStatus(v string) *ReplicationGroupPendingModifiedValues { 12884 s.AutomaticFailoverStatus = &v 12885 return s 12886} 12887 12888// SetPrimaryClusterId sets the PrimaryClusterId field's value. 12889func (s *ReplicationGroupPendingModifiedValues) SetPrimaryClusterId(v string) *ReplicationGroupPendingModifiedValues { 12890 s.PrimaryClusterId = &v 12891 return s 12892} 12893 12894// SetResharding sets the Resharding field's value. 12895func (s *ReplicationGroupPendingModifiedValues) SetResharding(v *ReshardingStatus) *ReplicationGroupPendingModifiedValues { 12896 s.Resharding = v 12897 return s 12898} 12899 12900// Represents the output of a PurchaseReservedCacheNodesOffering operation. 12901type ReservedCacheNode struct { 12902 _ struct{} `type:"structure"` 12903 12904 // The number of cache nodes that have been reserved. 12905 CacheNodeCount *int64 `type:"integer"` 12906 12907 // The cache node type for the reserved cache nodes. 12908 // 12909 // The following node types are supported by ElastiCache. Generally speaking, 12910 // the current generation types provide more memory and computational power 12911 // at lower cost when compared to their equivalent previous generation counterparts. 12912 // 12913 // * General purpose: Current generation: M5 node types: cache.m5.large, 12914 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 12915 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 12916 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 12917 // cache.t2.medium Previous generation: (not recommended) T1 node types: 12918 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 12919 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 12920 // cache.m3.2xlarge 12921 // 12922 // * Compute optimized: Previous generation: (not recommended) C1 node types: 12923 // cache.c1.xlarge 12924 // 12925 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 12926 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 12927 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 12928 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 12929 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 12930 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 12931 // cache.r3.8xlarge 12932 // 12933 // Additional node type info 12934 // 12935 // * All current generation instance types are created in Amazon VPC by default. 12936 // 12937 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 12938 // 12939 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 12940 // 12941 // * Redis configuration variables appendonly and appendfsync are not supported 12942 // on Redis version 2.8.22 and later. 12943 CacheNodeType *string `type:"string"` 12944 12945 // The duration of the reservation in seconds. 12946 Duration *int64 `type:"integer"` 12947 12948 // The fixed price charged for this reserved cache node. 12949 FixedPrice *float64 `type:"double"` 12950 12951 // The offering type of this reserved cache node. 12952 OfferingType *string `type:"string"` 12953 12954 // The description of the reserved cache node. 12955 ProductDescription *string `type:"string"` 12956 12957 // The recurring price charged to run this reserved cache node. 12958 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 12959 12960 // The Amazon Resource Name (ARN) of the reserved cache node. 12961 // 12962 // Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582 12963 ReservationARN *string `type:"string"` 12964 12965 // The unique identifier for the reservation. 12966 ReservedCacheNodeId *string `type:"string"` 12967 12968 // The offering identifier. 12969 ReservedCacheNodesOfferingId *string `type:"string"` 12970 12971 // The time the reservation started. 12972 StartTime *time.Time `type:"timestamp"` 12973 12974 // The state of the reserved cache node. 12975 State *string `type:"string"` 12976 12977 // The hourly price charged for this reserved cache node. 12978 UsagePrice *float64 `type:"double"` 12979} 12980 12981// String returns the string representation 12982func (s ReservedCacheNode) String() string { 12983 return awsutil.Prettify(s) 12984} 12985 12986// GoString returns the string representation 12987func (s ReservedCacheNode) GoString() string { 12988 return s.String() 12989} 12990 12991// SetCacheNodeCount sets the CacheNodeCount field's value. 12992func (s *ReservedCacheNode) SetCacheNodeCount(v int64) *ReservedCacheNode { 12993 s.CacheNodeCount = &v 12994 return s 12995} 12996 12997// SetCacheNodeType sets the CacheNodeType field's value. 12998func (s *ReservedCacheNode) SetCacheNodeType(v string) *ReservedCacheNode { 12999 s.CacheNodeType = &v 13000 return s 13001} 13002 13003// SetDuration sets the Duration field's value. 13004func (s *ReservedCacheNode) SetDuration(v int64) *ReservedCacheNode { 13005 s.Duration = &v 13006 return s 13007} 13008 13009// SetFixedPrice sets the FixedPrice field's value. 13010func (s *ReservedCacheNode) SetFixedPrice(v float64) *ReservedCacheNode { 13011 s.FixedPrice = &v 13012 return s 13013} 13014 13015// SetOfferingType sets the OfferingType field's value. 13016func (s *ReservedCacheNode) SetOfferingType(v string) *ReservedCacheNode { 13017 s.OfferingType = &v 13018 return s 13019} 13020 13021// SetProductDescription sets the ProductDescription field's value. 13022func (s *ReservedCacheNode) SetProductDescription(v string) *ReservedCacheNode { 13023 s.ProductDescription = &v 13024 return s 13025} 13026 13027// SetRecurringCharges sets the RecurringCharges field's value. 13028func (s *ReservedCacheNode) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNode { 13029 s.RecurringCharges = v 13030 return s 13031} 13032 13033// SetReservationARN sets the ReservationARN field's value. 13034func (s *ReservedCacheNode) SetReservationARN(v string) *ReservedCacheNode { 13035 s.ReservationARN = &v 13036 return s 13037} 13038 13039// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 13040func (s *ReservedCacheNode) SetReservedCacheNodeId(v string) *ReservedCacheNode { 13041 s.ReservedCacheNodeId = &v 13042 return s 13043} 13044 13045// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13046func (s *ReservedCacheNode) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNode { 13047 s.ReservedCacheNodesOfferingId = &v 13048 return s 13049} 13050 13051// SetStartTime sets the StartTime field's value. 13052func (s *ReservedCacheNode) SetStartTime(v time.Time) *ReservedCacheNode { 13053 s.StartTime = &v 13054 return s 13055} 13056 13057// SetState sets the State field's value. 13058func (s *ReservedCacheNode) SetState(v string) *ReservedCacheNode { 13059 s.State = &v 13060 return s 13061} 13062 13063// SetUsagePrice sets the UsagePrice field's value. 13064func (s *ReservedCacheNode) SetUsagePrice(v float64) *ReservedCacheNode { 13065 s.UsagePrice = &v 13066 return s 13067} 13068 13069// Describes all of the attributes of a reserved cache node offering. 13070type ReservedCacheNodesOffering struct { 13071 _ struct{} `type:"structure"` 13072 13073 // The cache node type for the reserved cache node. 13074 // 13075 // The following node types are supported by ElastiCache. Generally speaking, 13076 // the current generation types provide more memory and computational power 13077 // at lower cost when compared to their equivalent previous generation counterparts. 13078 // 13079 // * General purpose: Current generation: M5 node types: cache.m5.large, 13080 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 13081 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 13082 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 13083 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13084 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13085 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13086 // cache.m3.2xlarge 13087 // 13088 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13089 // cache.c1.xlarge 13090 // 13091 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 13092 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 13093 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 13094 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 13095 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 13096 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 13097 // cache.r3.8xlarge 13098 // 13099 // Additional node type info 13100 // 13101 // * All current generation instance types are created in Amazon VPC by default. 13102 // 13103 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13104 // 13105 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13106 // 13107 // * Redis configuration variables appendonly and appendfsync are not supported 13108 // on Redis version 2.8.22 and later. 13109 CacheNodeType *string `type:"string"` 13110 13111 // The duration of the offering. in seconds. 13112 Duration *int64 `type:"integer"` 13113 13114 // The fixed price charged for this offering. 13115 FixedPrice *float64 `type:"double"` 13116 13117 // The offering type. 13118 OfferingType *string `type:"string"` 13119 13120 // The cache engine used by the offering. 13121 ProductDescription *string `type:"string"` 13122 13123 // The recurring price charged to run this reserved cache node. 13124 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 13125 13126 // A unique identifier for the reserved cache node offering. 13127 ReservedCacheNodesOfferingId *string `type:"string"` 13128 13129 // The hourly price charged for this offering. 13130 UsagePrice *float64 `type:"double"` 13131} 13132 13133// String returns the string representation 13134func (s ReservedCacheNodesOffering) String() string { 13135 return awsutil.Prettify(s) 13136} 13137 13138// GoString returns the string representation 13139func (s ReservedCacheNodesOffering) GoString() string { 13140 return s.String() 13141} 13142 13143// SetCacheNodeType sets the CacheNodeType field's value. 13144func (s *ReservedCacheNodesOffering) SetCacheNodeType(v string) *ReservedCacheNodesOffering { 13145 s.CacheNodeType = &v 13146 return s 13147} 13148 13149// SetDuration sets the Duration field's value. 13150func (s *ReservedCacheNodesOffering) SetDuration(v int64) *ReservedCacheNodesOffering { 13151 s.Duration = &v 13152 return s 13153} 13154 13155// SetFixedPrice sets the FixedPrice field's value. 13156func (s *ReservedCacheNodesOffering) SetFixedPrice(v float64) *ReservedCacheNodesOffering { 13157 s.FixedPrice = &v 13158 return s 13159} 13160 13161// SetOfferingType sets the OfferingType field's value. 13162func (s *ReservedCacheNodesOffering) SetOfferingType(v string) *ReservedCacheNodesOffering { 13163 s.OfferingType = &v 13164 return s 13165} 13166 13167// SetProductDescription sets the ProductDescription field's value. 13168func (s *ReservedCacheNodesOffering) SetProductDescription(v string) *ReservedCacheNodesOffering { 13169 s.ProductDescription = &v 13170 return s 13171} 13172 13173// SetRecurringCharges sets the RecurringCharges field's value. 13174func (s *ReservedCacheNodesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNodesOffering { 13175 s.RecurringCharges = v 13176 return s 13177} 13178 13179// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13180func (s *ReservedCacheNodesOffering) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNodesOffering { 13181 s.ReservedCacheNodesOfferingId = &v 13182 return s 13183} 13184 13185// SetUsagePrice sets the UsagePrice field's value. 13186func (s *ReservedCacheNodesOffering) SetUsagePrice(v float64) *ReservedCacheNodesOffering { 13187 s.UsagePrice = &v 13188 return s 13189} 13190 13191// Represents the input of a ResetCacheParameterGroup operation. 13192type ResetCacheParameterGroupInput struct { 13193 _ struct{} `type:"structure"` 13194 13195 // The name of the cache parameter group to reset. 13196 // 13197 // CacheParameterGroupName is a required field 13198 CacheParameterGroupName *string `type:"string" required:"true"` 13199 13200 // An array of parameter names to reset to their default values. If ResetAllParameters 13201 // is true, do not use ParameterNameValues. If ResetAllParameters is false, 13202 // you must specify the name of at least one parameter to reset. 13203 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` 13204 13205 // If true, all parameters in the cache parameter group are reset to their default 13206 // values. If false, only the parameters listed by ParameterNameValues are reset 13207 // to their default values. 13208 // 13209 // Valid values: true | false 13210 ResetAllParameters *bool `type:"boolean"` 13211} 13212 13213// String returns the string representation 13214func (s ResetCacheParameterGroupInput) String() string { 13215 return awsutil.Prettify(s) 13216} 13217 13218// GoString returns the string representation 13219func (s ResetCacheParameterGroupInput) GoString() string { 13220 return s.String() 13221} 13222 13223// Validate inspects the fields of the type to determine if they are valid. 13224func (s *ResetCacheParameterGroupInput) Validate() error { 13225 invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} 13226 if s.CacheParameterGroupName == nil { 13227 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 13228 } 13229 13230 if invalidParams.Len() > 0 { 13231 return invalidParams 13232 } 13233 return nil 13234} 13235 13236// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13237func (s *ResetCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ResetCacheParameterGroupInput { 13238 s.CacheParameterGroupName = &v 13239 return s 13240} 13241 13242// SetParameterNameValues sets the ParameterNameValues field's value. 13243func (s *ResetCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ResetCacheParameterGroupInput { 13244 s.ParameterNameValues = v 13245 return s 13246} 13247 13248// SetResetAllParameters sets the ResetAllParameters field's value. 13249func (s *ResetCacheParameterGroupInput) SetResetAllParameters(v bool) *ResetCacheParameterGroupInput { 13250 s.ResetAllParameters = &v 13251 return s 13252} 13253 13254// A list of PreferredAvailabilityZones objects that specifies the configuration 13255// of a node group in the resharded cluster. 13256type ReshardingConfiguration struct { 13257 _ struct{} `type:"structure"` 13258 13259 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 13260 // for the node group these configuration values apply to. 13261 NodeGroupId *string `min:"1" type:"string"` 13262 13263 // A list of preferred availability zones for the nodes in this cluster. 13264 PreferredAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 13265} 13266 13267// String returns the string representation 13268func (s ReshardingConfiguration) String() string { 13269 return awsutil.Prettify(s) 13270} 13271 13272// GoString returns the string representation 13273func (s ReshardingConfiguration) GoString() string { 13274 return s.String() 13275} 13276 13277// Validate inspects the fields of the type to determine if they are valid. 13278func (s *ReshardingConfiguration) Validate() error { 13279 invalidParams := request.ErrInvalidParams{Context: "ReshardingConfiguration"} 13280 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 13281 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 13282 } 13283 13284 if invalidParams.Len() > 0 { 13285 return invalidParams 13286 } 13287 return nil 13288} 13289 13290// SetNodeGroupId sets the NodeGroupId field's value. 13291func (s *ReshardingConfiguration) SetNodeGroupId(v string) *ReshardingConfiguration { 13292 s.NodeGroupId = &v 13293 return s 13294} 13295 13296// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 13297func (s *ReshardingConfiguration) SetPreferredAvailabilityZones(v []*string) *ReshardingConfiguration { 13298 s.PreferredAvailabilityZones = v 13299 return s 13300} 13301 13302// The status of an online resharding operation. 13303type ReshardingStatus struct { 13304 _ struct{} `type:"structure"` 13305 13306 // Represents the progress of an online resharding operation. 13307 SlotMigration *SlotMigration `type:"structure"` 13308} 13309 13310// String returns the string representation 13311func (s ReshardingStatus) String() string { 13312 return awsutil.Prettify(s) 13313} 13314 13315// GoString returns the string representation 13316func (s ReshardingStatus) GoString() string { 13317 return s.String() 13318} 13319 13320// SetSlotMigration sets the SlotMigration field's value. 13321func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { 13322 s.SlotMigration = v 13323 return s 13324} 13325 13326// Represents the input of a RevokeCacheSecurityGroupIngress operation. 13327type RevokeCacheSecurityGroupIngressInput struct { 13328 _ struct{} `type:"structure"` 13329 13330 // The name of the cache security group to revoke ingress from. 13331 // 13332 // CacheSecurityGroupName is a required field 13333 CacheSecurityGroupName *string `type:"string" required:"true"` 13334 13335 // The name of the Amazon EC2 security group to revoke access from. 13336 // 13337 // EC2SecurityGroupName is a required field 13338 EC2SecurityGroupName *string `type:"string" required:"true"` 13339 13340 // The AWS account number of the Amazon EC2 security group owner. Note that 13341 // this is not the same thing as an AWS access key ID - you must provide a valid 13342 // AWS account number for this parameter. 13343 // 13344 // EC2SecurityGroupOwnerId is a required field 13345 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 13346} 13347 13348// String returns the string representation 13349func (s RevokeCacheSecurityGroupIngressInput) String() string { 13350 return awsutil.Prettify(s) 13351} 13352 13353// GoString returns the string representation 13354func (s RevokeCacheSecurityGroupIngressInput) GoString() string { 13355 return s.String() 13356} 13357 13358// Validate inspects the fields of the type to determine if they are valid. 13359func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { 13360 invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} 13361 if s.CacheSecurityGroupName == nil { 13362 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 13363 } 13364 if s.EC2SecurityGroupName == nil { 13365 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 13366 } 13367 if s.EC2SecurityGroupOwnerId == nil { 13368 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 13369 } 13370 13371 if invalidParams.Len() > 0 { 13372 return invalidParams 13373 } 13374 return nil 13375} 13376 13377// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 13378func (s *RevokeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 13379 s.CacheSecurityGroupName = &v 13380 return s 13381} 13382 13383// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 13384func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 13385 s.EC2SecurityGroupName = &v 13386 return s 13387} 13388 13389// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 13390func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeCacheSecurityGroupIngressInput { 13391 s.EC2SecurityGroupOwnerId = &v 13392 return s 13393} 13394 13395type RevokeCacheSecurityGroupIngressOutput struct { 13396 _ struct{} `type:"structure"` 13397 13398 // Represents the output of one of the following operations: 13399 // 13400 // * AuthorizeCacheSecurityGroupIngress 13401 // 13402 // * CreateCacheSecurityGroup 13403 // 13404 // * RevokeCacheSecurityGroupIngress 13405 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 13406} 13407 13408// String returns the string representation 13409func (s RevokeCacheSecurityGroupIngressOutput) String() string { 13410 return awsutil.Prettify(s) 13411} 13412 13413// GoString returns the string representation 13414func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { 13415 return s.String() 13416} 13417 13418// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 13419func (s *RevokeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *RevokeCacheSecurityGroupIngressOutput { 13420 s.CacheSecurityGroup = v 13421 return s 13422} 13423 13424// Represents a single cache security group and its status. 13425type SecurityGroupMembership struct { 13426 _ struct{} `type:"structure"` 13427 13428 // The identifier of the cache security group. 13429 SecurityGroupId *string `type:"string"` 13430 13431 // The status of the cache security group membership. The status changes whenever 13432 // a cache security group is modified, or when the cache security groups assigned 13433 // to a cluster are modified. 13434 Status *string `type:"string"` 13435} 13436 13437// String returns the string representation 13438func (s SecurityGroupMembership) String() string { 13439 return awsutil.Prettify(s) 13440} 13441 13442// GoString returns the string representation 13443func (s SecurityGroupMembership) GoString() string { 13444 return s.String() 13445} 13446 13447// SetSecurityGroupId sets the SecurityGroupId field's value. 13448func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { 13449 s.SecurityGroupId = &v 13450 return s 13451} 13452 13453// SetStatus sets the Status field's value. 13454func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { 13455 s.Status = &v 13456 return s 13457} 13458 13459// An update that you can apply to your Redis clusters. 13460type ServiceUpdate struct { 13461 _ struct{} `type:"structure"` 13462 13463 // Indicates whether the service update will be automatically applied once the 13464 // recommended apply-by date has expired. 13465 AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` 13466 13467 // The Redis engine to which the service update applies 13468 Engine *string `type:"string"` 13469 13470 // The Redis engine version to which the service update applies 13471 EngineVersion *string `type:"string"` 13472 13473 // The estimated length of time the service update will take 13474 EstimatedUpdateTime *string `type:"string"` 13475 13476 // Provides details of the service update 13477 ServiceUpdateDescription *string `type:"string"` 13478 13479 // The date after which the service update is no longer available 13480 ServiceUpdateEndDate *time.Time `type:"timestamp"` 13481 13482 // The unique ID of the service update 13483 ServiceUpdateName *string `type:"string"` 13484 13485 // The recommendend date to apply the service update in order to ensure compliance. 13486 // For information on compliance, see Self-Service Security Updates for Compliance 13487 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 13488 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 13489 13490 // The date when the service update is initially available 13491 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 13492 13493 // The severity of the service update 13494 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 13495 13496 // The status of the service update 13497 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 13498 13499 // Reflects the nature of the service update 13500 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 13501} 13502 13503// String returns the string representation 13504func (s ServiceUpdate) String() string { 13505 return awsutil.Prettify(s) 13506} 13507 13508// GoString returns the string representation 13509func (s ServiceUpdate) GoString() string { 13510 return s.String() 13511} 13512 13513// SetAutoUpdateAfterRecommendedApplyByDate sets the AutoUpdateAfterRecommendedApplyByDate field's value. 13514func (s *ServiceUpdate) SetAutoUpdateAfterRecommendedApplyByDate(v bool) *ServiceUpdate { 13515 s.AutoUpdateAfterRecommendedApplyByDate = &v 13516 return s 13517} 13518 13519// SetEngine sets the Engine field's value. 13520func (s *ServiceUpdate) SetEngine(v string) *ServiceUpdate { 13521 s.Engine = &v 13522 return s 13523} 13524 13525// SetEngineVersion sets the EngineVersion field's value. 13526func (s *ServiceUpdate) SetEngineVersion(v string) *ServiceUpdate { 13527 s.EngineVersion = &v 13528 return s 13529} 13530 13531// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 13532func (s *ServiceUpdate) SetEstimatedUpdateTime(v string) *ServiceUpdate { 13533 s.EstimatedUpdateTime = &v 13534 return s 13535} 13536 13537// SetServiceUpdateDescription sets the ServiceUpdateDescription field's value. 13538func (s *ServiceUpdate) SetServiceUpdateDescription(v string) *ServiceUpdate { 13539 s.ServiceUpdateDescription = &v 13540 return s 13541} 13542 13543// SetServiceUpdateEndDate sets the ServiceUpdateEndDate field's value. 13544func (s *ServiceUpdate) SetServiceUpdateEndDate(v time.Time) *ServiceUpdate { 13545 s.ServiceUpdateEndDate = &v 13546 return s 13547} 13548 13549// SetServiceUpdateName sets the ServiceUpdateName field's value. 13550func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { 13551 s.ServiceUpdateName = &v 13552 return s 13553} 13554 13555// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 13556func (s *ServiceUpdate) SetServiceUpdateRecommendedApplyByDate(v time.Time) *ServiceUpdate { 13557 s.ServiceUpdateRecommendedApplyByDate = &v 13558 return s 13559} 13560 13561// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 13562func (s *ServiceUpdate) SetServiceUpdateReleaseDate(v time.Time) *ServiceUpdate { 13563 s.ServiceUpdateReleaseDate = &v 13564 return s 13565} 13566 13567// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 13568func (s *ServiceUpdate) SetServiceUpdateSeverity(v string) *ServiceUpdate { 13569 s.ServiceUpdateSeverity = &v 13570 return s 13571} 13572 13573// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 13574func (s *ServiceUpdate) SetServiceUpdateStatus(v string) *ServiceUpdate { 13575 s.ServiceUpdateStatus = &v 13576 return s 13577} 13578 13579// SetServiceUpdateType sets the ServiceUpdateType field's value. 13580func (s *ServiceUpdate) SetServiceUpdateType(v string) *ServiceUpdate { 13581 s.ServiceUpdateType = &v 13582 return s 13583} 13584 13585// Represents the progress of an online resharding operation. 13586type SlotMigration struct { 13587 _ struct{} `type:"structure"` 13588 13589 // The percentage of the slot migration that is complete. 13590 ProgressPercentage *float64 `type:"double"` 13591} 13592 13593// String returns the string representation 13594func (s SlotMigration) String() string { 13595 return awsutil.Prettify(s) 13596} 13597 13598// GoString returns the string representation 13599func (s SlotMigration) GoString() string { 13600 return s.String() 13601} 13602 13603// SetProgressPercentage sets the ProgressPercentage field's value. 13604func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { 13605 s.ProgressPercentage = &v 13606 return s 13607} 13608 13609// Represents a copy of an entire Redis cluster as of the time when the snapshot 13610// was taken. 13611type Snapshot struct { 13612 _ struct{} `type:"structure"` 13613 13614 // This parameter is currently disabled. 13615 AutoMinorVersionUpgrade *bool `type:"boolean"` 13616 13617 // Indicates the status of Multi-AZ with automatic failover for the source Redis 13618 // replication group. 13619 // 13620 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 13621 // on: 13622 // 13623 // * Redis versions earlier than 2.8.6. 13624 // 13625 // * Redis (cluster mode disabled): T1 node types. 13626 // 13627 // * Redis (cluster mode enabled): T1 node types. 13628 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 13629 13630 // The date and time when the source cluster was created. 13631 CacheClusterCreateTime *time.Time `type:"timestamp"` 13632 13633 // The user-supplied identifier of the source cluster. 13634 CacheClusterId *string `type:"string"` 13635 13636 // The name of the compute and memory capacity node type for the source cluster. 13637 // 13638 // The following node types are supported by ElastiCache. Generally speaking, 13639 // the current generation types provide more memory and computational power 13640 // at lower cost when compared to their equivalent previous generation counterparts. 13641 // 13642 // * General purpose: Current generation: M5 node types: cache.m5.large, 13643 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 13644 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 13645 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 13646 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13647 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13648 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13649 // cache.m3.2xlarge 13650 // 13651 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13652 // cache.c1.xlarge 13653 // 13654 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 13655 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 13656 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 13657 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 13658 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 13659 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 13660 // cache.r3.8xlarge 13661 // 13662 // Additional node type info 13663 // 13664 // * All current generation instance types are created in Amazon VPC by default. 13665 // 13666 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13667 // 13668 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13669 // 13670 // * Redis configuration variables appendonly and appendfsync are not supported 13671 // on Redis version 2.8.22 and later. 13672 CacheNodeType *string `type:"string"` 13673 13674 // The cache parameter group that is associated with the source cluster. 13675 CacheParameterGroupName *string `type:"string"` 13676 13677 // The name of the cache subnet group associated with the source cluster. 13678 CacheSubnetGroupName *string `type:"string"` 13679 13680 // The name of the cache engine (memcached or redis) used by the source cluster. 13681 Engine *string `type:"string"` 13682 13683 // The version of the cache engine version that is used by the source cluster. 13684 EngineVersion *string `type:"string"` 13685 13686 // A list of the cache nodes in the source cluster. 13687 NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"` 13688 13689 // The number of cache nodes in the source cluster. 13690 // 13691 // For clusters running Redis, this value must be 1. For clusters running Memcached, 13692 // this value must be between 1 and 20. 13693 NumCacheNodes *int64 `type:"integer"` 13694 13695 // The number of node groups (shards) in this snapshot. When restoring from 13696 // a snapshot, the number of node groups (shards) in the snapshot and in the 13697 // restored replication group must be the same. 13698 NumNodeGroups *int64 `type:"integer"` 13699 13700 // The port number used by each cache nodes in the source cluster. 13701 Port *int64 `type:"integer"` 13702 13703 // The name of the Availability Zone in which the source cluster is located. 13704 PreferredAvailabilityZone *string `type:"string"` 13705 13706 // Specifies the weekly time range during which maintenance on the cluster is 13707 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 13708 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 13709 // 13710 // Valid values for ddd are: 13711 // 13712 // * sun 13713 // 13714 // * mon 13715 // 13716 // * tue 13717 // 13718 // * wed 13719 // 13720 // * thu 13721 // 13722 // * fri 13723 // 13724 // * sat 13725 // 13726 // Example: sun:23:00-mon:01:30 13727 PreferredMaintenanceWindow *string `type:"string"` 13728 13729 // A description of the source replication group. 13730 ReplicationGroupDescription *string `type:"string"` 13731 13732 // The unique identifier of the source replication group. 13733 ReplicationGroupId *string `type:"string"` 13734 13735 // The name of a snapshot. For an automatic snapshot, the name is system-generated. 13736 // For a manual snapshot, this is the user-provided name. 13737 SnapshotName *string `type:"string"` 13738 13739 // For an automatic snapshot, the number of days for which ElastiCache retains 13740 // the snapshot before deleting it. 13741 // 13742 // For manual snapshots, this field reflects the SnapshotRetentionLimit for 13743 // the source cluster when the snapshot was created. This field is otherwise 13744 // ignored: Manual snapshots do not expire, and can only be deleted using the 13745 // DeleteSnapshot operation. 13746 // 13747 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 13748 // are turned off. 13749 SnapshotRetentionLimit *int64 `type:"integer"` 13750 13751 // Indicates whether the snapshot is from an automatic backup (automated) or 13752 // was created manually (manual). 13753 SnapshotSource *string `type:"string"` 13754 13755 // The status of the snapshot. Valid values: creating | available | restoring 13756 // | copying | deleting. 13757 SnapshotStatus *string `type:"string"` 13758 13759 // The daily time range during which ElastiCache takes daily snapshots of the 13760 // source cluster. 13761 SnapshotWindow *string `type:"string"` 13762 13763 // The Amazon Resource Name (ARN) for the topic used by the source cluster for 13764 // publishing notifications. 13765 TopicArn *string `type:"string"` 13766 13767 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 13768 // group for the source cluster. 13769 VpcId *string `type:"string"` 13770} 13771 13772// String returns the string representation 13773func (s Snapshot) String() string { 13774 return awsutil.Prettify(s) 13775} 13776 13777// GoString returns the string representation 13778func (s Snapshot) GoString() string { 13779 return s.String() 13780} 13781 13782// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 13783func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { 13784 s.AutoMinorVersionUpgrade = &v 13785 return s 13786} 13787 13788// SetAutomaticFailover sets the AutomaticFailover field's value. 13789func (s *Snapshot) SetAutomaticFailover(v string) *Snapshot { 13790 s.AutomaticFailover = &v 13791 return s 13792} 13793 13794// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 13795func (s *Snapshot) SetCacheClusterCreateTime(v time.Time) *Snapshot { 13796 s.CacheClusterCreateTime = &v 13797 return s 13798} 13799 13800// SetCacheClusterId sets the CacheClusterId field's value. 13801func (s *Snapshot) SetCacheClusterId(v string) *Snapshot { 13802 s.CacheClusterId = &v 13803 return s 13804} 13805 13806// SetCacheNodeType sets the CacheNodeType field's value. 13807func (s *Snapshot) SetCacheNodeType(v string) *Snapshot { 13808 s.CacheNodeType = &v 13809 return s 13810} 13811 13812// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13813func (s *Snapshot) SetCacheParameterGroupName(v string) *Snapshot { 13814 s.CacheParameterGroupName = &v 13815 return s 13816} 13817 13818// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 13819func (s *Snapshot) SetCacheSubnetGroupName(v string) *Snapshot { 13820 s.CacheSubnetGroupName = &v 13821 return s 13822} 13823 13824// SetEngine sets the Engine field's value. 13825func (s *Snapshot) SetEngine(v string) *Snapshot { 13826 s.Engine = &v 13827 return s 13828} 13829 13830// SetEngineVersion sets the EngineVersion field's value. 13831func (s *Snapshot) SetEngineVersion(v string) *Snapshot { 13832 s.EngineVersion = &v 13833 return s 13834} 13835 13836// SetNodeSnapshots sets the NodeSnapshots field's value. 13837func (s *Snapshot) SetNodeSnapshots(v []*NodeSnapshot) *Snapshot { 13838 s.NodeSnapshots = v 13839 return s 13840} 13841 13842// SetNumCacheNodes sets the NumCacheNodes field's value. 13843func (s *Snapshot) SetNumCacheNodes(v int64) *Snapshot { 13844 s.NumCacheNodes = &v 13845 return s 13846} 13847 13848// SetNumNodeGroups sets the NumNodeGroups field's value. 13849func (s *Snapshot) SetNumNodeGroups(v int64) *Snapshot { 13850 s.NumNodeGroups = &v 13851 return s 13852} 13853 13854// SetPort sets the Port field's value. 13855func (s *Snapshot) SetPort(v int64) *Snapshot { 13856 s.Port = &v 13857 return s 13858} 13859 13860// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 13861func (s *Snapshot) SetPreferredAvailabilityZone(v string) *Snapshot { 13862 s.PreferredAvailabilityZone = &v 13863 return s 13864} 13865 13866// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 13867func (s *Snapshot) SetPreferredMaintenanceWindow(v string) *Snapshot { 13868 s.PreferredMaintenanceWindow = &v 13869 return s 13870} 13871 13872// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 13873func (s *Snapshot) SetReplicationGroupDescription(v string) *Snapshot { 13874 s.ReplicationGroupDescription = &v 13875 return s 13876} 13877 13878// SetReplicationGroupId sets the ReplicationGroupId field's value. 13879func (s *Snapshot) SetReplicationGroupId(v string) *Snapshot { 13880 s.ReplicationGroupId = &v 13881 return s 13882} 13883 13884// SetSnapshotName sets the SnapshotName field's value. 13885func (s *Snapshot) SetSnapshotName(v string) *Snapshot { 13886 s.SnapshotName = &v 13887 return s 13888} 13889 13890// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 13891func (s *Snapshot) SetSnapshotRetentionLimit(v int64) *Snapshot { 13892 s.SnapshotRetentionLimit = &v 13893 return s 13894} 13895 13896// SetSnapshotSource sets the SnapshotSource field's value. 13897func (s *Snapshot) SetSnapshotSource(v string) *Snapshot { 13898 s.SnapshotSource = &v 13899 return s 13900} 13901 13902// SetSnapshotStatus sets the SnapshotStatus field's value. 13903func (s *Snapshot) SetSnapshotStatus(v string) *Snapshot { 13904 s.SnapshotStatus = &v 13905 return s 13906} 13907 13908// SetSnapshotWindow sets the SnapshotWindow field's value. 13909func (s *Snapshot) SetSnapshotWindow(v string) *Snapshot { 13910 s.SnapshotWindow = &v 13911 return s 13912} 13913 13914// SetTopicArn sets the TopicArn field's value. 13915func (s *Snapshot) SetTopicArn(v string) *Snapshot { 13916 s.TopicArn = &v 13917 return s 13918} 13919 13920// SetVpcId sets the VpcId field's value. 13921func (s *Snapshot) SetVpcId(v string) *Snapshot { 13922 s.VpcId = &v 13923 return s 13924} 13925 13926// Represents the subnet associated with a cluster. This parameter refers to 13927// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with 13928// ElastiCache. 13929type Subnet struct { 13930 _ struct{} `type:"structure"` 13931 13932 // The Availability Zone associated with the subnet. 13933 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 13934 13935 // The unique identifier for the subnet. 13936 SubnetIdentifier *string `type:"string"` 13937} 13938 13939// String returns the string representation 13940func (s Subnet) String() string { 13941 return awsutil.Prettify(s) 13942} 13943 13944// GoString returns the string representation 13945func (s Subnet) GoString() string { 13946 return s.String() 13947} 13948 13949// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 13950func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 13951 s.SubnetAvailabilityZone = v 13952 return s 13953} 13954 13955// SetSubnetIdentifier sets the SubnetIdentifier field's value. 13956func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 13957 s.SubnetIdentifier = &v 13958 return s 13959} 13960 13961// A cost allocation Tag that can be added to an ElastiCache cluster or replication 13962// group. Tags are composed of a Key/Value pair. A tag with a null Value is 13963// permitted. 13964type Tag struct { 13965 _ struct{} `type:"structure"` 13966 13967 // The key for the tag. May not be null. 13968 Key *string `type:"string"` 13969 13970 // The tag's value. May be null. 13971 Value *string `type:"string"` 13972} 13973 13974// String returns the string representation 13975func (s Tag) String() string { 13976 return awsutil.Prettify(s) 13977} 13978 13979// GoString returns the string representation 13980func (s Tag) GoString() string { 13981 return s.String() 13982} 13983 13984// SetKey sets the Key field's value. 13985func (s *Tag) SetKey(v string) *Tag { 13986 s.Key = &v 13987 return s 13988} 13989 13990// SetValue sets the Value field's value. 13991func (s *Tag) SetValue(v string) *Tag { 13992 s.Value = &v 13993 return s 13994} 13995 13996// Represents the output from the AddTagsToResource, ListTagsForResource, and 13997// RemoveTagsFromResource operations. 13998type TagListMessage struct { 13999 _ struct{} `type:"structure"` 14000 14001 // A list of cost allocation tags as key-value pairs. 14002 TagList []*Tag `locationNameList:"Tag" type:"list"` 14003} 14004 14005// String returns the string representation 14006func (s TagListMessage) String() string { 14007 return awsutil.Prettify(s) 14008} 14009 14010// GoString returns the string representation 14011func (s TagListMessage) GoString() string { 14012 return s.String() 14013} 14014 14015// SetTagList sets the TagList field's value. 14016func (s *TagListMessage) SetTagList(v []*Tag) *TagListMessage { 14017 s.TagList = v 14018 return s 14019} 14020 14021type TestFailoverInput struct { 14022 _ struct{} `type:"structure"` 14023 14024 // The name of the node group (called shard in the console) in this replication 14025 // group on which automatic failover is to be tested. You may test automatic 14026 // failover on up to 5 node groups in any rolling 24-hour period. 14027 // 14028 // NodeGroupId is a required field 14029 NodeGroupId *string `min:"1" type:"string" required:"true"` 14030 14031 // The name of the replication group (console: cluster) whose automatic failover 14032 // is being tested by this operation. 14033 // 14034 // ReplicationGroupId is a required field 14035 ReplicationGroupId *string `type:"string" required:"true"` 14036} 14037 14038// String returns the string representation 14039func (s TestFailoverInput) String() string { 14040 return awsutil.Prettify(s) 14041} 14042 14043// GoString returns the string representation 14044func (s TestFailoverInput) GoString() string { 14045 return s.String() 14046} 14047 14048// Validate inspects the fields of the type to determine if they are valid. 14049func (s *TestFailoverInput) Validate() error { 14050 invalidParams := request.ErrInvalidParams{Context: "TestFailoverInput"} 14051 if s.NodeGroupId == nil { 14052 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 14053 } 14054 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 14055 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 14056 } 14057 if s.ReplicationGroupId == nil { 14058 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 14059 } 14060 14061 if invalidParams.Len() > 0 { 14062 return invalidParams 14063 } 14064 return nil 14065} 14066 14067// SetNodeGroupId sets the NodeGroupId field's value. 14068func (s *TestFailoverInput) SetNodeGroupId(v string) *TestFailoverInput { 14069 s.NodeGroupId = &v 14070 return s 14071} 14072 14073// SetReplicationGroupId sets the ReplicationGroupId field's value. 14074func (s *TestFailoverInput) SetReplicationGroupId(v string) *TestFailoverInput { 14075 s.ReplicationGroupId = &v 14076 return s 14077} 14078 14079type TestFailoverOutput struct { 14080 _ struct{} `type:"structure"` 14081 14082 // Contains all of the attributes of a specific Redis replication group. 14083 ReplicationGroup *ReplicationGroup `type:"structure"` 14084} 14085 14086// String returns the string representation 14087func (s TestFailoverOutput) String() string { 14088 return awsutil.Prettify(s) 14089} 14090 14091// GoString returns the string representation 14092func (s TestFailoverOutput) GoString() string { 14093 return s.String() 14094} 14095 14096// SetReplicationGroup sets the ReplicationGroup field's value. 14097func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailoverOutput { 14098 s.ReplicationGroup = v 14099 return s 14100} 14101 14102// Filters update actions from the service updates that are in available status 14103// during the time range. 14104type TimeRangeFilter struct { 14105 _ struct{} `type:"structure"` 14106 14107 // The end time of the time range filter 14108 EndTime *time.Time `type:"timestamp"` 14109 14110 // The start time of the time range filter 14111 StartTime *time.Time `type:"timestamp"` 14112} 14113 14114// String returns the string representation 14115func (s TimeRangeFilter) String() string { 14116 return awsutil.Prettify(s) 14117} 14118 14119// GoString returns the string representation 14120func (s TimeRangeFilter) GoString() string { 14121 return s.String() 14122} 14123 14124// SetEndTime sets the EndTime field's value. 14125func (s *TimeRangeFilter) SetEndTime(v time.Time) *TimeRangeFilter { 14126 s.EndTime = &v 14127 return s 14128} 14129 14130// SetStartTime sets the StartTime field's value. 14131func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { 14132 s.StartTime = &v 14133 return s 14134} 14135 14136// Update action that has failed to be processed for the corresponding apply/stop 14137// request 14138type UnprocessedUpdateAction struct { 14139 _ struct{} `type:"structure"` 14140 14141 // The error message that describes the reason the request was not processed 14142 ErrorMessage *string `type:"string"` 14143 14144 // The error type for requests that are not processed 14145 ErrorType *string `type:"string"` 14146 14147 // The replication group ID 14148 ReplicationGroupId *string `type:"string"` 14149 14150 // The unique ID of the service update 14151 ServiceUpdateName *string `type:"string"` 14152} 14153 14154// String returns the string representation 14155func (s UnprocessedUpdateAction) String() string { 14156 return awsutil.Prettify(s) 14157} 14158 14159// GoString returns the string representation 14160func (s UnprocessedUpdateAction) GoString() string { 14161 return s.String() 14162} 14163 14164// SetErrorMessage sets the ErrorMessage field's value. 14165func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { 14166 s.ErrorMessage = &v 14167 return s 14168} 14169 14170// SetErrorType sets the ErrorType field's value. 14171func (s *UnprocessedUpdateAction) SetErrorType(v string) *UnprocessedUpdateAction { 14172 s.ErrorType = &v 14173 return s 14174} 14175 14176// SetReplicationGroupId sets the ReplicationGroupId field's value. 14177func (s *UnprocessedUpdateAction) SetReplicationGroupId(v string) *UnprocessedUpdateAction { 14178 s.ReplicationGroupId = &v 14179 return s 14180} 14181 14182// SetServiceUpdateName sets the ServiceUpdateName field's value. 14183func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpdateAction { 14184 s.ServiceUpdateName = &v 14185 return s 14186} 14187 14188// The status of the service update for a specific replication group 14189type UpdateAction struct { 14190 _ struct{} `type:"structure"` 14191 14192 // The estimated length of time for the update to complete 14193 EstimatedUpdateTime *string `type:"string"` 14194 14195 // The status of the service update on the node group 14196 NodeGroupUpdateStatus []*NodeGroupUpdateStatus `locationNameList:"NodeGroupUpdateStatus" type:"list"` 14197 14198 // The progress of the service update on the replication group 14199 NodesUpdated *string `type:"string"` 14200 14201 // The ID of the replication group 14202 ReplicationGroupId *string `type:"string"` 14203 14204 // The unique ID of the service update 14205 ServiceUpdateName *string `type:"string"` 14206 14207 // The recommended date to apply the service update to ensure compliance. For 14208 // information on compliance, see Self-Service Security Updates for Compliance 14209 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 14210 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 14211 14212 // The date the update is first available 14213 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 14214 14215 // The severity of the service update 14216 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 14217 14218 // The status of the service update 14219 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 14220 14221 // Reflects the nature of the service update 14222 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 14223 14224 // If yes, all nodes in the replication group have been updated by the recommended 14225 // apply-by date. If no, at least one node in the replication group have not 14226 // been updated by the recommended apply-by date. If N/A, the replication group 14227 // was created after the recommended apply-by date. 14228 SlaMet *string `type:"string" enum:"SlaMet"` 14229 14230 // The date that the service update is available to a replication group 14231 UpdateActionAvailableDate *time.Time `type:"timestamp"` 14232 14233 // The status of the update action 14234 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 14235 14236 // The date when the UpdateActionStatus was last modified 14237 UpdateActionStatusModifiedDate *time.Time `type:"timestamp"` 14238} 14239 14240// String returns the string representation 14241func (s UpdateAction) String() string { 14242 return awsutil.Prettify(s) 14243} 14244 14245// GoString returns the string representation 14246func (s UpdateAction) GoString() string { 14247 return s.String() 14248} 14249 14250// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 14251func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { 14252 s.EstimatedUpdateTime = &v 14253 return s 14254} 14255 14256// SetNodeGroupUpdateStatus sets the NodeGroupUpdateStatus field's value. 14257func (s *UpdateAction) SetNodeGroupUpdateStatus(v []*NodeGroupUpdateStatus) *UpdateAction { 14258 s.NodeGroupUpdateStatus = v 14259 return s 14260} 14261 14262// SetNodesUpdated sets the NodesUpdated field's value. 14263func (s *UpdateAction) SetNodesUpdated(v string) *UpdateAction { 14264 s.NodesUpdated = &v 14265 return s 14266} 14267 14268// SetReplicationGroupId sets the ReplicationGroupId field's value. 14269func (s *UpdateAction) SetReplicationGroupId(v string) *UpdateAction { 14270 s.ReplicationGroupId = &v 14271 return s 14272} 14273 14274// SetServiceUpdateName sets the ServiceUpdateName field's value. 14275func (s *UpdateAction) SetServiceUpdateName(v string) *UpdateAction { 14276 s.ServiceUpdateName = &v 14277 return s 14278} 14279 14280// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 14281func (s *UpdateAction) SetServiceUpdateRecommendedApplyByDate(v time.Time) *UpdateAction { 14282 s.ServiceUpdateRecommendedApplyByDate = &v 14283 return s 14284} 14285 14286// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 14287func (s *UpdateAction) SetServiceUpdateReleaseDate(v time.Time) *UpdateAction { 14288 s.ServiceUpdateReleaseDate = &v 14289 return s 14290} 14291 14292// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 14293func (s *UpdateAction) SetServiceUpdateSeverity(v string) *UpdateAction { 14294 s.ServiceUpdateSeverity = &v 14295 return s 14296} 14297 14298// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 14299func (s *UpdateAction) SetServiceUpdateStatus(v string) *UpdateAction { 14300 s.ServiceUpdateStatus = &v 14301 return s 14302} 14303 14304// SetServiceUpdateType sets the ServiceUpdateType field's value. 14305func (s *UpdateAction) SetServiceUpdateType(v string) *UpdateAction { 14306 s.ServiceUpdateType = &v 14307 return s 14308} 14309 14310// SetSlaMet sets the SlaMet field's value. 14311func (s *UpdateAction) SetSlaMet(v string) *UpdateAction { 14312 s.SlaMet = &v 14313 return s 14314} 14315 14316// SetUpdateActionAvailableDate sets the UpdateActionAvailableDate field's value. 14317func (s *UpdateAction) SetUpdateActionAvailableDate(v time.Time) *UpdateAction { 14318 s.UpdateActionAvailableDate = &v 14319 return s 14320} 14321 14322// SetUpdateActionStatus sets the UpdateActionStatus field's value. 14323func (s *UpdateAction) SetUpdateActionStatus(v string) *UpdateAction { 14324 s.UpdateActionStatus = &v 14325 return s 14326} 14327 14328// SetUpdateActionStatusModifiedDate sets the UpdateActionStatusModifiedDate field's value. 14329func (s *UpdateAction) SetUpdateActionStatusModifiedDate(v time.Time) *UpdateAction { 14330 s.UpdateActionStatusModifiedDate = &v 14331 return s 14332} 14333 14334const ( 14335 // AZModeSingleAz is a AZMode enum value 14336 AZModeSingleAz = "single-az" 14337 14338 // AZModeCrossAz is a AZMode enum value 14339 AZModeCrossAz = "cross-az" 14340) 14341 14342const ( 14343 // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value 14344 AutomaticFailoverStatusEnabled = "enabled" 14345 14346 // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value 14347 AutomaticFailoverStatusDisabled = "disabled" 14348 14349 // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value 14350 AutomaticFailoverStatusEnabling = "enabling" 14351 14352 // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value 14353 AutomaticFailoverStatusDisabling = "disabling" 14354) 14355 14356const ( 14357 // ChangeTypeImmediate is a ChangeType enum value 14358 ChangeTypeImmediate = "immediate" 14359 14360 // ChangeTypeRequiresReboot is a ChangeType enum value 14361 ChangeTypeRequiresReboot = "requires-reboot" 14362) 14363 14364const ( 14365 // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value 14366 NodeUpdateInitiatedBySystem = "system" 14367 14368 // NodeUpdateInitiatedByCustomer is a NodeUpdateInitiatedBy enum value 14369 NodeUpdateInitiatedByCustomer = "customer" 14370) 14371 14372const ( 14373 // NodeUpdateStatusNotApplied is a NodeUpdateStatus enum value 14374 NodeUpdateStatusNotApplied = "not-applied" 14375 14376 // NodeUpdateStatusWaitingToStart is a NodeUpdateStatus enum value 14377 NodeUpdateStatusWaitingToStart = "waiting-to-start" 14378 14379 // NodeUpdateStatusInProgress is a NodeUpdateStatus enum value 14380 NodeUpdateStatusInProgress = "in-progress" 14381 14382 // NodeUpdateStatusStopping is a NodeUpdateStatus enum value 14383 NodeUpdateStatusStopping = "stopping" 14384 14385 // NodeUpdateStatusStopped is a NodeUpdateStatus enum value 14386 NodeUpdateStatusStopped = "stopped" 14387 14388 // NodeUpdateStatusComplete is a NodeUpdateStatus enum value 14389 NodeUpdateStatusComplete = "complete" 14390) 14391 14392const ( 14393 // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value 14394 PendingAutomaticFailoverStatusEnabled = "enabled" 14395 14396 // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value 14397 PendingAutomaticFailoverStatusDisabled = "disabled" 14398) 14399 14400const ( 14401 // ServiceUpdateSeverityCritical is a ServiceUpdateSeverity enum value 14402 ServiceUpdateSeverityCritical = "critical" 14403 14404 // ServiceUpdateSeverityImportant is a ServiceUpdateSeverity enum value 14405 ServiceUpdateSeverityImportant = "important" 14406 14407 // ServiceUpdateSeverityMedium is a ServiceUpdateSeverity enum value 14408 ServiceUpdateSeverityMedium = "medium" 14409 14410 // ServiceUpdateSeverityLow is a ServiceUpdateSeverity enum value 14411 ServiceUpdateSeverityLow = "low" 14412) 14413 14414const ( 14415 // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value 14416 ServiceUpdateStatusAvailable = "available" 14417 14418 // ServiceUpdateStatusCancelled is a ServiceUpdateStatus enum value 14419 ServiceUpdateStatusCancelled = "cancelled" 14420 14421 // ServiceUpdateStatusExpired is a ServiceUpdateStatus enum value 14422 ServiceUpdateStatusExpired = "expired" 14423) 14424 14425const ( 14426 // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value 14427 ServiceUpdateTypeSecurityUpdate = "security-update" 14428) 14429 14430const ( 14431 // SlaMetYes is a SlaMet enum value 14432 SlaMetYes = "yes" 14433 14434 // SlaMetNo is a SlaMet enum value 14435 SlaMetNo = "no" 14436 14437 // SlaMetNA is a SlaMet enum value 14438 SlaMetNA = "n/a" 14439) 14440 14441const ( 14442 // SourceTypeCacheCluster is a SourceType enum value 14443 SourceTypeCacheCluster = "cache-cluster" 14444 14445 // SourceTypeCacheParameterGroup is a SourceType enum value 14446 SourceTypeCacheParameterGroup = "cache-parameter-group" 14447 14448 // SourceTypeCacheSecurityGroup is a SourceType enum value 14449 SourceTypeCacheSecurityGroup = "cache-security-group" 14450 14451 // SourceTypeCacheSubnetGroup is a SourceType enum value 14452 SourceTypeCacheSubnetGroup = "cache-subnet-group" 14453 14454 // SourceTypeReplicationGroup is a SourceType enum value 14455 SourceTypeReplicationGroup = "replication-group" 14456) 14457 14458const ( 14459 // UpdateActionStatusNotApplied is a UpdateActionStatus enum value 14460 UpdateActionStatusNotApplied = "not-applied" 14461 14462 // UpdateActionStatusWaitingToStart is a UpdateActionStatus enum value 14463 UpdateActionStatusWaitingToStart = "waiting-to-start" 14464 14465 // UpdateActionStatusInProgress is a UpdateActionStatus enum value 14466 UpdateActionStatusInProgress = "in-progress" 14467 14468 // UpdateActionStatusStopping is a UpdateActionStatus enum value 14469 UpdateActionStatusStopping = "stopping" 14470 14471 // UpdateActionStatusStopped is a UpdateActionStatus enum value 14472 UpdateActionStatusStopped = "stopped" 14473 14474 // UpdateActionStatusComplete is a UpdateActionStatus enum value 14475 UpdateActionStatusComplete = "complete" 14476) 14477