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 opCompleteMigration = "CompleteMigration" 381 382// CompleteMigrationRequest generates a "aws/request.Request" representing the 383// client's request for the CompleteMigration 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 CompleteMigration for more information on using the CompleteMigration 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 CompleteMigrationRequest method. 398// req, resp := client.CompleteMigrationRequest(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/CompleteMigration 406func (c *ElastiCache) CompleteMigrationRequest(input *CompleteMigrationInput) (req *request.Request, output *CompleteMigrationOutput) { 407 op := &request.Operation{ 408 Name: opCompleteMigration, 409 HTTPMethod: "POST", 410 HTTPPath: "/", 411 } 412 413 if input == nil { 414 input = &CompleteMigrationInput{} 415 } 416 417 output = &CompleteMigrationOutput{} 418 req = c.newRequest(op, input, output) 419 return 420} 421 422// CompleteMigration API operation for Amazon ElastiCache. 423// 424// Complete the migration of data. 425// 426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 427// with awserr.Error's Code and Message methods to get detailed information about 428// the error. 429// 430// See the AWS API reference guide for Amazon ElastiCache's 431// API operation CompleteMigration for usage and error information. 432// 433// Returned Error Codes: 434// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 435// The specified replication group does not exist. 436// 437// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 438// The requested replication group is not in the available state. 439// 440// * ErrCodeReplicationGroupNotUnderMigrationFault "ReplicationGroupNotUnderMigrationFault" 441// The designated replication group is not available for data migration. 442// 443// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CompleteMigration 444func (c *ElastiCache) CompleteMigration(input *CompleteMigrationInput) (*CompleteMigrationOutput, error) { 445 req, out := c.CompleteMigrationRequest(input) 446 return out, req.Send() 447} 448 449// CompleteMigrationWithContext is the same as CompleteMigration with the addition of 450// the ability to pass a context and additional request options. 451// 452// See CompleteMigration for details on how to use this API operation. 453// 454// The context must be non-nil and will be used for request cancellation. If 455// the context is nil a panic will occur. In the future the SDK may create 456// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 457// for more information on using Contexts. 458func (c *ElastiCache) CompleteMigrationWithContext(ctx aws.Context, input *CompleteMigrationInput, opts ...request.Option) (*CompleteMigrationOutput, error) { 459 req, out := c.CompleteMigrationRequest(input) 460 req.SetContext(ctx) 461 req.ApplyOptions(opts...) 462 return out, req.Send() 463} 464 465const opCopySnapshot = "CopySnapshot" 466 467// CopySnapshotRequest generates a "aws/request.Request" representing the 468// client's request for the CopySnapshot operation. The "output" return 469// value will be populated with the request's response once the request completes 470// successfully. 471// 472// Use "Send" method on the returned Request to send the API call to the service. 473// the "output" return value is not valid until after Send returns without error. 474// 475// See CopySnapshot for more information on using the CopySnapshot 476// API call, and error handling. 477// 478// This method is useful when you want to inject custom logic or configuration 479// into the SDK's request lifecycle. Such as custom headers, or retry logic. 480// 481// 482// // Example sending a request using the CopySnapshotRequest method. 483// req, resp := client.CopySnapshotRequest(params) 484// 485// err := req.Send() 486// if err == nil { // resp is now filled 487// fmt.Println(resp) 488// } 489// 490// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot 491func (c *ElastiCache) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { 492 op := &request.Operation{ 493 Name: opCopySnapshot, 494 HTTPMethod: "POST", 495 HTTPPath: "/", 496 } 497 498 if input == nil { 499 input = &CopySnapshotInput{} 500 } 501 502 output = &CopySnapshotOutput{} 503 req = c.newRequest(op, input, output) 504 return 505} 506 507// CopySnapshot API operation for Amazon ElastiCache. 508// 509// Makes a copy of an existing snapshot. 510// 511// This operation is valid for Redis only. 512// 513// Users or groups that have permissions to use the CopySnapshot operation can 514// create their own Amazon S3 buckets and copy snapshots to it. To control access 515// to your snapshots, use an IAM policy to control who has the ability to use 516// the CopySnapshot operation. For more information about using IAM to control 517// the use of ElastiCache operations, see Exporting Snapshots (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html) 518// and Authentication & Access Control (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/IAM.html). 519// 520// You could receive the following error messages. 521// 522// Error Messages 523// 524// * Error Message: The S3 bucket %s is outside of the region. Solution: 525// Create an Amazon S3 bucket in the same region as your snapshot. For more 526// 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) 527// in the ElastiCache User Guide. 528// 529// * Error Message: The S3 bucket %s does not exist. Solution: Create an 530// Amazon S3 bucket in the same region as your snapshot. For more information, 531// 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) 532// in the ElastiCache User Guide. 533// 534// * Error Message: The S3 bucket %s is not owned by the authenticated user. 535// Solution: Create an Amazon S3 bucket in the same region as your snapshot. 536// 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) 537// in the ElastiCache User Guide. 538// 539// * Error Message: The authenticated user does not have sufficient permissions 540// to perform the desired activity. Solution: Contact your system administrator 541// to get the needed permissions. 542// 543// * Error Message: The S3 bucket %s already contains an object with key 544// %s. Solution: Give the TargetSnapshotName a new and unique value. If exporting 545// a snapshot, you could alternatively create a new Amazon S3 bucket and 546// use this same value for TargetSnapshotName. 547// 548// * Error Message: ElastiCache has not been granted READ permissions %s 549// on the S3 Bucket. Solution: Add List and Read permissions on the bucket. 550// For more information, see Step 2: Grant ElastiCache Access to Your Amazon 551// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 552// in the ElastiCache User Guide. 553// 554// * Error Message: ElastiCache has not been granted WRITE permissions %s 555// on the S3 Bucket. Solution: Add Upload/Delete permissions on the bucket. 556// For more information, see Step 2: Grant ElastiCache Access to Your Amazon 557// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 558// in the ElastiCache User Guide. 559// 560// * Error Message: ElastiCache has not been granted READ_ACP permissions 561// %s on the S3 Bucket. Solution: Add View Permissions on the bucket. For 562// more information, see Step 2: Grant ElastiCache Access to Your Amazon 563// S3 Bucket (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-exporting.html#backups-exporting-grant-access) 564// in the ElastiCache User Guide. 565// 566// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 567// with awserr.Error's Code and Message methods to get detailed information about 568// the error. 569// 570// See the AWS API reference guide for Amazon ElastiCache's 571// API operation CopySnapshot for usage and error information. 572// 573// Returned Error Codes: 574// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 575// You already have a snapshot with the given name. 576// 577// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 578// The requested snapshot name does not refer to an existing snapshot. 579// 580// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 581// The request cannot be processed because it would exceed the maximum number 582// of snapshots. 583// 584// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 585// The current state of the snapshot does not allow the requested operation 586// to occur. 587// 588// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 589// The value for a parameter is invalid. 590// 591// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 592// Two or more incompatible parameters were specified. 593// 594// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CopySnapshot 595func (c *ElastiCache) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { 596 req, out := c.CopySnapshotRequest(input) 597 return out, req.Send() 598} 599 600// CopySnapshotWithContext is the same as CopySnapshot with the addition of 601// the ability to pass a context and additional request options. 602// 603// See CopySnapshot for details on how to use this API operation. 604// 605// The context must be non-nil and will be used for request cancellation. If 606// the context is nil a panic will occur. In the future the SDK may create 607// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 608// for more information on using Contexts. 609func (c *ElastiCache) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) { 610 req, out := c.CopySnapshotRequest(input) 611 req.SetContext(ctx) 612 req.ApplyOptions(opts...) 613 return out, req.Send() 614} 615 616const opCreateCacheCluster = "CreateCacheCluster" 617 618// CreateCacheClusterRequest generates a "aws/request.Request" representing the 619// client's request for the CreateCacheCluster operation. The "output" return 620// value will be populated with the request's response once the request completes 621// successfully. 622// 623// Use "Send" method on the returned Request to send the API call to the service. 624// the "output" return value is not valid until after Send returns without error. 625// 626// See CreateCacheCluster for more information on using the CreateCacheCluster 627// API call, and error handling. 628// 629// This method is useful when you want to inject custom logic or configuration 630// into the SDK's request lifecycle. Such as custom headers, or retry logic. 631// 632// 633// // Example sending a request using the CreateCacheClusterRequest method. 634// req, resp := client.CreateCacheClusterRequest(params) 635// 636// err := req.Send() 637// if err == nil { // resp is now filled 638// fmt.Println(resp) 639// } 640// 641// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster 642func (c *ElastiCache) CreateCacheClusterRequest(input *CreateCacheClusterInput) (req *request.Request, output *CreateCacheClusterOutput) { 643 op := &request.Operation{ 644 Name: opCreateCacheCluster, 645 HTTPMethod: "POST", 646 HTTPPath: "/", 647 } 648 649 if input == nil { 650 input = &CreateCacheClusterInput{} 651 } 652 653 output = &CreateCacheClusterOutput{} 654 req = c.newRequest(op, input, output) 655 return 656} 657 658// CreateCacheCluster API operation for Amazon ElastiCache. 659// 660// Creates a cluster. All nodes in the cluster run the same protocol-compliant 661// cache engine software, either Memcached or Redis. 662// 663// This operation is not supported for Redis (cluster mode enabled) clusters. 664// 665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 666// with awserr.Error's Code and Message methods to get detailed information about 667// the error. 668// 669// See the AWS API reference guide for Amazon ElastiCache's 670// API operation CreateCacheCluster for usage and error information. 671// 672// Returned Error Codes: 673// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 674// The specified replication group does not exist. 675// 676// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 677// The requested replication group is not in the available state. 678// 679// * ErrCodeCacheClusterAlreadyExistsFault "CacheClusterAlreadyExists" 680// You already have a cluster with the given identifier. 681// 682// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 683// The requested cache node type is not available in the specified Availability 684// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 685// in the ElastiCache User Guide. 686// 687// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 688// The requested cache security group name does not refer to an existing cache 689// security group. 690// 691// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 692// The requested cache subnet group name does not refer to an existing cache 693// subnet group. 694// 695// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 696// The request cannot be processed because it would exceed the allowed number 697// of clusters per customer. 698// 699// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 700// The request cannot be processed because it would exceed the allowed number 701// of cache nodes in a single cluster. 702// 703// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 704// The request cannot be processed because it would exceed the allowed number 705// of cache nodes per customer. 706// 707// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 708// The requested cache parameter group name does not refer to an existing cache 709// parameter group. 710// 711// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 712// The VPC network is in an invalid state. 713// 714// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 715// The request cannot be processed because it would cause the resource to have 716// more than the allowed number of tags. The maximum number of tags permitted 717// on a resource is 50. 718// 719// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 720// The value for a parameter is invalid. 721// 722// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 723// Two or more incompatible parameters were specified. 724// 725// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheCluster 726func (c *ElastiCache) CreateCacheCluster(input *CreateCacheClusterInput) (*CreateCacheClusterOutput, error) { 727 req, out := c.CreateCacheClusterRequest(input) 728 return out, req.Send() 729} 730 731// CreateCacheClusterWithContext is the same as CreateCacheCluster with the addition of 732// the ability to pass a context and additional request options. 733// 734// See CreateCacheCluster for details on how to use this API operation. 735// 736// The context must be non-nil and will be used for request cancellation. If 737// the context is nil a panic will occur. In the future the SDK may create 738// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 739// for more information on using Contexts. 740func (c *ElastiCache) CreateCacheClusterWithContext(ctx aws.Context, input *CreateCacheClusterInput, opts ...request.Option) (*CreateCacheClusterOutput, error) { 741 req, out := c.CreateCacheClusterRequest(input) 742 req.SetContext(ctx) 743 req.ApplyOptions(opts...) 744 return out, req.Send() 745} 746 747const opCreateCacheParameterGroup = "CreateCacheParameterGroup" 748 749// CreateCacheParameterGroupRequest generates a "aws/request.Request" representing the 750// client's request for the CreateCacheParameterGroup operation. The "output" return 751// value will be populated with the request's response once the request completes 752// successfully. 753// 754// Use "Send" method on the returned Request to send the API call to the service. 755// the "output" return value is not valid until after Send returns without error. 756// 757// See CreateCacheParameterGroup for more information on using the CreateCacheParameterGroup 758// API call, and error handling. 759// 760// This method is useful when you want to inject custom logic or configuration 761// into the SDK's request lifecycle. Such as custom headers, or retry logic. 762// 763// 764// // Example sending a request using the CreateCacheParameterGroupRequest method. 765// req, resp := client.CreateCacheParameterGroupRequest(params) 766// 767// err := req.Send() 768// if err == nil { // resp is now filled 769// fmt.Println(resp) 770// } 771// 772// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup 773func (c *ElastiCache) CreateCacheParameterGroupRequest(input *CreateCacheParameterGroupInput) (req *request.Request, output *CreateCacheParameterGroupOutput) { 774 op := &request.Operation{ 775 Name: opCreateCacheParameterGroup, 776 HTTPMethod: "POST", 777 HTTPPath: "/", 778 } 779 780 if input == nil { 781 input = &CreateCacheParameterGroupInput{} 782 } 783 784 output = &CreateCacheParameterGroupOutput{} 785 req = c.newRequest(op, input, output) 786 return 787} 788 789// CreateCacheParameterGroup API operation for Amazon ElastiCache. 790// 791// Creates a new Amazon ElastiCache cache parameter group. An ElastiCache cache 792// parameter group is a collection of parameters and their values that are applied 793// to all of the nodes in any cluster or replication group using the CacheParameterGroup. 794// 795// A newly created CacheParameterGroup is an exact duplicate of the default 796// parameter group for the CacheParameterGroupFamily. To customize the newly 797// created CacheParameterGroup you can change the values of specific parameters. 798// For more information, see: 799// 800// * ModifyCacheParameterGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheParameterGroup.html) 801// in the ElastiCache API Reference. 802// 803// * Parameters and Parameter Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ParameterGroups.html) 804// in the ElastiCache User Guide. 805// 806// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 807// with awserr.Error's Code and Message methods to get detailed information about 808// the error. 809// 810// See the AWS API reference guide for Amazon ElastiCache's 811// API operation CreateCacheParameterGroup for usage and error information. 812// 813// Returned Error Codes: 814// * ErrCodeCacheParameterGroupQuotaExceededFault "CacheParameterGroupQuotaExceeded" 815// The request cannot be processed because it would exceed the maximum number 816// of cache security groups. 817// 818// * ErrCodeCacheParameterGroupAlreadyExistsFault "CacheParameterGroupAlreadyExists" 819// A cache parameter group with the requested name already exists. 820// 821// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 822// The current state of the cache parameter group does not allow the requested 823// operation to occur. 824// 825// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 826// The value for a parameter is invalid. 827// 828// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 829// Two or more incompatible parameters were specified. 830// 831// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheParameterGroup 832func (c *ElastiCache) CreateCacheParameterGroup(input *CreateCacheParameterGroupInput) (*CreateCacheParameterGroupOutput, error) { 833 req, out := c.CreateCacheParameterGroupRequest(input) 834 return out, req.Send() 835} 836 837// CreateCacheParameterGroupWithContext is the same as CreateCacheParameterGroup with the addition of 838// the ability to pass a context and additional request options. 839// 840// See CreateCacheParameterGroup for details on how to use this API operation. 841// 842// The context must be non-nil and will be used for request cancellation. If 843// the context is nil a panic will occur. In the future the SDK may create 844// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 845// for more information on using Contexts. 846func (c *ElastiCache) CreateCacheParameterGroupWithContext(ctx aws.Context, input *CreateCacheParameterGroupInput, opts ...request.Option) (*CreateCacheParameterGroupOutput, error) { 847 req, out := c.CreateCacheParameterGroupRequest(input) 848 req.SetContext(ctx) 849 req.ApplyOptions(opts...) 850 return out, req.Send() 851} 852 853const opCreateCacheSecurityGroup = "CreateCacheSecurityGroup" 854 855// CreateCacheSecurityGroupRequest generates a "aws/request.Request" representing the 856// client's request for the CreateCacheSecurityGroup operation. The "output" return 857// value will be populated with the request's response once the request completes 858// successfully. 859// 860// Use "Send" method on the returned Request to send the API call to the service. 861// the "output" return value is not valid until after Send returns without error. 862// 863// See CreateCacheSecurityGroup for more information on using the CreateCacheSecurityGroup 864// API call, and error handling. 865// 866// This method is useful when you want to inject custom logic or configuration 867// into the SDK's request lifecycle. Such as custom headers, or retry logic. 868// 869// 870// // Example sending a request using the CreateCacheSecurityGroupRequest method. 871// req, resp := client.CreateCacheSecurityGroupRequest(params) 872// 873// err := req.Send() 874// if err == nil { // resp is now filled 875// fmt.Println(resp) 876// } 877// 878// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup 879func (c *ElastiCache) CreateCacheSecurityGroupRequest(input *CreateCacheSecurityGroupInput) (req *request.Request, output *CreateCacheSecurityGroupOutput) { 880 op := &request.Operation{ 881 Name: opCreateCacheSecurityGroup, 882 HTTPMethod: "POST", 883 HTTPPath: "/", 884 } 885 886 if input == nil { 887 input = &CreateCacheSecurityGroupInput{} 888 } 889 890 output = &CreateCacheSecurityGroupOutput{} 891 req = c.newRequest(op, input, output) 892 return 893} 894 895// CreateCacheSecurityGroup API operation for Amazon ElastiCache. 896// 897// Creates a new cache security group. Use a cache security group to control 898// access to one or more clusters. 899// 900// Cache security groups are only used when you are creating a cluster outside 901// of an Amazon Virtual Private Cloud (Amazon VPC). If you are creating a cluster 902// inside of a VPC, use a cache subnet group instead. For more information, 903// see CreateCacheSubnetGroup (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheSubnetGroup.html). 904// 905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 906// with awserr.Error's Code and Message methods to get detailed information about 907// the error. 908// 909// See the AWS API reference guide for Amazon ElastiCache's 910// API operation CreateCacheSecurityGroup for usage and error information. 911// 912// Returned Error Codes: 913// * ErrCodeCacheSecurityGroupAlreadyExistsFault "CacheSecurityGroupAlreadyExists" 914// A cache security group with the specified name already exists. 915// 916// * ErrCodeCacheSecurityGroupQuotaExceededFault "QuotaExceeded.CacheSecurityGroup" 917// The request cannot be processed because it would exceed the allowed number 918// of cache security groups. 919// 920// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 921// The value for a parameter is invalid. 922// 923// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 924// Two or more incompatible parameters were specified. 925// 926// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSecurityGroup 927func (c *ElastiCache) CreateCacheSecurityGroup(input *CreateCacheSecurityGroupInput) (*CreateCacheSecurityGroupOutput, error) { 928 req, out := c.CreateCacheSecurityGroupRequest(input) 929 return out, req.Send() 930} 931 932// CreateCacheSecurityGroupWithContext is the same as CreateCacheSecurityGroup with the addition of 933// the ability to pass a context and additional request options. 934// 935// See CreateCacheSecurityGroup for details on how to use this API operation. 936// 937// The context must be non-nil and will be used for request cancellation. If 938// the context is nil a panic will occur. In the future the SDK may create 939// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 940// for more information on using Contexts. 941func (c *ElastiCache) CreateCacheSecurityGroupWithContext(ctx aws.Context, input *CreateCacheSecurityGroupInput, opts ...request.Option) (*CreateCacheSecurityGroupOutput, error) { 942 req, out := c.CreateCacheSecurityGroupRequest(input) 943 req.SetContext(ctx) 944 req.ApplyOptions(opts...) 945 return out, req.Send() 946} 947 948const opCreateCacheSubnetGroup = "CreateCacheSubnetGroup" 949 950// CreateCacheSubnetGroupRequest generates a "aws/request.Request" representing the 951// client's request for the CreateCacheSubnetGroup operation. The "output" return 952// value will be populated with the request's response once the request completes 953// successfully. 954// 955// Use "Send" method on the returned Request to send the API call to the service. 956// the "output" return value is not valid until after Send returns without error. 957// 958// See CreateCacheSubnetGroup for more information on using the CreateCacheSubnetGroup 959// API call, and error handling. 960// 961// This method is useful when you want to inject custom logic or configuration 962// into the SDK's request lifecycle. Such as custom headers, or retry logic. 963// 964// 965// // Example sending a request using the CreateCacheSubnetGroupRequest method. 966// req, resp := client.CreateCacheSubnetGroupRequest(params) 967// 968// err := req.Send() 969// if err == nil { // resp is now filled 970// fmt.Println(resp) 971// } 972// 973// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup 974func (c *ElastiCache) CreateCacheSubnetGroupRequest(input *CreateCacheSubnetGroupInput) (req *request.Request, output *CreateCacheSubnetGroupOutput) { 975 op := &request.Operation{ 976 Name: opCreateCacheSubnetGroup, 977 HTTPMethod: "POST", 978 HTTPPath: "/", 979 } 980 981 if input == nil { 982 input = &CreateCacheSubnetGroupInput{} 983 } 984 985 output = &CreateCacheSubnetGroupOutput{} 986 req = c.newRequest(op, input, output) 987 return 988} 989 990// CreateCacheSubnetGroup API operation for Amazon ElastiCache. 991// 992// Creates a new cache subnet group. 993// 994// Use this parameter only when you are creating a cluster in an Amazon Virtual 995// Private Cloud (Amazon VPC). 996// 997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 998// with awserr.Error's Code and Message methods to get detailed information about 999// the error. 1000// 1001// See the AWS API reference guide for Amazon ElastiCache's 1002// API operation CreateCacheSubnetGroup for usage and error information. 1003// 1004// Returned Error Codes: 1005// * ErrCodeCacheSubnetGroupAlreadyExistsFault "CacheSubnetGroupAlreadyExists" 1006// The requested cache subnet group name is already in use by an existing cache 1007// subnet group. 1008// 1009// * ErrCodeCacheSubnetGroupQuotaExceededFault "CacheSubnetGroupQuotaExceeded" 1010// The request cannot be processed because it would exceed the allowed number 1011// of cache subnet groups. 1012// 1013// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 1014// The request cannot be processed because it would exceed the allowed number 1015// of subnets in a cache subnet group. 1016// 1017// * ErrCodeInvalidSubnet "InvalidSubnet" 1018// An invalid subnet identifier was specified. 1019// 1020// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateCacheSubnetGroup 1021func (c *ElastiCache) CreateCacheSubnetGroup(input *CreateCacheSubnetGroupInput) (*CreateCacheSubnetGroupOutput, error) { 1022 req, out := c.CreateCacheSubnetGroupRequest(input) 1023 return out, req.Send() 1024} 1025 1026// CreateCacheSubnetGroupWithContext is the same as CreateCacheSubnetGroup with the addition of 1027// the ability to pass a context and additional request options. 1028// 1029// See CreateCacheSubnetGroup for details on how to use this API operation. 1030// 1031// The context must be non-nil and will be used for request cancellation. If 1032// the context is nil a panic will occur. In the future the SDK may create 1033// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1034// for more information on using Contexts. 1035func (c *ElastiCache) CreateCacheSubnetGroupWithContext(ctx aws.Context, input *CreateCacheSubnetGroupInput, opts ...request.Option) (*CreateCacheSubnetGroupOutput, error) { 1036 req, out := c.CreateCacheSubnetGroupRequest(input) 1037 req.SetContext(ctx) 1038 req.ApplyOptions(opts...) 1039 return out, req.Send() 1040} 1041 1042const opCreateGlobalReplicationGroup = "CreateGlobalReplicationGroup" 1043 1044// CreateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 1045// client's request for the CreateGlobalReplicationGroup operation. The "output" return 1046// value will be populated with the request's response once the request completes 1047// successfully. 1048// 1049// Use "Send" method on the returned Request to send the API call to the service. 1050// the "output" return value is not valid until after Send returns without error. 1051// 1052// See CreateGlobalReplicationGroup for more information on using the CreateGlobalReplicationGroup 1053// API call, and error handling. 1054// 1055// This method is useful when you want to inject custom logic or configuration 1056// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1057// 1058// 1059// // Example sending a request using the CreateGlobalReplicationGroupRequest method. 1060// req, resp := client.CreateGlobalReplicationGroupRequest(params) 1061// 1062// err := req.Send() 1063// if err == nil { // resp is now filled 1064// fmt.Println(resp) 1065// } 1066// 1067// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroup 1068func (c *ElastiCache) CreateGlobalReplicationGroupRequest(input *CreateGlobalReplicationGroupInput) (req *request.Request, output *CreateGlobalReplicationGroupOutput) { 1069 op := &request.Operation{ 1070 Name: opCreateGlobalReplicationGroup, 1071 HTTPMethod: "POST", 1072 HTTPPath: "/", 1073 } 1074 1075 if input == nil { 1076 input = &CreateGlobalReplicationGroupInput{} 1077 } 1078 1079 output = &CreateGlobalReplicationGroupOutput{} 1080 req = c.newRequest(op, input, output) 1081 return 1082} 1083 1084// CreateGlobalReplicationGroup API operation for Amazon ElastiCache. 1085// 1086// Global Datastore for Redis offers fully managed, fast, reliable and secure 1087// cross-region replication. Using Global Datastore for Redis, you can create 1088// cross-region read replica clusters for ElastiCache for Redis to enable low-latency 1089// reads and disaster recovery across regions. For more information, see Replication 1090// Across Regions Using Global Datastore (/AmazonElastiCache/latest/red-ug/Redis-Global-Clusters.html). 1091// 1092// * The GlobalReplicationGroupIdSuffix is the name of the Global Datastore. 1093// 1094// * The PrimaryReplicationGroupId represents the name of the primary cluster 1095// that accepts writes and will replicate updates to the secondary cluster. 1096// 1097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1098// with awserr.Error's Code and Message methods to get detailed information about 1099// the error. 1100// 1101// See the AWS API reference guide for Amazon ElastiCache's 1102// API operation CreateGlobalReplicationGroup for usage and error information. 1103// 1104// Returned Error Codes: 1105// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1106// The specified replication group does not exist. 1107// 1108// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1109// The requested replication group is not in the available state. 1110// 1111// * ErrCodeGlobalReplicationGroupAlreadyExistsFault "GlobalReplicationGroupAlreadyExistsFault" 1112// The Global Datastore name already exists. 1113// 1114// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1115// The specified service linked role (SLR) was not found. 1116// 1117// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1118// The value for a parameter is invalid. 1119// 1120// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateGlobalReplicationGroup 1121func (c *ElastiCache) CreateGlobalReplicationGroup(input *CreateGlobalReplicationGroupInput) (*CreateGlobalReplicationGroupOutput, error) { 1122 req, out := c.CreateGlobalReplicationGroupRequest(input) 1123 return out, req.Send() 1124} 1125 1126// CreateGlobalReplicationGroupWithContext is the same as CreateGlobalReplicationGroup with the addition of 1127// the ability to pass a context and additional request options. 1128// 1129// See CreateGlobalReplicationGroup for details on how to use this API operation. 1130// 1131// The context must be non-nil and will be used for request cancellation. If 1132// the context is nil a panic will occur. In the future the SDK may create 1133// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1134// for more information on using Contexts. 1135func (c *ElastiCache) CreateGlobalReplicationGroupWithContext(ctx aws.Context, input *CreateGlobalReplicationGroupInput, opts ...request.Option) (*CreateGlobalReplicationGroupOutput, error) { 1136 req, out := c.CreateGlobalReplicationGroupRequest(input) 1137 req.SetContext(ctx) 1138 req.ApplyOptions(opts...) 1139 return out, req.Send() 1140} 1141 1142const opCreateReplicationGroup = "CreateReplicationGroup" 1143 1144// CreateReplicationGroupRequest generates a "aws/request.Request" representing the 1145// client's request for the CreateReplicationGroup operation. The "output" return 1146// value will be populated with the request's response once the request completes 1147// successfully. 1148// 1149// Use "Send" method on the returned Request to send the API call to the service. 1150// the "output" return value is not valid until after Send returns without error. 1151// 1152// See CreateReplicationGroup for more information on using the CreateReplicationGroup 1153// API call, and error handling. 1154// 1155// This method is useful when you want to inject custom logic or configuration 1156// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1157// 1158// 1159// // Example sending a request using the CreateReplicationGroupRequest method. 1160// req, resp := client.CreateReplicationGroupRequest(params) 1161// 1162// err := req.Send() 1163// if err == nil { // resp is now filled 1164// fmt.Println(resp) 1165// } 1166// 1167// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1168func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) { 1169 op := &request.Operation{ 1170 Name: opCreateReplicationGroup, 1171 HTTPMethod: "POST", 1172 HTTPPath: "/", 1173 } 1174 1175 if input == nil { 1176 input = &CreateReplicationGroupInput{} 1177 } 1178 1179 output = &CreateReplicationGroupOutput{} 1180 req = c.newRequest(op, input, output) 1181 return 1182} 1183 1184// CreateReplicationGroup API operation for Amazon ElastiCache. 1185// 1186// Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) 1187// replication group. 1188// 1189// This API can be used to create a standalone regional replication group or 1190// a secondary replication group associated with a Global Datastore. 1191// 1192// A Redis (cluster mode disabled) replication group is a collection of clusters, 1193// where one of the clusters is a read/write primary and the others are read-only 1194// replicas. Writes to the primary are asynchronously propagated to the replicas. 1195// 1196// A Redis (cluster mode enabled) replication group is a collection of 1 to 1197// 90 node groups (shards). Each node group (shard) has one read/write primary 1198// node and up to 5 read-only replica nodes. Writes to the primary are asynchronously 1199// propagated to the replicas. Redis (cluster mode enabled) replication groups 1200// partition the data across node groups (shards). 1201// 1202// When a Redis (cluster mode disabled) replication group has been successfully 1203// created, you can add one or more read replicas to it, up to a total of 5 1204// read replicas. You cannot alter a Redis (cluster mode enabled) replication 1205// group after it has been created. However, if you need to increase or decrease 1206// the number of node groups (console: shards), you can avail yourself of ElastiCache 1207// for Redis' enhanced backup and restore. For more information, see Restoring 1208// From a Backup with Cluster Resizing (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-restoring.html) 1209// in the ElastiCache User Guide. 1210// 1211// This operation is valid for Redis only. 1212// 1213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1214// with awserr.Error's Code and Message methods to get detailed information about 1215// the error. 1216// 1217// See the AWS API reference guide for Amazon ElastiCache's 1218// API operation CreateReplicationGroup for usage and error information. 1219// 1220// Returned Error Codes: 1221// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1222// The requested cluster ID does not refer to an existing cluster. 1223// 1224// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1225// The requested cluster is not in the available state. 1226// 1227// * ErrCodeReplicationGroupAlreadyExistsFault "ReplicationGroupAlreadyExists" 1228// The specified replication group already exists. 1229// 1230// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1231// The requested cache node type is not available in the specified Availability 1232// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1233// in the ElastiCache User Guide. 1234// 1235// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1236// The requested cache security group name does not refer to an existing cache 1237// security group. 1238// 1239// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1240// The requested cache subnet group name does not refer to an existing cache 1241// subnet group. 1242// 1243// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1244// The request cannot be processed because it would exceed the allowed number 1245// of clusters per customer. 1246// 1247// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 1248// The request cannot be processed because it would exceed the allowed number 1249// of cache nodes in a single cluster. 1250// 1251// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1252// The request cannot be processed because it would exceed the allowed number 1253// of cache nodes per customer. 1254// 1255// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1256// The requested cache parameter group name does not refer to an existing cache 1257// parameter group. 1258// 1259// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1260// The VPC network is in an invalid state. 1261// 1262// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1263// The request cannot be processed because it would cause the resource to have 1264// more than the allowed number of tags. The maximum number of tags permitted 1265// on a resource is 50. 1266// 1267// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1268// The request cannot be processed because it would exceed the maximum allowed 1269// number of node groups (shards) in a single replication group. The default 1270// maximum is 90 1271// 1272// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 1273// The Global Datastore does not exist 1274// 1275// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 1276// The Global Datastore is not available or in primary-only state. 1277// 1278// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1279// The value for a parameter is invalid. 1280// 1281// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1282// Two or more incompatible parameters were specified. 1283// 1284// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1285func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { 1286 req, out := c.CreateReplicationGroupRequest(input) 1287 return out, req.Send() 1288} 1289 1290// CreateReplicationGroupWithContext is the same as CreateReplicationGroup with the addition of 1291// the ability to pass a context and additional request options. 1292// 1293// See CreateReplicationGroup for details on how to use this API operation. 1294// 1295// The context must be non-nil and will be used for request cancellation. If 1296// the context is nil a panic will occur. In the future the SDK may create 1297// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1298// for more information on using Contexts. 1299func (c *ElastiCache) CreateReplicationGroupWithContext(ctx aws.Context, input *CreateReplicationGroupInput, opts ...request.Option) (*CreateReplicationGroupOutput, error) { 1300 req, out := c.CreateReplicationGroupRequest(input) 1301 req.SetContext(ctx) 1302 req.ApplyOptions(opts...) 1303 return out, req.Send() 1304} 1305 1306const opCreateSnapshot = "CreateSnapshot" 1307 1308// CreateSnapshotRequest generates a "aws/request.Request" representing the 1309// client's request for the CreateSnapshot operation. The "output" return 1310// value will be populated with the request's response once the request completes 1311// successfully. 1312// 1313// Use "Send" method on the returned Request to send the API call to the service. 1314// the "output" return value is not valid until after Send returns without error. 1315// 1316// See CreateSnapshot for more information on using the CreateSnapshot 1317// API call, and error handling. 1318// 1319// This method is useful when you want to inject custom logic or configuration 1320// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1321// 1322// 1323// // Example sending a request using the CreateSnapshotRequest method. 1324// req, resp := client.CreateSnapshotRequest(params) 1325// 1326// err := req.Send() 1327// if err == nil { // resp is now filled 1328// fmt.Println(resp) 1329// } 1330// 1331// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1332func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { 1333 op := &request.Operation{ 1334 Name: opCreateSnapshot, 1335 HTTPMethod: "POST", 1336 HTTPPath: "/", 1337 } 1338 1339 if input == nil { 1340 input = &CreateSnapshotInput{} 1341 } 1342 1343 output = &CreateSnapshotOutput{} 1344 req = c.newRequest(op, input, output) 1345 return 1346} 1347 1348// CreateSnapshot API operation for Amazon ElastiCache. 1349// 1350// Creates a copy of an entire cluster or replication group at a specific moment 1351// in time. 1352// 1353// This operation is valid for Redis only. 1354// 1355// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1356// with awserr.Error's Code and Message methods to get detailed information about 1357// the error. 1358// 1359// See the AWS API reference guide for Amazon ElastiCache's 1360// API operation CreateSnapshot for usage and error information. 1361// 1362// Returned Error Codes: 1363// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1364// You already have a snapshot with the given name. 1365// 1366// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1367// The requested cluster ID does not refer to an existing cluster. 1368// 1369// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1370// The specified replication group does not exist. 1371// 1372// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1373// The requested cluster is not in the available state. 1374// 1375// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1376// The requested replication group is not in the available state. 1377// 1378// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1379// The request cannot be processed because it would exceed the maximum number 1380// of snapshots. 1381// 1382// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1383// You attempted one of the following operations: 1384// 1385// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1386// node. 1387// 1388// * Creating a snapshot of a cluster that is running Memcached rather than 1389// Redis. 1390// 1391// Neither of these are supported by ElastiCache. 1392// 1393// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1394// Two or more incompatible parameters were specified. 1395// 1396// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1397// The value for a parameter is invalid. 1398// 1399// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1400func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { 1401 req, out := c.CreateSnapshotRequest(input) 1402 return out, req.Send() 1403} 1404 1405// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of 1406// the ability to pass a context and additional request options. 1407// 1408// See CreateSnapshot for details on how to use this API operation. 1409// 1410// The context must be non-nil and will be used for request cancellation. If 1411// the context is nil a panic will occur. In the future the SDK may create 1412// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1413// for more information on using Contexts. 1414func (c *ElastiCache) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { 1415 req, out := c.CreateSnapshotRequest(input) 1416 req.SetContext(ctx) 1417 req.ApplyOptions(opts...) 1418 return out, req.Send() 1419} 1420 1421const opDecreaseNodeGroupsInGlobalReplicationGroup = "DecreaseNodeGroupsInGlobalReplicationGroup" 1422 1423// DecreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 1424// client's request for the DecreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 1425// value will be populated with the request's response once the request completes 1426// successfully. 1427// 1428// Use "Send" method on the returned Request to send the API call to the service. 1429// the "output" return value is not valid until after Send returns without error. 1430// 1431// See DecreaseNodeGroupsInGlobalReplicationGroup for more information on using the DecreaseNodeGroupsInGlobalReplicationGroup 1432// API call, and error handling. 1433// 1434// This method is useful when you want to inject custom logic or configuration 1435// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1436// 1437// 1438// // Example sending a request using the DecreaseNodeGroupsInGlobalReplicationGroupRequest method. 1439// req, resp := client.DecreaseNodeGroupsInGlobalReplicationGroupRequest(params) 1440// 1441// err := req.Send() 1442// if err == nil { // resp is now filled 1443// fmt.Println(resp) 1444// } 1445// 1446// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup 1447func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupRequest(input *DecreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *DecreaseNodeGroupsInGlobalReplicationGroupOutput) { 1448 op := &request.Operation{ 1449 Name: opDecreaseNodeGroupsInGlobalReplicationGroup, 1450 HTTPMethod: "POST", 1451 HTTPPath: "/", 1452 } 1453 1454 if input == nil { 1455 input = &DecreaseNodeGroupsInGlobalReplicationGroupInput{} 1456 } 1457 1458 output = &DecreaseNodeGroupsInGlobalReplicationGroupOutput{} 1459 req = c.newRequest(op, input, output) 1460 return 1461} 1462 1463// DecreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 1464// 1465// Decreases the number of node groups in a Global Datastore 1466// 1467// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1468// with awserr.Error's Code and Message methods to get detailed information about 1469// the error. 1470// 1471// See the AWS API reference guide for Amazon ElastiCache's 1472// API operation DecreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 1473// 1474// Returned Error Codes: 1475// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 1476// The Global Datastore does not exist 1477// 1478// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 1479// The Global Datastore is not available or in primary-only state. 1480// 1481// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1482// The value for a parameter is invalid. 1483// 1484// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1485// Two or more incompatible parameters were specified. 1486// 1487// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup 1488func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroup(input *DecreaseNodeGroupsInGlobalReplicationGroupInput) (*DecreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 1489 req, out := c.DecreaseNodeGroupsInGlobalReplicationGroupRequest(input) 1490 return out, req.Send() 1491} 1492 1493// DecreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as DecreaseNodeGroupsInGlobalReplicationGroup with the addition of 1494// the ability to pass a context and additional request options. 1495// 1496// See DecreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 1497// 1498// The context must be non-nil and will be used for request cancellation. If 1499// the context is nil a panic will occur. In the future the SDK may create 1500// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1501// for more information on using Contexts. 1502func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *DecreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*DecreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 1503 req, out := c.DecreaseNodeGroupsInGlobalReplicationGroupRequest(input) 1504 req.SetContext(ctx) 1505 req.ApplyOptions(opts...) 1506 return out, req.Send() 1507} 1508 1509const opDecreaseReplicaCount = "DecreaseReplicaCount" 1510 1511// DecreaseReplicaCountRequest generates a "aws/request.Request" representing the 1512// client's request for the DecreaseReplicaCount operation. The "output" return 1513// value will be populated with the request's response once the request completes 1514// successfully. 1515// 1516// Use "Send" method on the returned Request to send the API call to the service. 1517// the "output" return value is not valid until after Send returns without error. 1518// 1519// See DecreaseReplicaCount for more information on using the DecreaseReplicaCount 1520// API call, and error handling. 1521// 1522// This method is useful when you want to inject custom logic or configuration 1523// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1524// 1525// 1526// // Example sending a request using the DecreaseReplicaCountRequest method. 1527// req, resp := client.DecreaseReplicaCountRequest(params) 1528// 1529// err := req.Send() 1530// if err == nil { // resp is now filled 1531// fmt.Println(resp) 1532// } 1533// 1534// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1535func (c *ElastiCache) DecreaseReplicaCountRequest(input *DecreaseReplicaCountInput) (req *request.Request, output *DecreaseReplicaCountOutput) { 1536 op := &request.Operation{ 1537 Name: opDecreaseReplicaCount, 1538 HTTPMethod: "POST", 1539 HTTPPath: "/", 1540 } 1541 1542 if input == nil { 1543 input = &DecreaseReplicaCountInput{} 1544 } 1545 1546 output = &DecreaseReplicaCountOutput{} 1547 req = c.newRequest(op, input, output) 1548 return 1549} 1550 1551// DecreaseReplicaCount API operation for Amazon ElastiCache. 1552// 1553// Dynamically decreases the number of replicas in a Redis (cluster mode disabled) 1554// replication group or the number of replica nodes in one or more node groups 1555// (shards) of a Redis (cluster mode enabled) replication group. This operation 1556// is performed with no cluster down time. 1557// 1558// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1559// with awserr.Error's Code and Message methods to get detailed information about 1560// the error. 1561// 1562// See the AWS API reference guide for Amazon ElastiCache's 1563// API operation DecreaseReplicaCount for usage and error information. 1564// 1565// Returned Error Codes: 1566// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1567// The specified replication group does not exist. 1568// 1569// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1570// The requested replication group is not in the available state. 1571// 1572// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1573// The requested cluster is not in the available state. 1574// 1575// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1576// The VPC network is in an invalid state. 1577// 1578// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1579// The requested cache node type is not available in the specified Availability 1580// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1581// in the ElastiCache User Guide. 1582// 1583// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1584// The request cannot be processed because it would exceed the allowed number 1585// of clusters per customer. 1586// 1587// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1588// The request cannot be processed because it would exceed the maximum allowed 1589// number of node groups (shards) in a single replication group. The default 1590// maximum is 90 1591// 1592// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1593// The request cannot be processed because it would exceed the allowed number 1594// of cache nodes per customer. 1595// 1596// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1597// The specified service linked role (SLR) was not found. 1598// 1599// * ErrCodeNoOperationFault "NoOperationFault" 1600// The operation was not performed because no changes were required. 1601// 1602// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1603// The value for a parameter is invalid. 1604// 1605// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1606// Two or more incompatible parameters were specified. 1607// 1608// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1609func (c *ElastiCache) DecreaseReplicaCount(input *DecreaseReplicaCountInput) (*DecreaseReplicaCountOutput, error) { 1610 req, out := c.DecreaseReplicaCountRequest(input) 1611 return out, req.Send() 1612} 1613 1614// DecreaseReplicaCountWithContext is the same as DecreaseReplicaCount with the addition of 1615// the ability to pass a context and additional request options. 1616// 1617// See DecreaseReplicaCount for details on how to use this API operation. 1618// 1619// The context must be non-nil and will be used for request cancellation. If 1620// the context is nil a panic will occur. In the future the SDK may create 1621// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1622// for more information on using Contexts. 1623func (c *ElastiCache) DecreaseReplicaCountWithContext(ctx aws.Context, input *DecreaseReplicaCountInput, opts ...request.Option) (*DecreaseReplicaCountOutput, error) { 1624 req, out := c.DecreaseReplicaCountRequest(input) 1625 req.SetContext(ctx) 1626 req.ApplyOptions(opts...) 1627 return out, req.Send() 1628} 1629 1630const opDeleteCacheCluster = "DeleteCacheCluster" 1631 1632// DeleteCacheClusterRequest generates a "aws/request.Request" representing the 1633// client's request for the DeleteCacheCluster operation. The "output" return 1634// value will be populated with the request's response once the request completes 1635// successfully. 1636// 1637// Use "Send" method on the returned Request to send the API call to the service. 1638// the "output" return value is not valid until after Send returns without error. 1639// 1640// See DeleteCacheCluster for more information on using the DeleteCacheCluster 1641// API call, and error handling. 1642// 1643// This method is useful when you want to inject custom logic or configuration 1644// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1645// 1646// 1647// // Example sending a request using the DeleteCacheClusterRequest method. 1648// req, resp := client.DeleteCacheClusterRequest(params) 1649// 1650// err := req.Send() 1651// if err == nil { // resp is now filled 1652// fmt.Println(resp) 1653// } 1654// 1655// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1656func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { 1657 op := &request.Operation{ 1658 Name: opDeleteCacheCluster, 1659 HTTPMethod: "POST", 1660 HTTPPath: "/", 1661 } 1662 1663 if input == nil { 1664 input = &DeleteCacheClusterInput{} 1665 } 1666 1667 output = &DeleteCacheClusterOutput{} 1668 req = c.newRequest(op, input, output) 1669 return 1670} 1671 1672// DeleteCacheCluster API operation for Amazon ElastiCache. 1673// 1674// Deletes a previously provisioned cluster. DeleteCacheCluster deletes all 1675// associated cache nodes, node endpoints and the cluster itself. When you receive 1676// a successful response from this operation, Amazon ElastiCache immediately 1677// begins deleting the cluster; you cannot cancel or revert this operation. 1678// 1679// This operation is not valid for: 1680// 1681// * Redis (cluster mode enabled) clusters 1682// 1683// * A cluster that is the last read replica of a replication group 1684// 1685// * A node group (shard) that has Multi-AZ mode enabled 1686// 1687// * A cluster from a Redis (cluster mode enabled) replication group 1688// 1689// * A cluster that is not in the available state 1690// 1691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1692// with awserr.Error's Code and Message methods to get detailed information about 1693// the error. 1694// 1695// See the AWS API reference guide for Amazon ElastiCache's 1696// API operation DeleteCacheCluster for usage and error information. 1697// 1698// Returned Error Codes: 1699// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1700// The requested cluster ID does not refer to an existing cluster. 1701// 1702// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1703// The requested cluster is not in the available state. 1704// 1705// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1706// You already have a snapshot with the given name. 1707// 1708// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1709// You attempted one of the following operations: 1710// 1711// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1712// node. 1713// 1714// * Creating a snapshot of a cluster that is running Memcached rather than 1715// Redis. 1716// 1717// Neither of these are supported by ElastiCache. 1718// 1719// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1720// The request cannot be processed because it would exceed the maximum number 1721// of snapshots. 1722// 1723// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1724// The value for a parameter is invalid. 1725// 1726// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1727// Two or more incompatible parameters were specified. 1728// 1729// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1730func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { 1731 req, out := c.DeleteCacheClusterRequest(input) 1732 return out, req.Send() 1733} 1734 1735// DeleteCacheClusterWithContext is the same as DeleteCacheCluster with the addition of 1736// the ability to pass a context and additional request options. 1737// 1738// See DeleteCacheCluster for details on how to use this API operation. 1739// 1740// The context must be non-nil and will be used for request cancellation. If 1741// the context is nil a panic will occur. In the future the SDK may create 1742// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1743// for more information on using Contexts. 1744func (c *ElastiCache) DeleteCacheClusterWithContext(ctx aws.Context, input *DeleteCacheClusterInput, opts ...request.Option) (*DeleteCacheClusterOutput, error) { 1745 req, out := c.DeleteCacheClusterRequest(input) 1746 req.SetContext(ctx) 1747 req.ApplyOptions(opts...) 1748 return out, req.Send() 1749} 1750 1751const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" 1752 1753// DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the 1754// client's request for the DeleteCacheParameterGroup operation. The "output" return 1755// value will be populated with the request's response once the request completes 1756// successfully. 1757// 1758// Use "Send" method on the returned Request to send the API call to the service. 1759// the "output" return value is not valid until after Send returns without error. 1760// 1761// See DeleteCacheParameterGroup for more information on using the DeleteCacheParameterGroup 1762// API call, and error handling. 1763// 1764// This method is useful when you want to inject custom logic or configuration 1765// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1766// 1767// 1768// // Example sending a request using the DeleteCacheParameterGroupRequest method. 1769// req, resp := client.DeleteCacheParameterGroupRequest(params) 1770// 1771// err := req.Send() 1772// if err == nil { // resp is now filled 1773// fmt.Println(resp) 1774// } 1775// 1776// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1777func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { 1778 op := &request.Operation{ 1779 Name: opDeleteCacheParameterGroup, 1780 HTTPMethod: "POST", 1781 HTTPPath: "/", 1782 } 1783 1784 if input == nil { 1785 input = &DeleteCacheParameterGroupInput{} 1786 } 1787 1788 output = &DeleteCacheParameterGroupOutput{} 1789 req = c.newRequest(op, input, output) 1790 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1791 return 1792} 1793 1794// DeleteCacheParameterGroup API operation for Amazon ElastiCache. 1795// 1796// Deletes the specified cache parameter group. You cannot delete a cache parameter 1797// group if it is associated with any cache clusters. 1798// 1799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1800// with awserr.Error's Code and Message methods to get detailed information about 1801// the error. 1802// 1803// See the AWS API reference guide for Amazon ElastiCache's 1804// API operation DeleteCacheParameterGroup for usage and error information. 1805// 1806// Returned Error Codes: 1807// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 1808// The current state of the cache parameter group does not allow the requested 1809// operation to occur. 1810// 1811// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1812// The requested cache parameter group name does not refer to an existing cache 1813// parameter group. 1814// 1815// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1816// The value for a parameter is invalid. 1817// 1818// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1819// Two or more incompatible parameters were specified. 1820// 1821// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1822func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { 1823 req, out := c.DeleteCacheParameterGroupRequest(input) 1824 return out, req.Send() 1825} 1826 1827// DeleteCacheParameterGroupWithContext is the same as DeleteCacheParameterGroup with the addition of 1828// the ability to pass a context and additional request options. 1829// 1830// See DeleteCacheParameterGroup for details on how to use this API operation. 1831// 1832// The context must be non-nil and will be used for request cancellation. If 1833// the context is nil a panic will occur. In the future the SDK may create 1834// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1835// for more information on using Contexts. 1836func (c *ElastiCache) DeleteCacheParameterGroupWithContext(ctx aws.Context, input *DeleteCacheParameterGroupInput, opts ...request.Option) (*DeleteCacheParameterGroupOutput, error) { 1837 req, out := c.DeleteCacheParameterGroupRequest(input) 1838 req.SetContext(ctx) 1839 req.ApplyOptions(opts...) 1840 return out, req.Send() 1841} 1842 1843const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" 1844 1845// DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the 1846// client's request for the DeleteCacheSecurityGroup operation. The "output" return 1847// value will be populated with the request's response once the request completes 1848// successfully. 1849// 1850// Use "Send" method on the returned Request to send the API call to the service. 1851// the "output" return value is not valid until after Send returns without error. 1852// 1853// See DeleteCacheSecurityGroup for more information on using the DeleteCacheSecurityGroup 1854// API call, and error handling. 1855// 1856// This method is useful when you want to inject custom logic or configuration 1857// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1858// 1859// 1860// // Example sending a request using the DeleteCacheSecurityGroupRequest method. 1861// req, resp := client.DeleteCacheSecurityGroupRequest(params) 1862// 1863// err := req.Send() 1864// if err == nil { // resp is now filled 1865// fmt.Println(resp) 1866// } 1867// 1868// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1869func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { 1870 op := &request.Operation{ 1871 Name: opDeleteCacheSecurityGroup, 1872 HTTPMethod: "POST", 1873 HTTPPath: "/", 1874 } 1875 1876 if input == nil { 1877 input = &DeleteCacheSecurityGroupInput{} 1878 } 1879 1880 output = &DeleteCacheSecurityGroupOutput{} 1881 req = c.newRequest(op, input, output) 1882 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1883 return 1884} 1885 1886// DeleteCacheSecurityGroup API operation for Amazon ElastiCache. 1887// 1888// Deletes a cache security group. 1889// 1890// You cannot delete a cache security group if it is associated with any clusters. 1891// 1892// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1893// with awserr.Error's Code and Message methods to get detailed information about 1894// the error. 1895// 1896// See the AWS API reference guide for Amazon ElastiCache's 1897// API operation DeleteCacheSecurityGroup for usage and error information. 1898// 1899// Returned Error Codes: 1900// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 1901// The current state of the cache security group does not allow deletion. 1902// 1903// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1904// The requested cache security group name does not refer to an existing cache 1905// security group. 1906// 1907// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1908// The value for a parameter is invalid. 1909// 1910// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1911// Two or more incompatible parameters were specified. 1912// 1913// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1914func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { 1915 req, out := c.DeleteCacheSecurityGroupRequest(input) 1916 return out, req.Send() 1917} 1918 1919// DeleteCacheSecurityGroupWithContext is the same as DeleteCacheSecurityGroup with the addition of 1920// the ability to pass a context and additional request options. 1921// 1922// See DeleteCacheSecurityGroup for details on how to use this API operation. 1923// 1924// The context must be non-nil and will be used for request cancellation. If 1925// the context is nil a panic will occur. In the future the SDK may create 1926// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1927// for more information on using Contexts. 1928func (c *ElastiCache) DeleteCacheSecurityGroupWithContext(ctx aws.Context, input *DeleteCacheSecurityGroupInput, opts ...request.Option) (*DeleteCacheSecurityGroupOutput, error) { 1929 req, out := c.DeleteCacheSecurityGroupRequest(input) 1930 req.SetContext(ctx) 1931 req.ApplyOptions(opts...) 1932 return out, req.Send() 1933} 1934 1935const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" 1936 1937// DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the 1938// client's request for the DeleteCacheSubnetGroup operation. The "output" return 1939// value will be populated with the request's response once the request completes 1940// successfully. 1941// 1942// Use "Send" method on the returned Request to send the API call to the service. 1943// the "output" return value is not valid until after Send returns without error. 1944// 1945// See DeleteCacheSubnetGroup for more information on using the DeleteCacheSubnetGroup 1946// API call, and error handling. 1947// 1948// This method is useful when you want to inject custom logic or configuration 1949// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1950// 1951// 1952// // Example sending a request using the DeleteCacheSubnetGroupRequest method. 1953// req, resp := client.DeleteCacheSubnetGroupRequest(params) 1954// 1955// err := req.Send() 1956// if err == nil { // resp is now filled 1957// fmt.Println(resp) 1958// } 1959// 1960// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1961func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { 1962 op := &request.Operation{ 1963 Name: opDeleteCacheSubnetGroup, 1964 HTTPMethod: "POST", 1965 HTTPPath: "/", 1966 } 1967 1968 if input == nil { 1969 input = &DeleteCacheSubnetGroupInput{} 1970 } 1971 1972 output = &DeleteCacheSubnetGroupOutput{} 1973 req = c.newRequest(op, input, output) 1974 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1975 return 1976} 1977 1978// DeleteCacheSubnetGroup API operation for Amazon ElastiCache. 1979// 1980// Deletes a cache subnet group. 1981// 1982// You cannot delete a cache subnet group if it is associated with any clusters. 1983// 1984// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1985// with awserr.Error's Code and Message methods to get detailed information about 1986// the error. 1987// 1988// See the AWS API reference guide for Amazon ElastiCache's 1989// API operation DeleteCacheSubnetGroup for usage and error information. 1990// 1991// Returned Error Codes: 1992// * ErrCodeCacheSubnetGroupInUse "CacheSubnetGroupInUse" 1993// The requested cache subnet group is currently in use. 1994// 1995// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1996// The requested cache subnet group name does not refer to an existing cache 1997// subnet group. 1998// 1999// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 2000func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { 2001 req, out := c.DeleteCacheSubnetGroupRequest(input) 2002 return out, req.Send() 2003} 2004 2005// DeleteCacheSubnetGroupWithContext is the same as DeleteCacheSubnetGroup with the addition of 2006// the ability to pass a context and additional request options. 2007// 2008// See DeleteCacheSubnetGroup for details on how to use this API operation. 2009// 2010// The context must be non-nil and will be used for request cancellation. If 2011// the context is nil a panic will occur. In the future the SDK may create 2012// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2013// for more information on using Contexts. 2014func (c *ElastiCache) DeleteCacheSubnetGroupWithContext(ctx aws.Context, input *DeleteCacheSubnetGroupInput, opts ...request.Option) (*DeleteCacheSubnetGroupOutput, error) { 2015 req, out := c.DeleteCacheSubnetGroupRequest(input) 2016 req.SetContext(ctx) 2017 req.ApplyOptions(opts...) 2018 return out, req.Send() 2019} 2020 2021const opDeleteGlobalReplicationGroup = "DeleteGlobalReplicationGroup" 2022 2023// DeleteGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 2024// client's request for the DeleteGlobalReplicationGroup operation. The "output" return 2025// value will be populated with the request's response once the request completes 2026// successfully. 2027// 2028// Use "Send" method on the returned Request to send the API call to the service. 2029// the "output" return value is not valid until after Send returns without error. 2030// 2031// See DeleteGlobalReplicationGroup for more information on using the DeleteGlobalReplicationGroup 2032// API call, and error handling. 2033// 2034// This method is useful when you want to inject custom logic or configuration 2035// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2036// 2037// 2038// // Example sending a request using the DeleteGlobalReplicationGroupRequest method. 2039// req, resp := client.DeleteGlobalReplicationGroupRequest(params) 2040// 2041// err := req.Send() 2042// if err == nil { // resp is now filled 2043// fmt.Println(resp) 2044// } 2045// 2046// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup 2047func (c *ElastiCache) DeleteGlobalReplicationGroupRequest(input *DeleteGlobalReplicationGroupInput) (req *request.Request, output *DeleteGlobalReplicationGroupOutput) { 2048 op := &request.Operation{ 2049 Name: opDeleteGlobalReplicationGroup, 2050 HTTPMethod: "POST", 2051 HTTPPath: "/", 2052 } 2053 2054 if input == nil { 2055 input = &DeleteGlobalReplicationGroupInput{} 2056 } 2057 2058 output = &DeleteGlobalReplicationGroupOutput{} 2059 req = c.newRequest(op, input, output) 2060 return 2061} 2062 2063// DeleteGlobalReplicationGroup API operation for Amazon ElastiCache. 2064// 2065// Deleting a Global Datastore is a two-step process: 2066// 2067// * First, you must DisassociateGlobalReplicationGroup to remove the secondary 2068// clusters in the Global Datastore. 2069// 2070// * Once the Global Datastore contains only the primary cluster, you can 2071// use DeleteGlobalReplicationGroup API to delete the Global Datastore while 2072// retainining the primary cluster using Retain…= true. 2073// 2074// Since the Global Datastore has only a primary cluster, you can delete the 2075// Global Datastore while retaining the primary by setting RetainPrimaryCluster=true. 2076// 2077// When you receive a successful response from this operation, Amazon ElastiCache 2078// immediately begins deleting the selected resources; you cannot cancel or 2079// revert this operation. 2080// 2081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2082// with awserr.Error's Code and Message methods to get detailed information about 2083// the error. 2084// 2085// See the AWS API reference guide for Amazon ElastiCache's 2086// API operation DeleteGlobalReplicationGroup for usage and error information. 2087// 2088// Returned Error Codes: 2089// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 2090// The Global Datastore does not exist 2091// 2092// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 2093// The Global Datastore is not available or in primary-only state. 2094// 2095// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2096// The value for a parameter is invalid. 2097// 2098// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup 2099func (c *ElastiCache) DeleteGlobalReplicationGroup(input *DeleteGlobalReplicationGroupInput) (*DeleteGlobalReplicationGroupOutput, error) { 2100 req, out := c.DeleteGlobalReplicationGroupRequest(input) 2101 return out, req.Send() 2102} 2103 2104// DeleteGlobalReplicationGroupWithContext is the same as DeleteGlobalReplicationGroup with the addition of 2105// the ability to pass a context and additional request options. 2106// 2107// See DeleteGlobalReplicationGroup for details on how to use this API operation. 2108// 2109// The context must be non-nil and will be used for request cancellation. If 2110// the context is nil a panic will occur. In the future the SDK may create 2111// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2112// for more information on using Contexts. 2113func (c *ElastiCache) DeleteGlobalReplicationGroupWithContext(ctx aws.Context, input *DeleteGlobalReplicationGroupInput, opts ...request.Option) (*DeleteGlobalReplicationGroupOutput, error) { 2114 req, out := c.DeleteGlobalReplicationGroupRequest(input) 2115 req.SetContext(ctx) 2116 req.ApplyOptions(opts...) 2117 return out, req.Send() 2118} 2119 2120const opDeleteReplicationGroup = "DeleteReplicationGroup" 2121 2122// DeleteReplicationGroupRequest generates a "aws/request.Request" representing the 2123// client's request for the DeleteReplicationGroup operation. The "output" return 2124// value will be populated with the request's response once the request completes 2125// successfully. 2126// 2127// Use "Send" method on the returned Request to send the API call to the service. 2128// the "output" return value is not valid until after Send returns without error. 2129// 2130// See DeleteReplicationGroup for more information on using the DeleteReplicationGroup 2131// API call, and error handling. 2132// 2133// This method is useful when you want to inject custom logic or configuration 2134// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2135// 2136// 2137// // Example sending a request using the DeleteReplicationGroupRequest method. 2138// req, resp := client.DeleteReplicationGroupRequest(params) 2139// 2140// err := req.Send() 2141// if err == nil { // resp is now filled 2142// fmt.Println(resp) 2143// } 2144// 2145// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 2146func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { 2147 op := &request.Operation{ 2148 Name: opDeleteReplicationGroup, 2149 HTTPMethod: "POST", 2150 HTTPPath: "/", 2151 } 2152 2153 if input == nil { 2154 input = &DeleteReplicationGroupInput{} 2155 } 2156 2157 output = &DeleteReplicationGroupOutput{} 2158 req = c.newRequest(op, input, output) 2159 return 2160} 2161 2162// DeleteReplicationGroup API operation for Amazon ElastiCache. 2163// 2164// Deletes an existing replication group. By default, this operation deletes 2165// the entire replication group, including the primary/primaries and all of 2166// the read replicas. If the replication group has only one primary, you can 2167// optionally delete only the read replicas, while retaining the primary by 2168// setting RetainPrimaryCluster=true. 2169// 2170// When you receive a successful response from this operation, Amazon ElastiCache 2171// immediately begins deleting the selected resources; you cannot cancel or 2172// revert this operation. 2173// 2174// This operation is valid for Redis only. 2175// 2176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2177// with awserr.Error's Code and Message methods to get detailed information about 2178// the error. 2179// 2180// See the AWS API reference guide for Amazon ElastiCache's 2181// API operation DeleteReplicationGroup for usage and error information. 2182// 2183// Returned Error Codes: 2184// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 2185// The specified replication group does not exist. 2186// 2187// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 2188// The requested replication group is not in the available state. 2189// 2190// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 2191// You already have a snapshot with the given name. 2192// 2193// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 2194// You attempted one of the following operations: 2195// 2196// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 2197// node. 2198// 2199// * Creating a snapshot of a cluster that is running Memcached rather than 2200// Redis. 2201// 2202// Neither of these are supported by ElastiCache. 2203// 2204// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 2205// The request cannot be processed because it would exceed the maximum number 2206// of snapshots. 2207// 2208// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2209// The value for a parameter is invalid. 2210// 2211// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2212// Two or more incompatible parameters were specified. 2213// 2214// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 2215func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { 2216 req, out := c.DeleteReplicationGroupRequest(input) 2217 return out, req.Send() 2218} 2219 2220// DeleteReplicationGroupWithContext is the same as DeleteReplicationGroup with the addition of 2221// the ability to pass a context and additional request options. 2222// 2223// See DeleteReplicationGroup for details on how to use this API operation. 2224// 2225// The context must be non-nil and will be used for request cancellation. If 2226// the context is nil a panic will occur. In the future the SDK may create 2227// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2228// for more information on using Contexts. 2229func (c *ElastiCache) DeleteReplicationGroupWithContext(ctx aws.Context, input *DeleteReplicationGroupInput, opts ...request.Option) (*DeleteReplicationGroupOutput, error) { 2230 req, out := c.DeleteReplicationGroupRequest(input) 2231 req.SetContext(ctx) 2232 req.ApplyOptions(opts...) 2233 return out, req.Send() 2234} 2235 2236const opDeleteSnapshot = "DeleteSnapshot" 2237 2238// DeleteSnapshotRequest generates a "aws/request.Request" representing the 2239// client's request for the DeleteSnapshot operation. The "output" return 2240// value will be populated with the request's response once the request completes 2241// successfully. 2242// 2243// Use "Send" method on the returned Request to send the API call to the service. 2244// the "output" return value is not valid until after Send returns without error. 2245// 2246// See DeleteSnapshot for more information on using the DeleteSnapshot 2247// API call, and error handling. 2248// 2249// This method is useful when you want to inject custom logic or configuration 2250// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2251// 2252// 2253// // Example sending a request using the DeleteSnapshotRequest method. 2254// req, resp := client.DeleteSnapshotRequest(params) 2255// 2256// err := req.Send() 2257// if err == nil { // resp is now filled 2258// fmt.Println(resp) 2259// } 2260// 2261// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2262func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { 2263 op := &request.Operation{ 2264 Name: opDeleteSnapshot, 2265 HTTPMethod: "POST", 2266 HTTPPath: "/", 2267 } 2268 2269 if input == nil { 2270 input = &DeleteSnapshotInput{} 2271 } 2272 2273 output = &DeleteSnapshotOutput{} 2274 req = c.newRequest(op, input, output) 2275 return 2276} 2277 2278// DeleteSnapshot API operation for Amazon ElastiCache. 2279// 2280// Deletes an existing snapshot. When you receive a successful response from 2281// this operation, ElastiCache immediately begins deleting the snapshot; you 2282// cannot cancel or revert this operation. 2283// 2284// This operation is valid for Redis only. 2285// 2286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2287// with awserr.Error's Code and Message methods to get detailed information about 2288// the error. 2289// 2290// See the AWS API reference guide for Amazon ElastiCache's 2291// API operation DeleteSnapshot for usage and error information. 2292// 2293// Returned Error Codes: 2294// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 2295// The requested snapshot name does not refer to an existing snapshot. 2296// 2297// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 2298// The current state of the snapshot does not allow the requested operation 2299// to occur. 2300// 2301// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2302// The value for a parameter is invalid. 2303// 2304// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2305// Two or more incompatible parameters were specified. 2306// 2307// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2308func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { 2309 req, out := c.DeleteSnapshotRequest(input) 2310 return out, req.Send() 2311} 2312 2313// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of 2314// the ability to pass a context and additional request options. 2315// 2316// See DeleteSnapshot for details on how to use this API operation. 2317// 2318// The context must be non-nil and will be used for request cancellation. If 2319// the context is nil a panic will occur. In the future the SDK may create 2320// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2321// for more information on using Contexts. 2322func (c *ElastiCache) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { 2323 req, out := c.DeleteSnapshotRequest(input) 2324 req.SetContext(ctx) 2325 req.ApplyOptions(opts...) 2326 return out, req.Send() 2327} 2328 2329const opDescribeCacheClusters = "DescribeCacheClusters" 2330 2331// DescribeCacheClustersRequest generates a "aws/request.Request" representing the 2332// client's request for the DescribeCacheClusters operation. The "output" return 2333// value will be populated with the request's response once the request completes 2334// successfully. 2335// 2336// Use "Send" method on the returned Request to send the API call to the service. 2337// the "output" return value is not valid until after Send returns without error. 2338// 2339// See DescribeCacheClusters for more information on using the DescribeCacheClusters 2340// API call, and error handling. 2341// 2342// This method is useful when you want to inject custom logic or configuration 2343// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2344// 2345// 2346// // Example sending a request using the DescribeCacheClustersRequest method. 2347// req, resp := client.DescribeCacheClustersRequest(params) 2348// 2349// err := req.Send() 2350// if err == nil { // resp is now filled 2351// fmt.Println(resp) 2352// } 2353// 2354// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2355func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { 2356 op := &request.Operation{ 2357 Name: opDescribeCacheClusters, 2358 HTTPMethod: "POST", 2359 HTTPPath: "/", 2360 Paginator: &request.Paginator{ 2361 InputTokens: []string{"Marker"}, 2362 OutputTokens: []string{"Marker"}, 2363 LimitToken: "MaxRecords", 2364 TruncationToken: "", 2365 }, 2366 } 2367 2368 if input == nil { 2369 input = &DescribeCacheClustersInput{} 2370 } 2371 2372 output = &DescribeCacheClustersOutput{} 2373 req = c.newRequest(op, input, output) 2374 return 2375} 2376 2377// DescribeCacheClusters API operation for Amazon ElastiCache. 2378// 2379// Returns information about all provisioned clusters if no cluster identifier 2380// is specified, or about a specific cache cluster if a cluster identifier is 2381// supplied. 2382// 2383// By default, abbreviated information about the clusters is returned. You can 2384// use the optional ShowCacheNodeInfo flag to retrieve detailed information 2385// about the cache nodes associated with the clusters. These details include 2386// the DNS address and port for the cache node endpoint. 2387// 2388// If the cluster is in the creating state, only cluster-level information is 2389// displayed until all of the nodes are successfully provisioned. 2390// 2391// If the cluster is in the deleting state, only cluster-level information is 2392// displayed. 2393// 2394// If cache nodes are currently being added to the cluster, node endpoint information 2395// and creation time for the additional nodes are not displayed until they are 2396// completely provisioned. When the cluster state is available, the cluster 2397// is ready for use. 2398// 2399// If cache nodes are currently being removed from the cluster, no endpoint 2400// information for the removed nodes is displayed. 2401// 2402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2403// with awserr.Error's Code and Message methods to get detailed information about 2404// the error. 2405// 2406// See the AWS API reference guide for Amazon ElastiCache's 2407// API operation DescribeCacheClusters for usage and error information. 2408// 2409// Returned Error Codes: 2410// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 2411// The requested cluster ID does not refer to an existing cluster. 2412// 2413// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2414// The value for a parameter is invalid. 2415// 2416// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2417// Two or more incompatible parameters were specified. 2418// 2419// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2420func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { 2421 req, out := c.DescribeCacheClustersRequest(input) 2422 return out, req.Send() 2423} 2424 2425// DescribeCacheClustersWithContext is the same as DescribeCacheClusters with the addition of 2426// the ability to pass a context and additional request options. 2427// 2428// See DescribeCacheClusters for details on how to use this API operation. 2429// 2430// The context must be non-nil and will be used for request cancellation. If 2431// the context is nil a panic will occur. In the future the SDK may create 2432// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2433// for more information on using Contexts. 2434func (c *ElastiCache) DescribeCacheClustersWithContext(ctx aws.Context, input *DescribeCacheClustersInput, opts ...request.Option) (*DescribeCacheClustersOutput, error) { 2435 req, out := c.DescribeCacheClustersRequest(input) 2436 req.SetContext(ctx) 2437 req.ApplyOptions(opts...) 2438 return out, req.Send() 2439} 2440 2441// DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, 2442// calling the "fn" function with the response data for each page. To stop 2443// iterating, return false from the fn function. 2444// 2445// See DescribeCacheClusters method for more information on how to use this operation. 2446// 2447// Note: This operation can generate multiple requests to a service. 2448// 2449// // Example iterating over at most 3 pages of a DescribeCacheClusters operation. 2450// pageNum := 0 2451// err := client.DescribeCacheClustersPages(params, 2452// func(page *elasticache.DescribeCacheClustersOutput, lastPage bool) bool { 2453// pageNum++ 2454// fmt.Println(page) 2455// return pageNum <= 3 2456// }) 2457// 2458func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool) error { 2459 return c.DescribeCacheClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2460} 2461 2462// DescribeCacheClustersPagesWithContext same as DescribeCacheClustersPages except 2463// it takes a Context and allows setting request options on the pages. 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) DescribeCacheClustersPagesWithContext(ctx aws.Context, input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool, opts ...request.Option) error { 2470 p := request.Pagination{ 2471 NewRequest: func() (*request.Request, error) { 2472 var inCpy *DescribeCacheClustersInput 2473 if input != nil { 2474 tmp := *input 2475 inCpy = &tmp 2476 } 2477 req, _ := c.DescribeCacheClustersRequest(inCpy) 2478 req.SetContext(ctx) 2479 req.ApplyOptions(opts...) 2480 return req, nil 2481 }, 2482 } 2483 2484 for p.Next() { 2485 if !fn(p.Page().(*DescribeCacheClustersOutput), !p.HasNextPage()) { 2486 break 2487 } 2488 } 2489 2490 return p.Err() 2491} 2492 2493const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" 2494 2495// DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the 2496// client's request for the DescribeCacheEngineVersions operation. The "output" return 2497// value will be populated with the request's response once the request completes 2498// successfully. 2499// 2500// Use "Send" method on the returned Request to send the API call to the service. 2501// the "output" return value is not valid until after Send returns without error. 2502// 2503// See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions 2504// API call, and error handling. 2505// 2506// This method is useful when you want to inject custom logic or configuration 2507// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2508// 2509// 2510// // Example sending a request using the DescribeCacheEngineVersionsRequest method. 2511// req, resp := client.DescribeCacheEngineVersionsRequest(params) 2512// 2513// err := req.Send() 2514// if err == nil { // resp is now filled 2515// fmt.Println(resp) 2516// } 2517// 2518// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2519func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { 2520 op := &request.Operation{ 2521 Name: opDescribeCacheEngineVersions, 2522 HTTPMethod: "POST", 2523 HTTPPath: "/", 2524 Paginator: &request.Paginator{ 2525 InputTokens: []string{"Marker"}, 2526 OutputTokens: []string{"Marker"}, 2527 LimitToken: "MaxRecords", 2528 TruncationToken: "", 2529 }, 2530 } 2531 2532 if input == nil { 2533 input = &DescribeCacheEngineVersionsInput{} 2534 } 2535 2536 output = &DescribeCacheEngineVersionsOutput{} 2537 req = c.newRequest(op, input, output) 2538 return 2539} 2540 2541// DescribeCacheEngineVersions API operation for Amazon ElastiCache. 2542// 2543// Returns a list of the available cache engines and their versions. 2544// 2545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2546// with awserr.Error's Code and Message methods to get detailed information about 2547// the error. 2548// 2549// See the AWS API reference guide for Amazon ElastiCache's 2550// API operation DescribeCacheEngineVersions for usage and error information. 2551// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2552func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { 2553 req, out := c.DescribeCacheEngineVersionsRequest(input) 2554 return out, req.Send() 2555} 2556 2557// DescribeCacheEngineVersionsWithContext is the same as DescribeCacheEngineVersions with the addition of 2558// the ability to pass a context and additional request options. 2559// 2560// See DescribeCacheEngineVersions for details on how to use this API operation. 2561// 2562// The context must be non-nil and will be used for request cancellation. If 2563// the context is nil a panic will occur. In the future the SDK may create 2564// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2565// for more information on using Contexts. 2566func (c *ElastiCache) DescribeCacheEngineVersionsWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, opts ...request.Option) (*DescribeCacheEngineVersionsOutput, error) { 2567 req, out := c.DescribeCacheEngineVersionsRequest(input) 2568 req.SetContext(ctx) 2569 req.ApplyOptions(opts...) 2570 return out, req.Send() 2571} 2572 2573// DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, 2574// calling the "fn" function with the response data for each page. To stop 2575// iterating, return false from the fn function. 2576// 2577// See DescribeCacheEngineVersions method for more information on how to use this operation. 2578// 2579// Note: This operation can generate multiple requests to a service. 2580// 2581// // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation. 2582// pageNum := 0 2583// err := client.DescribeCacheEngineVersionsPages(params, 2584// func(page *elasticache.DescribeCacheEngineVersionsOutput, lastPage bool) bool { 2585// pageNum++ 2586// fmt.Println(page) 2587// return pageNum <= 3 2588// }) 2589// 2590func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool) error { 2591 return c.DescribeCacheEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 2592} 2593 2594// DescribeCacheEngineVersionsPagesWithContext same as DescribeCacheEngineVersionsPages except 2595// it takes a Context and allows setting request options on the pages. 2596// 2597// The context must be non-nil and will be used for request cancellation. If 2598// the context is nil a panic will occur. In the future the SDK may create 2599// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2600// for more information on using Contexts. 2601func (c *ElastiCache) DescribeCacheEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool, opts ...request.Option) error { 2602 p := request.Pagination{ 2603 NewRequest: func() (*request.Request, error) { 2604 var inCpy *DescribeCacheEngineVersionsInput 2605 if input != nil { 2606 tmp := *input 2607 inCpy = &tmp 2608 } 2609 req, _ := c.DescribeCacheEngineVersionsRequest(inCpy) 2610 req.SetContext(ctx) 2611 req.ApplyOptions(opts...) 2612 return req, nil 2613 }, 2614 } 2615 2616 for p.Next() { 2617 if !fn(p.Page().(*DescribeCacheEngineVersionsOutput), !p.HasNextPage()) { 2618 break 2619 } 2620 } 2621 2622 return p.Err() 2623} 2624 2625const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" 2626 2627// DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the 2628// client's request for the DescribeCacheParameterGroups operation. The "output" return 2629// value will be populated with the request's response once the request completes 2630// successfully. 2631// 2632// Use "Send" method on the returned Request to send the API call to the service. 2633// the "output" return value is not valid until after Send returns without error. 2634// 2635// See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups 2636// API call, and error handling. 2637// 2638// This method is useful when you want to inject custom logic or configuration 2639// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2640// 2641// 2642// // Example sending a request using the DescribeCacheParameterGroupsRequest method. 2643// req, resp := client.DescribeCacheParameterGroupsRequest(params) 2644// 2645// err := req.Send() 2646// if err == nil { // resp is now filled 2647// fmt.Println(resp) 2648// } 2649// 2650// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2651func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { 2652 op := &request.Operation{ 2653 Name: opDescribeCacheParameterGroups, 2654 HTTPMethod: "POST", 2655 HTTPPath: "/", 2656 Paginator: &request.Paginator{ 2657 InputTokens: []string{"Marker"}, 2658 OutputTokens: []string{"Marker"}, 2659 LimitToken: "MaxRecords", 2660 TruncationToken: "", 2661 }, 2662 } 2663 2664 if input == nil { 2665 input = &DescribeCacheParameterGroupsInput{} 2666 } 2667 2668 output = &DescribeCacheParameterGroupsOutput{} 2669 req = c.newRequest(op, input, output) 2670 return 2671} 2672 2673// DescribeCacheParameterGroups API operation for Amazon ElastiCache. 2674// 2675// Returns a list of cache parameter group descriptions. If a cache parameter 2676// group name is specified, the list contains only the descriptions for that 2677// group. 2678// 2679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2680// with awserr.Error's Code and Message methods to get detailed information about 2681// the error. 2682// 2683// See the AWS API reference guide for Amazon ElastiCache's 2684// API operation DescribeCacheParameterGroups for usage and error information. 2685// 2686// Returned Error Codes: 2687// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2688// The requested cache parameter group name does not refer to an existing cache 2689// parameter group. 2690// 2691// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2692// The value for a parameter is invalid. 2693// 2694// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2695// Two or more incompatible parameters were specified. 2696// 2697// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2698func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { 2699 req, out := c.DescribeCacheParameterGroupsRequest(input) 2700 return out, req.Send() 2701} 2702 2703// DescribeCacheParameterGroupsWithContext is the same as DescribeCacheParameterGroups with the addition of 2704// the ability to pass a context and additional request options. 2705// 2706// See DescribeCacheParameterGroups for details on how to use this API operation. 2707// 2708// The context must be non-nil and will be used for request cancellation. If 2709// the context is nil a panic will occur. In the future the SDK may create 2710// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2711// for more information on using Contexts. 2712func (c *ElastiCache) DescribeCacheParameterGroupsWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, opts ...request.Option) (*DescribeCacheParameterGroupsOutput, error) { 2713 req, out := c.DescribeCacheParameterGroupsRequest(input) 2714 req.SetContext(ctx) 2715 req.ApplyOptions(opts...) 2716 return out, req.Send() 2717} 2718 2719// DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, 2720// calling the "fn" function with the response data for each page. To stop 2721// iterating, return false from the fn function. 2722// 2723// See DescribeCacheParameterGroups method for more information on how to use this operation. 2724// 2725// Note: This operation can generate multiple requests to a service. 2726// 2727// // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation. 2728// pageNum := 0 2729// err := client.DescribeCacheParameterGroupsPages(params, 2730// func(page *elasticache.DescribeCacheParameterGroupsOutput, lastPage bool) bool { 2731// pageNum++ 2732// fmt.Println(page) 2733// return pageNum <= 3 2734// }) 2735// 2736func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool) error { 2737 return c.DescribeCacheParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2738} 2739 2740// DescribeCacheParameterGroupsPagesWithContext same as DescribeCacheParameterGroupsPages except 2741// it takes a Context and allows setting request options on the pages. 2742// 2743// The context must be non-nil and will be used for request cancellation. If 2744// the context is nil a panic will occur. In the future the SDK may create 2745// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2746// for more information on using Contexts. 2747func (c *ElastiCache) DescribeCacheParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool, opts ...request.Option) error { 2748 p := request.Pagination{ 2749 NewRequest: func() (*request.Request, error) { 2750 var inCpy *DescribeCacheParameterGroupsInput 2751 if input != nil { 2752 tmp := *input 2753 inCpy = &tmp 2754 } 2755 req, _ := c.DescribeCacheParameterGroupsRequest(inCpy) 2756 req.SetContext(ctx) 2757 req.ApplyOptions(opts...) 2758 return req, nil 2759 }, 2760 } 2761 2762 for p.Next() { 2763 if !fn(p.Page().(*DescribeCacheParameterGroupsOutput), !p.HasNextPage()) { 2764 break 2765 } 2766 } 2767 2768 return p.Err() 2769} 2770 2771const opDescribeCacheParameters = "DescribeCacheParameters" 2772 2773// DescribeCacheParametersRequest generates a "aws/request.Request" representing the 2774// client's request for the DescribeCacheParameters operation. The "output" return 2775// value will be populated with the request's response once the request completes 2776// successfully. 2777// 2778// Use "Send" method on the returned Request to send the API call to the service. 2779// the "output" return value is not valid until after Send returns without error. 2780// 2781// See DescribeCacheParameters for more information on using the DescribeCacheParameters 2782// API call, and error handling. 2783// 2784// This method is useful when you want to inject custom logic or configuration 2785// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2786// 2787// 2788// // Example sending a request using the DescribeCacheParametersRequest method. 2789// req, resp := client.DescribeCacheParametersRequest(params) 2790// 2791// err := req.Send() 2792// if err == nil { // resp is now filled 2793// fmt.Println(resp) 2794// } 2795// 2796// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2797func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { 2798 op := &request.Operation{ 2799 Name: opDescribeCacheParameters, 2800 HTTPMethod: "POST", 2801 HTTPPath: "/", 2802 Paginator: &request.Paginator{ 2803 InputTokens: []string{"Marker"}, 2804 OutputTokens: []string{"Marker"}, 2805 LimitToken: "MaxRecords", 2806 TruncationToken: "", 2807 }, 2808 } 2809 2810 if input == nil { 2811 input = &DescribeCacheParametersInput{} 2812 } 2813 2814 output = &DescribeCacheParametersOutput{} 2815 req = c.newRequest(op, input, output) 2816 return 2817} 2818 2819// DescribeCacheParameters API operation for Amazon ElastiCache. 2820// 2821// Returns the detailed parameter list for a particular cache parameter group. 2822// 2823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2824// with awserr.Error's Code and Message methods to get detailed information about 2825// the error. 2826// 2827// See the AWS API reference guide for Amazon ElastiCache's 2828// API operation DescribeCacheParameters for usage and error information. 2829// 2830// Returned Error Codes: 2831// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2832// The requested cache parameter group name does not refer to an existing cache 2833// parameter group. 2834// 2835// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2836// The value for a parameter is invalid. 2837// 2838// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2839// Two or more incompatible parameters were specified. 2840// 2841// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2842func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { 2843 req, out := c.DescribeCacheParametersRequest(input) 2844 return out, req.Send() 2845} 2846 2847// DescribeCacheParametersWithContext is the same as DescribeCacheParameters with the addition of 2848// the ability to pass a context and additional request options. 2849// 2850// See DescribeCacheParameters for details on how to use this API operation. 2851// 2852// The context must be non-nil and will be used for request cancellation. If 2853// the context is nil a panic will occur. In the future the SDK may create 2854// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2855// for more information on using Contexts. 2856func (c *ElastiCache) DescribeCacheParametersWithContext(ctx aws.Context, input *DescribeCacheParametersInput, opts ...request.Option) (*DescribeCacheParametersOutput, error) { 2857 req, out := c.DescribeCacheParametersRequest(input) 2858 req.SetContext(ctx) 2859 req.ApplyOptions(opts...) 2860 return out, req.Send() 2861} 2862 2863// DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, 2864// calling the "fn" function with the response data for each page. To stop 2865// iterating, return false from the fn function. 2866// 2867// See DescribeCacheParameters method for more information on how to use this operation. 2868// 2869// Note: This operation can generate multiple requests to a service. 2870// 2871// // Example iterating over at most 3 pages of a DescribeCacheParameters operation. 2872// pageNum := 0 2873// err := client.DescribeCacheParametersPages(params, 2874// func(page *elasticache.DescribeCacheParametersOutput, lastPage bool) bool { 2875// pageNum++ 2876// fmt.Println(page) 2877// return pageNum <= 3 2878// }) 2879// 2880func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool) error { 2881 return c.DescribeCacheParametersPagesWithContext(aws.BackgroundContext(), input, fn) 2882} 2883 2884// DescribeCacheParametersPagesWithContext same as DescribeCacheParametersPages except 2885// it takes a Context and allows setting request options on the pages. 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) DescribeCacheParametersPagesWithContext(ctx aws.Context, input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool, opts ...request.Option) error { 2892 p := request.Pagination{ 2893 NewRequest: func() (*request.Request, error) { 2894 var inCpy *DescribeCacheParametersInput 2895 if input != nil { 2896 tmp := *input 2897 inCpy = &tmp 2898 } 2899 req, _ := c.DescribeCacheParametersRequest(inCpy) 2900 req.SetContext(ctx) 2901 req.ApplyOptions(opts...) 2902 return req, nil 2903 }, 2904 } 2905 2906 for p.Next() { 2907 if !fn(p.Page().(*DescribeCacheParametersOutput), !p.HasNextPage()) { 2908 break 2909 } 2910 } 2911 2912 return p.Err() 2913} 2914 2915const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" 2916 2917// DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the 2918// client's request for the DescribeCacheSecurityGroups operation. The "output" return 2919// value will be populated with the request's response once the request completes 2920// successfully. 2921// 2922// Use "Send" method on the returned Request to send the API call to the service. 2923// the "output" return value is not valid until after Send returns without error. 2924// 2925// See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups 2926// API call, and error handling. 2927// 2928// This method is useful when you want to inject custom logic or configuration 2929// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2930// 2931// 2932// // Example sending a request using the DescribeCacheSecurityGroupsRequest method. 2933// req, resp := client.DescribeCacheSecurityGroupsRequest(params) 2934// 2935// err := req.Send() 2936// if err == nil { // resp is now filled 2937// fmt.Println(resp) 2938// } 2939// 2940// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2941func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { 2942 op := &request.Operation{ 2943 Name: opDescribeCacheSecurityGroups, 2944 HTTPMethod: "POST", 2945 HTTPPath: "/", 2946 Paginator: &request.Paginator{ 2947 InputTokens: []string{"Marker"}, 2948 OutputTokens: []string{"Marker"}, 2949 LimitToken: "MaxRecords", 2950 TruncationToken: "", 2951 }, 2952 } 2953 2954 if input == nil { 2955 input = &DescribeCacheSecurityGroupsInput{} 2956 } 2957 2958 output = &DescribeCacheSecurityGroupsOutput{} 2959 req = c.newRequest(op, input, output) 2960 return 2961} 2962 2963// DescribeCacheSecurityGroups API operation for Amazon ElastiCache. 2964// 2965// Returns a list of cache security group descriptions. If a cache security 2966// group name is specified, the list contains only the description of that group. 2967// This applicable only when you have ElastiCache in Classic setup 2968// 2969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2970// with awserr.Error's Code and Message methods to get detailed information about 2971// the error. 2972// 2973// See the AWS API reference guide for Amazon ElastiCache's 2974// API operation DescribeCacheSecurityGroups for usage and error information. 2975// 2976// Returned Error Codes: 2977// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 2978// The requested cache security group name does not refer to an existing cache 2979// security group. 2980// 2981// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2982// The value for a parameter is invalid. 2983// 2984// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2985// Two or more incompatible parameters were specified. 2986// 2987// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2988func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { 2989 req, out := c.DescribeCacheSecurityGroupsRequest(input) 2990 return out, req.Send() 2991} 2992 2993// DescribeCacheSecurityGroupsWithContext is the same as DescribeCacheSecurityGroups with the addition of 2994// the ability to pass a context and additional request options. 2995// 2996// See DescribeCacheSecurityGroups for details on how to use this API operation. 2997// 2998// The context must be non-nil and will be used for request cancellation. If 2999// the context is nil a panic will occur. In the future the SDK may create 3000// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3001// for more information on using Contexts. 3002func (c *ElastiCache) DescribeCacheSecurityGroupsWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, opts ...request.Option) (*DescribeCacheSecurityGroupsOutput, error) { 3003 req, out := c.DescribeCacheSecurityGroupsRequest(input) 3004 req.SetContext(ctx) 3005 req.ApplyOptions(opts...) 3006 return out, req.Send() 3007} 3008 3009// DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, 3010// calling the "fn" function with the response data for each page. To stop 3011// iterating, return false from the fn function. 3012// 3013// See DescribeCacheSecurityGroups method for more information on how to use this operation. 3014// 3015// Note: This operation can generate multiple requests to a service. 3016// 3017// // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation. 3018// pageNum := 0 3019// err := client.DescribeCacheSecurityGroupsPages(params, 3020// func(page *elasticache.DescribeCacheSecurityGroupsOutput, lastPage bool) bool { 3021// pageNum++ 3022// fmt.Println(page) 3023// return pageNum <= 3 3024// }) 3025// 3026func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool) error { 3027 return c.DescribeCacheSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3028} 3029 3030// DescribeCacheSecurityGroupsPagesWithContext same as DescribeCacheSecurityGroupsPages except 3031// it takes a Context and allows setting request options on the pages. 3032// 3033// The context must be non-nil and will be used for request cancellation. If 3034// the context is nil a panic will occur. In the future the SDK may create 3035// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3036// for more information on using Contexts. 3037func (c *ElastiCache) DescribeCacheSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 3038 p := request.Pagination{ 3039 NewRequest: func() (*request.Request, error) { 3040 var inCpy *DescribeCacheSecurityGroupsInput 3041 if input != nil { 3042 tmp := *input 3043 inCpy = &tmp 3044 } 3045 req, _ := c.DescribeCacheSecurityGroupsRequest(inCpy) 3046 req.SetContext(ctx) 3047 req.ApplyOptions(opts...) 3048 return req, nil 3049 }, 3050 } 3051 3052 for p.Next() { 3053 if !fn(p.Page().(*DescribeCacheSecurityGroupsOutput), !p.HasNextPage()) { 3054 break 3055 } 3056 } 3057 3058 return p.Err() 3059} 3060 3061const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" 3062 3063// DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the 3064// client's request for the DescribeCacheSubnetGroups operation. The "output" return 3065// value will be populated with the request's response once the request completes 3066// successfully. 3067// 3068// Use "Send" method on the returned Request to send the API call to the service. 3069// the "output" return value is not valid until after Send returns without error. 3070// 3071// See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups 3072// API call, and error handling. 3073// 3074// This method is useful when you want to inject custom logic or configuration 3075// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3076// 3077// 3078// // Example sending a request using the DescribeCacheSubnetGroupsRequest method. 3079// req, resp := client.DescribeCacheSubnetGroupsRequest(params) 3080// 3081// err := req.Send() 3082// if err == nil { // resp is now filled 3083// fmt.Println(resp) 3084// } 3085// 3086// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3087func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { 3088 op := &request.Operation{ 3089 Name: opDescribeCacheSubnetGroups, 3090 HTTPMethod: "POST", 3091 HTTPPath: "/", 3092 Paginator: &request.Paginator{ 3093 InputTokens: []string{"Marker"}, 3094 OutputTokens: []string{"Marker"}, 3095 LimitToken: "MaxRecords", 3096 TruncationToken: "", 3097 }, 3098 } 3099 3100 if input == nil { 3101 input = &DescribeCacheSubnetGroupsInput{} 3102 } 3103 3104 output = &DescribeCacheSubnetGroupsOutput{} 3105 req = c.newRequest(op, input, output) 3106 return 3107} 3108 3109// DescribeCacheSubnetGroups API operation for Amazon ElastiCache. 3110// 3111// Returns a list of cache subnet group descriptions. If a subnet group name 3112// is specified, the list contains only the description of that group. This 3113// is applicable only when you have ElastiCache in VPC setup. All ElastiCache 3114// clusters now launch in VPC by default. 3115// 3116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3117// with awserr.Error's Code and Message methods to get detailed information about 3118// the error. 3119// 3120// See the AWS API reference guide for Amazon ElastiCache's 3121// API operation DescribeCacheSubnetGroups for usage and error information. 3122// 3123// Returned Error Codes: 3124// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 3125// The requested cache subnet group name does not refer to an existing cache 3126// subnet group. 3127// 3128// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3129func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { 3130 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3131 return out, req.Send() 3132} 3133 3134// DescribeCacheSubnetGroupsWithContext is the same as DescribeCacheSubnetGroups with the addition of 3135// the ability to pass a context and additional request options. 3136// 3137// See DescribeCacheSubnetGroups for details on how to use this API operation. 3138// 3139// The context must be non-nil and will be used for request cancellation. If 3140// the context is nil a panic will occur. In the future the SDK may create 3141// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3142// for more information on using Contexts. 3143func (c *ElastiCache) DescribeCacheSubnetGroupsWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, opts ...request.Option) (*DescribeCacheSubnetGroupsOutput, error) { 3144 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3145 req.SetContext(ctx) 3146 req.ApplyOptions(opts...) 3147 return out, req.Send() 3148} 3149 3150// DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, 3151// calling the "fn" function with the response data for each page. To stop 3152// iterating, return false from the fn function. 3153// 3154// See DescribeCacheSubnetGroups method for more information on how to use this operation. 3155// 3156// Note: This operation can generate multiple requests to a service. 3157// 3158// // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation. 3159// pageNum := 0 3160// err := client.DescribeCacheSubnetGroupsPages(params, 3161// func(page *elasticache.DescribeCacheSubnetGroupsOutput, lastPage bool) bool { 3162// pageNum++ 3163// fmt.Println(page) 3164// return pageNum <= 3 3165// }) 3166// 3167func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool) error { 3168 return c.DescribeCacheSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3169} 3170 3171// DescribeCacheSubnetGroupsPagesWithContext same as DescribeCacheSubnetGroupsPages except 3172// it takes a Context and allows setting request options on the pages. 3173// 3174// The context must be non-nil and will be used for request cancellation. If 3175// the context is nil a panic will occur. In the future the SDK may create 3176// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3177// for more information on using Contexts. 3178func (c *ElastiCache) DescribeCacheSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 3179 p := request.Pagination{ 3180 NewRequest: func() (*request.Request, error) { 3181 var inCpy *DescribeCacheSubnetGroupsInput 3182 if input != nil { 3183 tmp := *input 3184 inCpy = &tmp 3185 } 3186 req, _ := c.DescribeCacheSubnetGroupsRequest(inCpy) 3187 req.SetContext(ctx) 3188 req.ApplyOptions(opts...) 3189 return req, nil 3190 }, 3191 } 3192 3193 for p.Next() { 3194 if !fn(p.Page().(*DescribeCacheSubnetGroupsOutput), !p.HasNextPage()) { 3195 break 3196 } 3197 } 3198 3199 return p.Err() 3200} 3201 3202const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" 3203 3204// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the 3205// client's request for the DescribeEngineDefaultParameters operation. The "output" return 3206// value will be populated with the request's response once the request completes 3207// successfully. 3208// 3209// Use "Send" method on the returned Request to send the API call to the service. 3210// the "output" return value is not valid until after Send returns without error. 3211// 3212// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters 3213// API call, and error handling. 3214// 3215// This method is useful when you want to inject custom logic or configuration 3216// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3217// 3218// 3219// // Example sending a request using the DescribeEngineDefaultParametersRequest method. 3220// req, resp := client.DescribeEngineDefaultParametersRequest(params) 3221// 3222// err := req.Send() 3223// if err == nil { // resp is now filled 3224// fmt.Println(resp) 3225// } 3226// 3227// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3228func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { 3229 op := &request.Operation{ 3230 Name: opDescribeEngineDefaultParameters, 3231 HTTPMethod: "POST", 3232 HTTPPath: "/", 3233 Paginator: &request.Paginator{ 3234 InputTokens: []string{"Marker"}, 3235 OutputTokens: []string{"EngineDefaults.Marker"}, 3236 LimitToken: "MaxRecords", 3237 TruncationToken: "", 3238 }, 3239 } 3240 3241 if input == nil { 3242 input = &DescribeEngineDefaultParametersInput{} 3243 } 3244 3245 output = &DescribeEngineDefaultParametersOutput{} 3246 req = c.newRequest(op, input, output) 3247 return 3248} 3249 3250// DescribeEngineDefaultParameters API operation for Amazon ElastiCache. 3251// 3252// Returns the default engine and system parameter information for the specified 3253// cache engine. 3254// 3255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3256// with awserr.Error's Code and Message methods to get detailed information about 3257// the error. 3258// 3259// See the AWS API reference guide for Amazon ElastiCache's 3260// API operation DescribeEngineDefaultParameters for usage and error information. 3261// 3262// Returned Error Codes: 3263// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3264// The value for a parameter is invalid. 3265// 3266// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3267// Two or more incompatible parameters were specified. 3268// 3269// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3270func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { 3271 req, out := c.DescribeEngineDefaultParametersRequest(input) 3272 return out, req.Send() 3273} 3274 3275// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of 3276// the ability to pass a context and additional request options. 3277// 3278// See DescribeEngineDefaultParameters for details on how to use this API operation. 3279// 3280// The context must be non-nil and will be used for request cancellation. If 3281// the context is nil a panic will occur. In the future the SDK may create 3282// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3283// for more information on using Contexts. 3284func (c *ElastiCache) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) { 3285 req, out := c.DescribeEngineDefaultParametersRequest(input) 3286 req.SetContext(ctx) 3287 req.ApplyOptions(opts...) 3288 return out, req.Send() 3289} 3290 3291// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, 3292// calling the "fn" function with the response data for each page. To stop 3293// iterating, return false from the fn function. 3294// 3295// See DescribeEngineDefaultParameters method for more information on how to use this operation. 3296// 3297// Note: This operation can generate multiple requests to a service. 3298// 3299// // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation. 3300// pageNum := 0 3301// err := client.DescribeEngineDefaultParametersPages(params, 3302// func(page *elasticache.DescribeEngineDefaultParametersOutput, lastPage bool) bool { 3303// pageNum++ 3304// fmt.Println(page) 3305// return pageNum <= 3 3306// }) 3307// 3308func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error { 3309 return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3310} 3311 3312// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except 3313// it takes a Context and allows setting request options on the pages. 3314// 3315// The context must be non-nil and will be used for request cancellation. If 3316// the context is nil a panic will occur. In the future the SDK may create 3317// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3318// for more information on using Contexts. 3319func (c *ElastiCache) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error { 3320 p := request.Pagination{ 3321 NewRequest: func() (*request.Request, error) { 3322 var inCpy *DescribeEngineDefaultParametersInput 3323 if input != nil { 3324 tmp := *input 3325 inCpy = &tmp 3326 } 3327 req, _ := c.DescribeEngineDefaultParametersRequest(inCpy) 3328 req.SetContext(ctx) 3329 req.ApplyOptions(opts...) 3330 return req, nil 3331 }, 3332 } 3333 3334 for p.Next() { 3335 if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) { 3336 break 3337 } 3338 } 3339 3340 return p.Err() 3341} 3342 3343const opDescribeEvents = "DescribeEvents" 3344 3345// DescribeEventsRequest generates a "aws/request.Request" representing the 3346// client's request for the DescribeEvents operation. The "output" return 3347// value will be populated with the request's response once the request completes 3348// successfully. 3349// 3350// Use "Send" method on the returned Request to send the API call to the service. 3351// the "output" return value is not valid until after Send returns without error. 3352// 3353// See DescribeEvents for more information on using the DescribeEvents 3354// API call, and error handling. 3355// 3356// This method is useful when you want to inject custom logic or configuration 3357// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3358// 3359// 3360// // Example sending a request using the DescribeEventsRequest method. 3361// req, resp := client.DescribeEventsRequest(params) 3362// 3363// err := req.Send() 3364// if err == nil { // resp is now filled 3365// fmt.Println(resp) 3366// } 3367// 3368// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3369func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 3370 op := &request.Operation{ 3371 Name: opDescribeEvents, 3372 HTTPMethod: "POST", 3373 HTTPPath: "/", 3374 Paginator: &request.Paginator{ 3375 InputTokens: []string{"Marker"}, 3376 OutputTokens: []string{"Marker"}, 3377 LimitToken: "MaxRecords", 3378 TruncationToken: "", 3379 }, 3380 } 3381 3382 if input == nil { 3383 input = &DescribeEventsInput{} 3384 } 3385 3386 output = &DescribeEventsOutput{} 3387 req = c.newRequest(op, input, output) 3388 return 3389} 3390 3391// DescribeEvents API operation for Amazon ElastiCache. 3392// 3393// Returns events related to clusters, cache security groups, and cache parameter 3394// groups. You can obtain events specific to a particular cluster, cache security 3395// group, or cache parameter group by providing the name as a parameter. 3396// 3397// By default, only the events occurring within the last hour are returned; 3398// however, you can retrieve up to 14 days' worth of events if necessary. 3399// 3400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3401// with awserr.Error's Code and Message methods to get detailed information about 3402// the error. 3403// 3404// See the AWS API reference guide for Amazon ElastiCache's 3405// API operation DescribeEvents for usage and error information. 3406// 3407// Returned Error Codes: 3408// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3409// The value for a parameter is invalid. 3410// 3411// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3412// Two or more incompatible parameters were specified. 3413// 3414// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3415func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 3416 req, out := c.DescribeEventsRequest(input) 3417 return out, req.Send() 3418} 3419 3420// DescribeEventsWithContext is the same as DescribeEvents with the addition of 3421// the ability to pass a context and additional request options. 3422// 3423// See DescribeEvents for details on how to use this API operation. 3424// 3425// The context must be non-nil and will be used for request cancellation. If 3426// the context is nil a panic will occur. In the future the SDK may create 3427// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3428// for more information on using Contexts. 3429func (c *ElastiCache) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 3430 req, out := c.DescribeEventsRequest(input) 3431 req.SetContext(ctx) 3432 req.ApplyOptions(opts...) 3433 return out, req.Send() 3434} 3435 3436// DescribeEventsPages iterates over the pages of a DescribeEvents operation, 3437// calling the "fn" function with the response data for each page. To stop 3438// iterating, return false from the fn function. 3439// 3440// See DescribeEvents method for more information on how to use this operation. 3441// 3442// Note: This operation can generate multiple requests to a service. 3443// 3444// // Example iterating over at most 3 pages of a DescribeEvents operation. 3445// pageNum := 0 3446// err := client.DescribeEventsPages(params, 3447// func(page *elasticache.DescribeEventsOutput, lastPage bool) bool { 3448// pageNum++ 3449// fmt.Println(page) 3450// return pageNum <= 3 3451// }) 3452// 3453func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 3454 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 3455} 3456 3457// DescribeEventsPagesWithContext same as DescribeEventsPages except 3458// it takes a Context and allows setting request options on the pages. 3459// 3460// The context must be non-nil and will be used for request cancellation. If 3461// the context is nil a panic will occur. In the future the SDK may create 3462// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3463// for more information on using Contexts. 3464func (c *ElastiCache) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 3465 p := request.Pagination{ 3466 NewRequest: func() (*request.Request, error) { 3467 var inCpy *DescribeEventsInput 3468 if input != nil { 3469 tmp := *input 3470 inCpy = &tmp 3471 } 3472 req, _ := c.DescribeEventsRequest(inCpy) 3473 req.SetContext(ctx) 3474 req.ApplyOptions(opts...) 3475 return req, nil 3476 }, 3477 } 3478 3479 for p.Next() { 3480 if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { 3481 break 3482 } 3483 } 3484 3485 return p.Err() 3486} 3487 3488const opDescribeGlobalReplicationGroups = "DescribeGlobalReplicationGroups" 3489 3490// DescribeGlobalReplicationGroupsRequest generates a "aws/request.Request" representing the 3491// client's request for the DescribeGlobalReplicationGroups operation. The "output" return 3492// value will be populated with the request's response once the request completes 3493// successfully. 3494// 3495// Use "Send" method on the returned Request to send the API call to the service. 3496// the "output" return value is not valid until after Send returns without error. 3497// 3498// See DescribeGlobalReplicationGroups for more information on using the DescribeGlobalReplicationGroups 3499// API call, and error handling. 3500// 3501// This method is useful when you want to inject custom logic or configuration 3502// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3503// 3504// 3505// // Example sending a request using the DescribeGlobalReplicationGroupsRequest method. 3506// req, resp := client.DescribeGlobalReplicationGroupsRequest(params) 3507// 3508// err := req.Send() 3509// if err == nil { // resp is now filled 3510// fmt.Println(resp) 3511// } 3512// 3513// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 3514func (c *ElastiCache) DescribeGlobalReplicationGroupsRequest(input *DescribeGlobalReplicationGroupsInput) (req *request.Request, output *DescribeGlobalReplicationGroupsOutput) { 3515 op := &request.Operation{ 3516 Name: opDescribeGlobalReplicationGroups, 3517 HTTPMethod: "POST", 3518 HTTPPath: "/", 3519 Paginator: &request.Paginator{ 3520 InputTokens: []string{"Marker"}, 3521 OutputTokens: []string{"Marker"}, 3522 LimitToken: "MaxRecords", 3523 TruncationToken: "", 3524 }, 3525 } 3526 3527 if input == nil { 3528 input = &DescribeGlobalReplicationGroupsInput{} 3529 } 3530 3531 output = &DescribeGlobalReplicationGroupsOutput{} 3532 req = c.newRequest(op, input, output) 3533 return 3534} 3535 3536// DescribeGlobalReplicationGroups API operation for Amazon ElastiCache. 3537// 3538// Returns information about a particular global replication group. If no identifier 3539// is specified, returns information about all Global Datastores. 3540// 3541// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3542// with awserr.Error's Code and Message methods to get detailed information about 3543// the error. 3544// 3545// See the AWS API reference guide for Amazon ElastiCache's 3546// API operation DescribeGlobalReplicationGroups for usage and error information. 3547// 3548// Returned Error Codes: 3549// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 3550// The Global Datastore does not exist 3551// 3552// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3553// The value for a parameter is invalid. 3554// 3555// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3556// Two or more incompatible parameters were specified. 3557// 3558// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 3559func (c *ElastiCache) DescribeGlobalReplicationGroups(input *DescribeGlobalReplicationGroupsInput) (*DescribeGlobalReplicationGroupsOutput, error) { 3560 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 3561 return out, req.Send() 3562} 3563 3564// DescribeGlobalReplicationGroupsWithContext is the same as DescribeGlobalReplicationGroups with the addition of 3565// the ability to pass a context and additional request options. 3566// 3567// See DescribeGlobalReplicationGroups for details on how to use this API operation. 3568// 3569// The context must be non-nil and will be used for request cancellation. If 3570// the context is nil a panic will occur. In the future the SDK may create 3571// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3572// for more information on using Contexts. 3573func (c *ElastiCache) DescribeGlobalReplicationGroupsWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, opts ...request.Option) (*DescribeGlobalReplicationGroupsOutput, error) { 3574 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 3575 req.SetContext(ctx) 3576 req.ApplyOptions(opts...) 3577 return out, req.Send() 3578} 3579 3580// DescribeGlobalReplicationGroupsPages iterates over the pages of a DescribeGlobalReplicationGroups operation, 3581// calling the "fn" function with the response data for each page. To stop 3582// iterating, return false from the fn function. 3583// 3584// See DescribeGlobalReplicationGroups method for more information on how to use this operation. 3585// 3586// Note: This operation can generate multiple requests to a service. 3587// 3588// // Example iterating over at most 3 pages of a DescribeGlobalReplicationGroups operation. 3589// pageNum := 0 3590// err := client.DescribeGlobalReplicationGroupsPages(params, 3591// func(page *elasticache.DescribeGlobalReplicationGroupsOutput, lastPage bool) bool { 3592// pageNum++ 3593// fmt.Println(page) 3594// return pageNum <= 3 3595// }) 3596// 3597func (c *ElastiCache) DescribeGlobalReplicationGroupsPages(input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool) error { 3598 return c.DescribeGlobalReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3599} 3600 3601// DescribeGlobalReplicationGroupsPagesWithContext same as DescribeGlobalReplicationGroupsPages except 3602// it takes a Context and allows setting request options on the pages. 3603// 3604// The context must be non-nil and will be used for request cancellation. If 3605// the context is nil a panic will occur. In the future the SDK may create 3606// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3607// for more information on using Contexts. 3608func (c *ElastiCache) DescribeGlobalReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 3609 p := request.Pagination{ 3610 NewRequest: func() (*request.Request, error) { 3611 var inCpy *DescribeGlobalReplicationGroupsInput 3612 if input != nil { 3613 tmp := *input 3614 inCpy = &tmp 3615 } 3616 req, _ := c.DescribeGlobalReplicationGroupsRequest(inCpy) 3617 req.SetContext(ctx) 3618 req.ApplyOptions(opts...) 3619 return req, nil 3620 }, 3621 } 3622 3623 for p.Next() { 3624 if !fn(p.Page().(*DescribeGlobalReplicationGroupsOutput), !p.HasNextPage()) { 3625 break 3626 } 3627 } 3628 3629 return p.Err() 3630} 3631 3632const opDescribeReplicationGroups = "DescribeReplicationGroups" 3633 3634// DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the 3635// client's request for the DescribeReplicationGroups operation. The "output" return 3636// value will be populated with the request's response once the request completes 3637// successfully. 3638// 3639// Use "Send" method on the returned Request to send the API call to the service. 3640// the "output" return value is not valid until after Send returns without error. 3641// 3642// See DescribeReplicationGroups for more information on using the DescribeReplicationGroups 3643// API call, and error handling. 3644// 3645// This method is useful when you want to inject custom logic or configuration 3646// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3647// 3648// 3649// // Example sending a request using the DescribeReplicationGroupsRequest method. 3650// req, resp := client.DescribeReplicationGroupsRequest(params) 3651// 3652// err := req.Send() 3653// if err == nil { // resp is now filled 3654// fmt.Println(resp) 3655// } 3656// 3657// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3658func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { 3659 op := &request.Operation{ 3660 Name: opDescribeReplicationGroups, 3661 HTTPMethod: "POST", 3662 HTTPPath: "/", 3663 Paginator: &request.Paginator{ 3664 InputTokens: []string{"Marker"}, 3665 OutputTokens: []string{"Marker"}, 3666 LimitToken: "MaxRecords", 3667 TruncationToken: "", 3668 }, 3669 } 3670 3671 if input == nil { 3672 input = &DescribeReplicationGroupsInput{} 3673 } 3674 3675 output = &DescribeReplicationGroupsOutput{} 3676 req = c.newRequest(op, input, output) 3677 return 3678} 3679 3680// DescribeReplicationGroups API operation for Amazon ElastiCache. 3681// 3682// Returns information about a particular replication group. If no identifier 3683// is specified, DescribeReplicationGroups returns information about all replication 3684// groups. 3685// 3686// This operation is valid for Redis only. 3687// 3688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3689// with awserr.Error's Code and Message methods to get detailed information about 3690// the error. 3691// 3692// See the AWS API reference guide for Amazon ElastiCache's 3693// API operation DescribeReplicationGroups for usage and error information. 3694// 3695// Returned Error Codes: 3696// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 3697// The specified replication group does not exist. 3698// 3699// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3700// The value for a parameter is invalid. 3701// 3702// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3703// Two or more incompatible parameters were specified. 3704// 3705// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3706func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { 3707 req, out := c.DescribeReplicationGroupsRequest(input) 3708 return out, req.Send() 3709} 3710 3711// DescribeReplicationGroupsWithContext is the same as DescribeReplicationGroups with the addition of 3712// the ability to pass a context and additional request options. 3713// 3714// See DescribeReplicationGroups for details on how to use this API operation. 3715// 3716// The context must be non-nil and will be used for request cancellation. If 3717// the context is nil a panic will occur. In the future the SDK may create 3718// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3719// for more information on using Contexts. 3720func (c *ElastiCache) DescribeReplicationGroupsWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, opts ...request.Option) (*DescribeReplicationGroupsOutput, error) { 3721 req, out := c.DescribeReplicationGroupsRequest(input) 3722 req.SetContext(ctx) 3723 req.ApplyOptions(opts...) 3724 return out, req.Send() 3725} 3726 3727// DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, 3728// calling the "fn" function with the response data for each page. To stop 3729// iterating, return false from the fn function. 3730// 3731// See DescribeReplicationGroups method for more information on how to use this operation. 3732// 3733// Note: This operation can generate multiple requests to a service. 3734// 3735// // Example iterating over at most 3 pages of a DescribeReplicationGroups operation. 3736// pageNum := 0 3737// err := client.DescribeReplicationGroupsPages(params, 3738// func(page *elasticache.DescribeReplicationGroupsOutput, lastPage bool) bool { 3739// pageNum++ 3740// fmt.Println(page) 3741// return pageNum <= 3 3742// }) 3743// 3744func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool) error { 3745 return c.DescribeReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3746} 3747 3748// DescribeReplicationGroupsPagesWithContext same as DescribeReplicationGroupsPages except 3749// it takes a Context and allows setting request options on the pages. 3750// 3751// The context must be non-nil and will be used for request cancellation. If 3752// the context is nil a panic will occur. In the future the SDK may create 3753// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3754// for more information on using Contexts. 3755func (c *ElastiCache) DescribeReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 3756 p := request.Pagination{ 3757 NewRequest: func() (*request.Request, error) { 3758 var inCpy *DescribeReplicationGroupsInput 3759 if input != nil { 3760 tmp := *input 3761 inCpy = &tmp 3762 } 3763 req, _ := c.DescribeReplicationGroupsRequest(inCpy) 3764 req.SetContext(ctx) 3765 req.ApplyOptions(opts...) 3766 return req, nil 3767 }, 3768 } 3769 3770 for p.Next() { 3771 if !fn(p.Page().(*DescribeReplicationGroupsOutput), !p.HasNextPage()) { 3772 break 3773 } 3774 } 3775 3776 return p.Err() 3777} 3778 3779const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" 3780 3781// DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the 3782// client's request for the DescribeReservedCacheNodes operation. The "output" return 3783// value will be populated with the request's response once the request completes 3784// successfully. 3785// 3786// Use "Send" method on the returned Request to send the API call to the service. 3787// the "output" return value is not valid until after Send returns without error. 3788// 3789// See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes 3790// API call, and error handling. 3791// 3792// This method is useful when you want to inject custom logic or configuration 3793// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3794// 3795// 3796// // Example sending a request using the DescribeReservedCacheNodesRequest method. 3797// req, resp := client.DescribeReservedCacheNodesRequest(params) 3798// 3799// err := req.Send() 3800// if err == nil { // resp is now filled 3801// fmt.Println(resp) 3802// } 3803// 3804// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3805func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { 3806 op := &request.Operation{ 3807 Name: opDescribeReservedCacheNodes, 3808 HTTPMethod: "POST", 3809 HTTPPath: "/", 3810 Paginator: &request.Paginator{ 3811 InputTokens: []string{"Marker"}, 3812 OutputTokens: []string{"Marker"}, 3813 LimitToken: "MaxRecords", 3814 TruncationToken: "", 3815 }, 3816 } 3817 3818 if input == nil { 3819 input = &DescribeReservedCacheNodesInput{} 3820 } 3821 3822 output = &DescribeReservedCacheNodesOutput{} 3823 req = c.newRequest(op, input, output) 3824 return 3825} 3826 3827// DescribeReservedCacheNodes API operation for Amazon ElastiCache. 3828// 3829// Returns information about reserved cache nodes for this account, or about 3830// a specified reserved cache node. 3831// 3832// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3833// with awserr.Error's Code and Message methods to get detailed information about 3834// the error. 3835// 3836// See the AWS API reference guide for Amazon ElastiCache's 3837// API operation DescribeReservedCacheNodes for usage and error information. 3838// 3839// Returned Error Codes: 3840// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 3841// The requested reserved cache node was not found. 3842// 3843// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3844// The value for a parameter is invalid. 3845// 3846// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3847// Two or more incompatible parameters were specified. 3848// 3849// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3850func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { 3851 req, out := c.DescribeReservedCacheNodesRequest(input) 3852 return out, req.Send() 3853} 3854 3855// DescribeReservedCacheNodesWithContext is the same as DescribeReservedCacheNodes with the addition of 3856// the ability to pass a context and additional request options. 3857// 3858// See DescribeReservedCacheNodes for details on how to use this API operation. 3859// 3860// The context must be non-nil and will be used for request cancellation. If 3861// the context is nil a panic will occur. In the future the SDK may create 3862// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3863// for more information on using Contexts. 3864func (c *ElastiCache) DescribeReservedCacheNodesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, opts ...request.Option) (*DescribeReservedCacheNodesOutput, error) { 3865 req, out := c.DescribeReservedCacheNodesRequest(input) 3866 req.SetContext(ctx) 3867 req.ApplyOptions(opts...) 3868 return out, req.Send() 3869} 3870 3871// DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, 3872// calling the "fn" function with the response data for each page. To stop 3873// iterating, return false from the fn function. 3874// 3875// See DescribeReservedCacheNodes method for more information on how to use this operation. 3876// 3877// Note: This operation can generate multiple requests to a service. 3878// 3879// // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation. 3880// pageNum := 0 3881// err := client.DescribeReservedCacheNodesPages(params, 3882// func(page *elasticache.DescribeReservedCacheNodesOutput, lastPage bool) bool { 3883// pageNum++ 3884// fmt.Println(page) 3885// return pageNum <= 3 3886// }) 3887// 3888func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool) error { 3889 return c.DescribeReservedCacheNodesPagesWithContext(aws.BackgroundContext(), input, fn) 3890} 3891 3892// DescribeReservedCacheNodesPagesWithContext same as DescribeReservedCacheNodesPages except 3893// it takes a Context and allows setting request options on the pages. 3894// 3895// The context must be non-nil and will be used for request cancellation. If 3896// the context is nil a panic will occur. In the future the SDK may create 3897// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3898// for more information on using Contexts. 3899func (c *ElastiCache) DescribeReservedCacheNodesPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool, opts ...request.Option) error { 3900 p := request.Pagination{ 3901 NewRequest: func() (*request.Request, error) { 3902 var inCpy *DescribeReservedCacheNodesInput 3903 if input != nil { 3904 tmp := *input 3905 inCpy = &tmp 3906 } 3907 req, _ := c.DescribeReservedCacheNodesRequest(inCpy) 3908 req.SetContext(ctx) 3909 req.ApplyOptions(opts...) 3910 return req, nil 3911 }, 3912 } 3913 3914 for p.Next() { 3915 if !fn(p.Page().(*DescribeReservedCacheNodesOutput), !p.HasNextPage()) { 3916 break 3917 } 3918 } 3919 3920 return p.Err() 3921} 3922 3923const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" 3924 3925// DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the 3926// client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return 3927// value will be populated with the request's response once the request completes 3928// successfully. 3929// 3930// Use "Send" method on the returned Request to send the API call to the service. 3931// the "output" return value is not valid until after Send returns without error. 3932// 3933// See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings 3934// API call, and error handling. 3935// 3936// This method is useful when you want to inject custom logic or configuration 3937// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3938// 3939// 3940// // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. 3941// req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) 3942// 3943// err := req.Send() 3944// if err == nil { // resp is now filled 3945// fmt.Println(resp) 3946// } 3947// 3948// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3949func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { 3950 op := &request.Operation{ 3951 Name: opDescribeReservedCacheNodesOfferings, 3952 HTTPMethod: "POST", 3953 HTTPPath: "/", 3954 Paginator: &request.Paginator{ 3955 InputTokens: []string{"Marker"}, 3956 OutputTokens: []string{"Marker"}, 3957 LimitToken: "MaxRecords", 3958 TruncationToken: "", 3959 }, 3960 } 3961 3962 if input == nil { 3963 input = &DescribeReservedCacheNodesOfferingsInput{} 3964 } 3965 3966 output = &DescribeReservedCacheNodesOfferingsOutput{} 3967 req = c.newRequest(op, input, output) 3968 return 3969} 3970 3971// DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. 3972// 3973// Lists available reserved cache node offerings. 3974// 3975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3976// with awserr.Error's Code and Message methods to get detailed information about 3977// the error. 3978// 3979// See the AWS API reference guide for Amazon ElastiCache's 3980// API operation DescribeReservedCacheNodesOfferings for usage and error information. 3981// 3982// Returned Error Codes: 3983// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 3984// The requested cache node offering does not exist. 3985// 3986// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3987// The value for a parameter is invalid. 3988// 3989// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3990// Two or more incompatible parameters were specified. 3991// 3992// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3993func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { 3994 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 3995 return out, req.Send() 3996} 3997 3998// DescribeReservedCacheNodesOfferingsWithContext is the same as DescribeReservedCacheNodesOfferings with the addition of 3999// the ability to pass a context and additional request options. 4000// 4001// See DescribeReservedCacheNodesOfferings for details on how to use this API operation. 4002// 4003// The context must be non-nil and will be used for request cancellation. If 4004// the context is nil a panic will occur. In the future the SDK may create 4005// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4006// for more information on using Contexts. 4007func (c *ElastiCache) DescribeReservedCacheNodesOfferingsWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, opts ...request.Option) (*DescribeReservedCacheNodesOfferingsOutput, error) { 4008 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 4009 req.SetContext(ctx) 4010 req.ApplyOptions(opts...) 4011 return out, req.Send() 4012} 4013 4014// DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, 4015// calling the "fn" function with the response data for each page. To stop 4016// iterating, return false from the fn function. 4017// 4018// See DescribeReservedCacheNodesOfferings method for more information on how to use this operation. 4019// 4020// Note: This operation can generate multiple requests to a service. 4021// 4022// // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation. 4023// pageNum := 0 4024// err := client.DescribeReservedCacheNodesOfferingsPages(params, 4025// func(page *elasticache.DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { 4026// pageNum++ 4027// fmt.Println(page) 4028// return pageNum <= 3 4029// }) 4030// 4031func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool) error { 4032 return c.DescribeReservedCacheNodesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 4033} 4034 4035// DescribeReservedCacheNodesOfferingsPagesWithContext same as DescribeReservedCacheNodesOfferingsPages except 4036// it takes a Context and allows setting request options on the pages. 4037// 4038// The context must be non-nil and will be used for request cancellation. If 4039// the context is nil a panic will occur. In the future the SDK may create 4040// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4041// for more information on using Contexts. 4042func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool, opts ...request.Option) error { 4043 p := request.Pagination{ 4044 NewRequest: func() (*request.Request, error) { 4045 var inCpy *DescribeReservedCacheNodesOfferingsInput 4046 if input != nil { 4047 tmp := *input 4048 inCpy = &tmp 4049 } 4050 req, _ := c.DescribeReservedCacheNodesOfferingsRequest(inCpy) 4051 req.SetContext(ctx) 4052 req.ApplyOptions(opts...) 4053 return req, nil 4054 }, 4055 } 4056 4057 for p.Next() { 4058 if !fn(p.Page().(*DescribeReservedCacheNodesOfferingsOutput), !p.HasNextPage()) { 4059 break 4060 } 4061 } 4062 4063 return p.Err() 4064} 4065 4066const opDescribeServiceUpdates = "DescribeServiceUpdates" 4067 4068// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the 4069// client's request for the DescribeServiceUpdates operation. The "output" return 4070// value will be populated with the request's response once the request completes 4071// successfully. 4072// 4073// Use "Send" method on the returned Request to send the API call to the service. 4074// the "output" return value is not valid until after Send returns without error. 4075// 4076// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates 4077// API call, and error handling. 4078// 4079// This method is useful when you want to inject custom logic or configuration 4080// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4081// 4082// 4083// // Example sending a request using the DescribeServiceUpdatesRequest method. 4084// req, resp := client.DescribeServiceUpdatesRequest(params) 4085// 4086// err := req.Send() 4087// if err == nil { // resp is now filled 4088// fmt.Println(resp) 4089// } 4090// 4091// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4092func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { 4093 op := &request.Operation{ 4094 Name: opDescribeServiceUpdates, 4095 HTTPMethod: "POST", 4096 HTTPPath: "/", 4097 Paginator: &request.Paginator{ 4098 InputTokens: []string{"Marker"}, 4099 OutputTokens: []string{"Marker"}, 4100 LimitToken: "MaxRecords", 4101 TruncationToken: "", 4102 }, 4103 } 4104 4105 if input == nil { 4106 input = &DescribeServiceUpdatesInput{} 4107 } 4108 4109 output = &DescribeServiceUpdatesOutput{} 4110 req = c.newRequest(op, input, output) 4111 return 4112} 4113 4114// DescribeServiceUpdates API operation for Amazon ElastiCache. 4115// 4116// Returns details of the service updates 4117// 4118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4119// with awserr.Error's Code and Message methods to get detailed information about 4120// the error. 4121// 4122// See the AWS API reference guide for Amazon ElastiCache's 4123// API operation DescribeServiceUpdates for usage and error information. 4124// 4125// Returned Error Codes: 4126// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 4127// The service update doesn't exist 4128// 4129// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4130// The value for a parameter is invalid. 4131// 4132// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4133// Two or more incompatible parameters were specified. 4134// 4135// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4136func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { 4137 req, out := c.DescribeServiceUpdatesRequest(input) 4138 return out, req.Send() 4139} 4140 4141// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of 4142// the ability to pass a context and additional request options. 4143// 4144// See DescribeServiceUpdates for details on how to use this API operation. 4145// 4146// The context must be non-nil and will be used for request cancellation. If 4147// the context is nil a panic will occur. In the future the SDK may create 4148// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4149// for more information on using Contexts. 4150func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { 4151 req, out := c.DescribeServiceUpdatesRequest(input) 4152 req.SetContext(ctx) 4153 req.ApplyOptions(opts...) 4154 return out, req.Send() 4155} 4156 4157// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, 4158// calling the "fn" function with the response data for each page. To stop 4159// iterating, return false from the fn function. 4160// 4161// See DescribeServiceUpdates method for more information on how to use this operation. 4162// 4163// Note: This operation can generate multiple requests to a service. 4164// 4165// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. 4166// pageNum := 0 4167// err := client.DescribeServiceUpdatesPages(params, 4168// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { 4169// pageNum++ 4170// fmt.Println(page) 4171// return pageNum <= 3 4172// }) 4173// 4174func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { 4175 return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 4176} 4177 4178// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except 4179// it takes a Context and allows setting request options on the pages. 4180// 4181// The context must be non-nil and will be used for request cancellation. If 4182// the context is nil a panic will occur. In the future the SDK may create 4183// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4184// for more information on using Contexts. 4185func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { 4186 p := request.Pagination{ 4187 NewRequest: func() (*request.Request, error) { 4188 var inCpy *DescribeServiceUpdatesInput 4189 if input != nil { 4190 tmp := *input 4191 inCpy = &tmp 4192 } 4193 req, _ := c.DescribeServiceUpdatesRequest(inCpy) 4194 req.SetContext(ctx) 4195 req.ApplyOptions(opts...) 4196 return req, nil 4197 }, 4198 } 4199 4200 for p.Next() { 4201 if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { 4202 break 4203 } 4204 } 4205 4206 return p.Err() 4207} 4208 4209const opDescribeSnapshots = "DescribeSnapshots" 4210 4211// DescribeSnapshotsRequest generates a "aws/request.Request" representing the 4212// client's request for the DescribeSnapshots operation. The "output" return 4213// value will be populated with the request's response once the request completes 4214// successfully. 4215// 4216// Use "Send" method on the returned Request to send the API call to the service. 4217// the "output" return value is not valid until after Send returns without error. 4218// 4219// See DescribeSnapshots for more information on using the DescribeSnapshots 4220// API call, and error handling. 4221// 4222// This method is useful when you want to inject custom logic or configuration 4223// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4224// 4225// 4226// // Example sending a request using the DescribeSnapshotsRequest method. 4227// req, resp := client.DescribeSnapshotsRequest(params) 4228// 4229// err := req.Send() 4230// if err == nil { // resp is now filled 4231// fmt.Println(resp) 4232// } 4233// 4234// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4235func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { 4236 op := &request.Operation{ 4237 Name: opDescribeSnapshots, 4238 HTTPMethod: "POST", 4239 HTTPPath: "/", 4240 Paginator: &request.Paginator{ 4241 InputTokens: []string{"Marker"}, 4242 OutputTokens: []string{"Marker"}, 4243 LimitToken: "MaxRecords", 4244 TruncationToken: "", 4245 }, 4246 } 4247 4248 if input == nil { 4249 input = &DescribeSnapshotsInput{} 4250 } 4251 4252 output = &DescribeSnapshotsOutput{} 4253 req = c.newRequest(op, input, output) 4254 return 4255} 4256 4257// DescribeSnapshots API operation for Amazon ElastiCache. 4258// 4259// Returns information about cluster or replication group snapshots. By default, 4260// DescribeSnapshots lists all of your snapshots; it can optionally describe 4261// a single snapshot, or just the snapshots associated with a particular cache 4262// cluster. 4263// 4264// This operation is valid for Redis only. 4265// 4266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4267// with awserr.Error's Code and Message methods to get detailed information about 4268// the error. 4269// 4270// See the AWS API reference guide for Amazon ElastiCache's 4271// API operation DescribeSnapshots for usage and error information. 4272// 4273// Returned Error Codes: 4274// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4275// The requested cluster ID does not refer to an existing cluster. 4276// 4277// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 4278// The requested snapshot name does not refer to an existing snapshot. 4279// 4280// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4281// The value for a parameter is invalid. 4282// 4283// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4284// Two or more incompatible parameters were specified. 4285// 4286// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4287func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { 4288 req, out := c.DescribeSnapshotsRequest(input) 4289 return out, req.Send() 4290} 4291 4292// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of 4293// the ability to pass a context and additional request options. 4294// 4295// See DescribeSnapshots for details on how to use this API operation. 4296// 4297// The context must be non-nil and will be used for request cancellation. If 4298// the context is nil a panic will occur. In the future the SDK may create 4299// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4300// for more information on using Contexts. 4301func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { 4302 req, out := c.DescribeSnapshotsRequest(input) 4303 req.SetContext(ctx) 4304 req.ApplyOptions(opts...) 4305 return out, req.Send() 4306} 4307 4308// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, 4309// calling the "fn" function with the response data for each page. To stop 4310// iterating, return false from the fn function. 4311// 4312// See DescribeSnapshots method for more information on how to use this operation. 4313// 4314// Note: This operation can generate multiple requests to a service. 4315// 4316// // Example iterating over at most 3 pages of a DescribeSnapshots operation. 4317// pageNum := 0 4318// err := client.DescribeSnapshotsPages(params, 4319// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { 4320// pageNum++ 4321// fmt.Println(page) 4322// return pageNum <= 3 4323// }) 4324// 4325func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { 4326 return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 4327} 4328 4329// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except 4330// it takes a Context and allows setting request options on the pages. 4331// 4332// The context must be non-nil and will be used for request cancellation. If 4333// the context is nil a panic will occur. In the future the SDK may create 4334// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4335// for more information on using Contexts. 4336func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { 4337 p := request.Pagination{ 4338 NewRequest: func() (*request.Request, error) { 4339 var inCpy *DescribeSnapshotsInput 4340 if input != nil { 4341 tmp := *input 4342 inCpy = &tmp 4343 } 4344 req, _ := c.DescribeSnapshotsRequest(inCpy) 4345 req.SetContext(ctx) 4346 req.ApplyOptions(opts...) 4347 return req, nil 4348 }, 4349 } 4350 4351 for p.Next() { 4352 if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { 4353 break 4354 } 4355 } 4356 4357 return p.Err() 4358} 4359 4360const opDescribeUpdateActions = "DescribeUpdateActions" 4361 4362// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the 4363// client's request for the DescribeUpdateActions operation. The "output" return 4364// value will be populated with the request's response once the request completes 4365// successfully. 4366// 4367// Use "Send" method on the returned Request to send the API call to the service. 4368// the "output" return value is not valid until after Send returns without error. 4369// 4370// See DescribeUpdateActions for more information on using the DescribeUpdateActions 4371// API call, and error handling. 4372// 4373// This method is useful when you want to inject custom logic or configuration 4374// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4375// 4376// 4377// // Example sending a request using the DescribeUpdateActionsRequest method. 4378// req, resp := client.DescribeUpdateActionsRequest(params) 4379// 4380// err := req.Send() 4381// if err == nil { // resp is now filled 4382// fmt.Println(resp) 4383// } 4384// 4385// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4386func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { 4387 op := &request.Operation{ 4388 Name: opDescribeUpdateActions, 4389 HTTPMethod: "POST", 4390 HTTPPath: "/", 4391 Paginator: &request.Paginator{ 4392 InputTokens: []string{"Marker"}, 4393 OutputTokens: []string{"Marker"}, 4394 LimitToken: "MaxRecords", 4395 TruncationToken: "", 4396 }, 4397 } 4398 4399 if input == nil { 4400 input = &DescribeUpdateActionsInput{} 4401 } 4402 4403 output = &DescribeUpdateActionsOutput{} 4404 req = c.newRequest(op, input, output) 4405 return 4406} 4407 4408// DescribeUpdateActions API operation for Amazon ElastiCache. 4409// 4410// Returns details of the update actions 4411// 4412// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4413// with awserr.Error's Code and Message methods to get detailed information about 4414// the error. 4415// 4416// See the AWS API reference guide for Amazon ElastiCache's 4417// API operation DescribeUpdateActions for usage and error information. 4418// 4419// Returned Error Codes: 4420// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4421// The value for a parameter is invalid. 4422// 4423// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4424// Two or more incompatible parameters were specified. 4425// 4426// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4427func (c *ElastiCache) DescribeUpdateActions(input *DescribeUpdateActionsInput) (*DescribeUpdateActionsOutput, error) { 4428 req, out := c.DescribeUpdateActionsRequest(input) 4429 return out, req.Send() 4430} 4431 4432// DescribeUpdateActionsWithContext is the same as DescribeUpdateActions with the addition of 4433// the ability to pass a context and additional request options. 4434// 4435// See DescribeUpdateActions for details on how to use this API operation. 4436// 4437// The context must be non-nil and will be used for request cancellation. If 4438// the context is nil a panic will occur. In the future the SDK may create 4439// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4440// for more information on using Contexts. 4441func (c *ElastiCache) DescribeUpdateActionsWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, opts ...request.Option) (*DescribeUpdateActionsOutput, error) { 4442 req, out := c.DescribeUpdateActionsRequest(input) 4443 req.SetContext(ctx) 4444 req.ApplyOptions(opts...) 4445 return out, req.Send() 4446} 4447 4448// DescribeUpdateActionsPages iterates over the pages of a DescribeUpdateActions operation, 4449// calling the "fn" function with the response data for each page. To stop 4450// iterating, return false from the fn function. 4451// 4452// See DescribeUpdateActions method for more information on how to use this operation. 4453// 4454// Note: This operation can generate multiple requests to a service. 4455// 4456// // Example iterating over at most 3 pages of a DescribeUpdateActions operation. 4457// pageNum := 0 4458// err := client.DescribeUpdateActionsPages(params, 4459// func(page *elasticache.DescribeUpdateActionsOutput, lastPage bool) bool { 4460// pageNum++ 4461// fmt.Println(page) 4462// return pageNum <= 3 4463// }) 4464// 4465func (c *ElastiCache) DescribeUpdateActionsPages(input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool) error { 4466 return c.DescribeUpdateActionsPagesWithContext(aws.BackgroundContext(), input, fn) 4467} 4468 4469// DescribeUpdateActionsPagesWithContext same as DescribeUpdateActionsPages except 4470// it takes a Context and allows setting request options on the pages. 4471// 4472// The context must be non-nil and will be used for request cancellation. If 4473// the context is nil a panic will occur. In the future the SDK may create 4474// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4475// for more information on using Contexts. 4476func (c *ElastiCache) DescribeUpdateActionsPagesWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool, opts ...request.Option) error { 4477 p := request.Pagination{ 4478 NewRequest: func() (*request.Request, error) { 4479 var inCpy *DescribeUpdateActionsInput 4480 if input != nil { 4481 tmp := *input 4482 inCpy = &tmp 4483 } 4484 req, _ := c.DescribeUpdateActionsRequest(inCpy) 4485 req.SetContext(ctx) 4486 req.ApplyOptions(opts...) 4487 return req, nil 4488 }, 4489 } 4490 4491 for p.Next() { 4492 if !fn(p.Page().(*DescribeUpdateActionsOutput), !p.HasNextPage()) { 4493 break 4494 } 4495 } 4496 4497 return p.Err() 4498} 4499 4500const opDisassociateGlobalReplicationGroup = "DisassociateGlobalReplicationGroup" 4501 4502// DisassociateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 4503// client's request for the DisassociateGlobalReplicationGroup operation. The "output" return 4504// value will be populated with the request's response once the request completes 4505// successfully. 4506// 4507// Use "Send" method on the returned Request to send the API call to the service. 4508// the "output" return value is not valid until after Send returns without error. 4509// 4510// See DisassociateGlobalReplicationGroup for more information on using the DisassociateGlobalReplicationGroup 4511// API call, and error handling. 4512// 4513// This method is useful when you want to inject custom logic or configuration 4514// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4515// 4516// 4517// // Example sending a request using the DisassociateGlobalReplicationGroupRequest method. 4518// req, resp := client.DisassociateGlobalReplicationGroupRequest(params) 4519// 4520// err := req.Send() 4521// if err == nil { // resp is now filled 4522// fmt.Println(resp) 4523// } 4524// 4525// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 4526func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *DisassociateGlobalReplicationGroupInput) (req *request.Request, output *DisassociateGlobalReplicationGroupOutput) { 4527 op := &request.Operation{ 4528 Name: opDisassociateGlobalReplicationGroup, 4529 HTTPMethod: "POST", 4530 HTTPPath: "/", 4531 } 4532 4533 if input == nil { 4534 input = &DisassociateGlobalReplicationGroupInput{} 4535 } 4536 4537 output = &DisassociateGlobalReplicationGroupOutput{} 4538 req = c.newRequest(op, input, output) 4539 return 4540} 4541 4542// DisassociateGlobalReplicationGroup API operation for Amazon ElastiCache. 4543// 4544// Remove a secondary cluster from the Global Datastore using the Global Datastore 4545// name. The secondary cluster will no longer receive updates from the primary 4546// cluster, but will remain as a standalone cluster in that AWS region. 4547// 4548// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4549// with awserr.Error's Code and Message methods to get detailed information about 4550// the error. 4551// 4552// See the AWS API reference guide for Amazon ElastiCache's 4553// API operation DisassociateGlobalReplicationGroup for usage and error information. 4554// 4555// Returned Error Codes: 4556// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4557// The Global Datastore does not exist 4558// 4559// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 4560// The Global Datastore is not available or in primary-only state. 4561// 4562// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4563// The value for a parameter is invalid. 4564// 4565// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4566// Two or more incompatible parameters were specified. 4567// 4568// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 4569func (c *ElastiCache) DisassociateGlobalReplicationGroup(input *DisassociateGlobalReplicationGroupInput) (*DisassociateGlobalReplicationGroupOutput, error) { 4570 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 4571 return out, req.Send() 4572} 4573 4574// DisassociateGlobalReplicationGroupWithContext is the same as DisassociateGlobalReplicationGroup with the addition of 4575// the ability to pass a context and additional request options. 4576// 4577// See DisassociateGlobalReplicationGroup for details on how to use this API operation. 4578// 4579// The context must be non-nil and will be used for request cancellation. If 4580// the context is nil a panic will occur. In the future the SDK may create 4581// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4582// for more information on using Contexts. 4583func (c *ElastiCache) DisassociateGlobalReplicationGroupWithContext(ctx aws.Context, input *DisassociateGlobalReplicationGroupInput, opts ...request.Option) (*DisassociateGlobalReplicationGroupOutput, error) { 4584 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 4585 req.SetContext(ctx) 4586 req.ApplyOptions(opts...) 4587 return out, req.Send() 4588} 4589 4590const opFailoverGlobalReplicationGroup = "FailoverGlobalReplicationGroup" 4591 4592// FailoverGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 4593// client's request for the FailoverGlobalReplicationGroup operation. The "output" return 4594// value will be populated with the request's response once the request completes 4595// successfully. 4596// 4597// Use "Send" method on the returned Request to send the API call to the service. 4598// the "output" return value is not valid until after Send returns without error. 4599// 4600// See FailoverGlobalReplicationGroup for more information on using the FailoverGlobalReplicationGroup 4601// API call, and error handling. 4602// 4603// This method is useful when you want to inject custom logic or configuration 4604// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4605// 4606// 4607// // Example sending a request using the FailoverGlobalReplicationGroupRequest method. 4608// req, resp := client.FailoverGlobalReplicationGroupRequest(params) 4609// 4610// err := req.Send() 4611// if err == nil { // resp is now filled 4612// fmt.Println(resp) 4613// } 4614// 4615// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 4616func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGlobalReplicationGroupInput) (req *request.Request, output *FailoverGlobalReplicationGroupOutput) { 4617 op := &request.Operation{ 4618 Name: opFailoverGlobalReplicationGroup, 4619 HTTPMethod: "POST", 4620 HTTPPath: "/", 4621 } 4622 4623 if input == nil { 4624 input = &FailoverGlobalReplicationGroupInput{} 4625 } 4626 4627 output = &FailoverGlobalReplicationGroupOutput{} 4628 req = c.newRequest(op, input, output) 4629 return 4630} 4631 4632// FailoverGlobalReplicationGroup API operation for Amazon ElastiCache. 4633// 4634// Used to failover the primary region to a selected secondary region. The selected 4635// secondary region will be come primary, and all other clusters will become 4636// secondary. 4637// 4638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4639// with awserr.Error's Code and Message methods to get detailed information about 4640// the error. 4641// 4642// See the AWS API reference guide for Amazon ElastiCache's 4643// API operation FailoverGlobalReplicationGroup for usage and error information. 4644// 4645// Returned Error Codes: 4646// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4647// The Global Datastore does not exist 4648// 4649// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 4650// The Global Datastore is not available or in primary-only state. 4651// 4652// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4653// The value for a parameter is invalid. 4654// 4655// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4656// Two or more incompatible parameters were specified. 4657// 4658// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 4659func (c *ElastiCache) FailoverGlobalReplicationGroup(input *FailoverGlobalReplicationGroupInput) (*FailoverGlobalReplicationGroupOutput, error) { 4660 req, out := c.FailoverGlobalReplicationGroupRequest(input) 4661 return out, req.Send() 4662} 4663 4664// FailoverGlobalReplicationGroupWithContext is the same as FailoverGlobalReplicationGroup with the addition of 4665// the ability to pass a context and additional request options. 4666// 4667// See FailoverGlobalReplicationGroup for details on how to use this API operation. 4668// 4669// The context must be non-nil and will be used for request cancellation. If 4670// the context is nil a panic will occur. In the future the SDK may create 4671// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4672// for more information on using Contexts. 4673func (c *ElastiCache) FailoverGlobalReplicationGroupWithContext(ctx aws.Context, input *FailoverGlobalReplicationGroupInput, opts ...request.Option) (*FailoverGlobalReplicationGroupOutput, error) { 4674 req, out := c.FailoverGlobalReplicationGroupRequest(input) 4675 req.SetContext(ctx) 4676 req.ApplyOptions(opts...) 4677 return out, req.Send() 4678} 4679 4680const opIncreaseNodeGroupsInGlobalReplicationGroup = "IncreaseNodeGroupsInGlobalReplicationGroup" 4681 4682// IncreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 4683// client's request for the IncreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 4684// value will be populated with the request's response once the request completes 4685// successfully. 4686// 4687// Use "Send" method on the returned Request to send the API call to the service. 4688// the "output" return value is not valid until after Send returns without error. 4689// 4690// See IncreaseNodeGroupsInGlobalReplicationGroup for more information on using the IncreaseNodeGroupsInGlobalReplicationGroup 4691// API call, and error handling. 4692// 4693// This method is useful when you want to inject custom logic or configuration 4694// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4695// 4696// 4697// // Example sending a request using the IncreaseNodeGroupsInGlobalReplicationGroupRequest method. 4698// req, resp := client.IncreaseNodeGroupsInGlobalReplicationGroupRequest(params) 4699// 4700// err := req.Send() 4701// if err == nil { // resp is now filled 4702// fmt.Println(resp) 4703// } 4704// 4705// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 4706func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupRequest(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *IncreaseNodeGroupsInGlobalReplicationGroupOutput) { 4707 op := &request.Operation{ 4708 Name: opIncreaseNodeGroupsInGlobalReplicationGroup, 4709 HTTPMethod: "POST", 4710 HTTPPath: "/", 4711 } 4712 4713 if input == nil { 4714 input = &IncreaseNodeGroupsInGlobalReplicationGroupInput{} 4715 } 4716 4717 output = &IncreaseNodeGroupsInGlobalReplicationGroupOutput{} 4718 req = c.newRequest(op, input, output) 4719 return 4720} 4721 4722// IncreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 4723// 4724// Increase the number of node groups in the Global Datastore 4725// 4726// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4727// with awserr.Error's Code and Message methods to get detailed information about 4728// the error. 4729// 4730// See the AWS API reference guide for Amazon ElastiCache's 4731// API operation IncreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 4732// 4733// Returned Error Codes: 4734// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4735// The Global Datastore does not exist 4736// 4737// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 4738// The Global Datastore is not available or in primary-only state. 4739// 4740// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4741// The value for a parameter is invalid. 4742// 4743// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 4744func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroup(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 4745 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 4746 return out, req.Send() 4747} 4748 4749// IncreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as IncreaseNodeGroupsInGlobalReplicationGroup with the addition of 4750// the ability to pass a context and additional request options. 4751// 4752// See IncreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 4753// 4754// The context must be non-nil and will be used for request cancellation. If 4755// the context is nil a panic will occur. In the future the SDK may create 4756// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4757// for more information on using Contexts. 4758func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *IncreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 4759 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 4760 req.SetContext(ctx) 4761 req.ApplyOptions(opts...) 4762 return out, req.Send() 4763} 4764 4765const opIncreaseReplicaCount = "IncreaseReplicaCount" 4766 4767// IncreaseReplicaCountRequest generates a "aws/request.Request" representing the 4768// client's request for the IncreaseReplicaCount operation. The "output" return 4769// value will be populated with the request's response once the request completes 4770// successfully. 4771// 4772// Use "Send" method on the returned Request to send the API call to the service. 4773// the "output" return value is not valid until after Send returns without error. 4774// 4775// See IncreaseReplicaCount for more information on using the IncreaseReplicaCount 4776// API call, and error handling. 4777// 4778// This method is useful when you want to inject custom logic or configuration 4779// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4780// 4781// 4782// // Example sending a request using the IncreaseReplicaCountRequest method. 4783// req, resp := client.IncreaseReplicaCountRequest(params) 4784// 4785// err := req.Send() 4786// if err == nil { // resp is now filled 4787// fmt.Println(resp) 4788// } 4789// 4790// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4791func (c *ElastiCache) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) (req *request.Request, output *IncreaseReplicaCountOutput) { 4792 op := &request.Operation{ 4793 Name: opIncreaseReplicaCount, 4794 HTTPMethod: "POST", 4795 HTTPPath: "/", 4796 } 4797 4798 if input == nil { 4799 input = &IncreaseReplicaCountInput{} 4800 } 4801 4802 output = &IncreaseReplicaCountOutput{} 4803 req = c.newRequest(op, input, output) 4804 return 4805} 4806 4807// IncreaseReplicaCount API operation for Amazon ElastiCache. 4808// 4809// Dynamically increases the number of replics in a Redis (cluster mode disabled) 4810// replication group or the number of replica nodes in one or more node groups 4811// (shards) of a Redis (cluster mode enabled) replication group. This operation 4812// is performed with no cluster down time. 4813// 4814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4815// with awserr.Error's Code and Message methods to get detailed information about 4816// the error. 4817// 4818// See the AWS API reference guide for Amazon ElastiCache's 4819// API operation IncreaseReplicaCount for usage and error information. 4820// 4821// Returned Error Codes: 4822// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4823// The specified replication group does not exist. 4824// 4825// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4826// The requested replication group is not in the available state. 4827// 4828// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4829// The requested cluster is not in the available state. 4830// 4831// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4832// The VPC network is in an invalid state. 4833// 4834// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4835// The requested cache node type is not available in the specified Availability 4836// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4837// in the ElastiCache User Guide. 4838// 4839// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 4840// The request cannot be processed because it would exceed the allowed number 4841// of clusters per customer. 4842// 4843// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 4844// The request cannot be processed because it would exceed the maximum allowed 4845// number of node groups (shards) in a single replication group. The default 4846// maximum is 90 4847// 4848// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4849// The request cannot be processed because it would exceed the allowed number 4850// of cache nodes per customer. 4851// 4852// * ErrCodeNoOperationFault "NoOperationFault" 4853// The operation was not performed because no changes were required. 4854// 4855// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 4856// The KMS key supplied is not valid. 4857// 4858// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4859// The value for a parameter is invalid. 4860// 4861// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4862// Two or more incompatible parameters were specified. 4863// 4864// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4865func (c *ElastiCache) IncreaseReplicaCount(input *IncreaseReplicaCountInput) (*IncreaseReplicaCountOutput, error) { 4866 req, out := c.IncreaseReplicaCountRequest(input) 4867 return out, req.Send() 4868} 4869 4870// IncreaseReplicaCountWithContext is the same as IncreaseReplicaCount with the addition of 4871// the ability to pass a context and additional request options. 4872// 4873// See IncreaseReplicaCount for details on how to use this API operation. 4874// 4875// The context must be non-nil and will be used for request cancellation. If 4876// the context is nil a panic will occur. In the future the SDK may create 4877// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4878// for more information on using Contexts. 4879func (c *ElastiCache) IncreaseReplicaCountWithContext(ctx aws.Context, input *IncreaseReplicaCountInput, opts ...request.Option) (*IncreaseReplicaCountOutput, error) { 4880 req, out := c.IncreaseReplicaCountRequest(input) 4881 req.SetContext(ctx) 4882 req.ApplyOptions(opts...) 4883 return out, req.Send() 4884} 4885 4886const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" 4887 4888// ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the 4889// client's request for the ListAllowedNodeTypeModifications operation. The "output" return 4890// value will be populated with the request's response once the request completes 4891// successfully. 4892// 4893// Use "Send" method on the returned Request to send the API call to the service. 4894// the "output" return value is not valid until after Send returns without error. 4895// 4896// See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications 4897// API call, and error handling. 4898// 4899// This method is useful when you want to inject custom logic or configuration 4900// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4901// 4902// 4903// // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. 4904// req, resp := client.ListAllowedNodeTypeModificationsRequest(params) 4905// 4906// err := req.Send() 4907// if err == nil { // resp is now filled 4908// fmt.Println(resp) 4909// } 4910// 4911// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4912func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { 4913 op := &request.Operation{ 4914 Name: opListAllowedNodeTypeModifications, 4915 HTTPMethod: "POST", 4916 HTTPPath: "/", 4917 } 4918 4919 if input == nil { 4920 input = &ListAllowedNodeTypeModificationsInput{} 4921 } 4922 4923 output = &ListAllowedNodeTypeModificationsOutput{} 4924 req = c.newRequest(op, input, output) 4925 return 4926} 4927 4928// ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. 4929// 4930// Lists all available node types that you can scale your Redis cluster's or 4931// replication group's current node type. 4932// 4933// When you use the ModifyCacheCluster or ModifyReplicationGroup operations 4934// to scale your cluster or replication group, the value of the CacheNodeType 4935// parameter must be one of the node types returned by this operation. 4936// 4937// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4938// with awserr.Error's Code and Message methods to get detailed information about 4939// the error. 4940// 4941// See the AWS API reference guide for Amazon ElastiCache's 4942// API operation ListAllowedNodeTypeModifications for usage and error information. 4943// 4944// Returned Error Codes: 4945// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4946// The requested cluster ID does not refer to an existing cluster. 4947// 4948// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4949// The specified replication group does not exist. 4950// 4951// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4952// Two or more incompatible parameters were specified. 4953// 4954// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4955// The value for a parameter is invalid. 4956// 4957// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4958func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { 4959 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4960 return out, req.Send() 4961} 4962 4963// ListAllowedNodeTypeModificationsWithContext is the same as ListAllowedNodeTypeModifications with the addition of 4964// the ability to pass a context and additional request options. 4965// 4966// See ListAllowedNodeTypeModifications for details on how to use this API operation. 4967// 4968// The context must be non-nil and will be used for request cancellation. If 4969// the context is nil a panic will occur. In the future the SDK may create 4970// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4971// for more information on using Contexts. 4972func (c *ElastiCache) ListAllowedNodeTypeModificationsWithContext(ctx aws.Context, input *ListAllowedNodeTypeModificationsInput, opts ...request.Option) (*ListAllowedNodeTypeModificationsOutput, error) { 4973 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4974 req.SetContext(ctx) 4975 req.ApplyOptions(opts...) 4976 return out, req.Send() 4977} 4978 4979const opListTagsForResource = "ListTagsForResource" 4980 4981// ListTagsForResourceRequest generates a "aws/request.Request" representing the 4982// client's request for the ListTagsForResource operation. The "output" return 4983// value will be populated with the request's response once the request completes 4984// successfully. 4985// 4986// Use "Send" method on the returned Request to send the API call to the service. 4987// the "output" return value is not valid until after Send returns without error. 4988// 4989// See ListTagsForResource for more information on using the ListTagsForResource 4990// API call, and error handling. 4991// 4992// This method is useful when you want to inject custom logic or configuration 4993// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4994// 4995// 4996// // Example sending a request using the ListTagsForResourceRequest method. 4997// req, resp := client.ListTagsForResourceRequest(params) 4998// 4999// err := req.Send() 5000// if err == nil { // resp is now filled 5001// fmt.Println(resp) 5002// } 5003// 5004// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5005func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { 5006 op := &request.Operation{ 5007 Name: opListTagsForResource, 5008 HTTPMethod: "POST", 5009 HTTPPath: "/", 5010 } 5011 5012 if input == nil { 5013 input = &ListTagsForResourceInput{} 5014 } 5015 5016 output = &TagListMessage{} 5017 req = c.newRequest(op, input, output) 5018 return 5019} 5020 5021// ListTagsForResource API operation for Amazon ElastiCache. 5022// 5023// Lists all cost allocation tags currently on the named resource. A cost allocation 5024// tag is a key-value pair where the key is case-sensitive and the value is 5025// optional. You can use cost allocation tags to categorize and track your AWS 5026// costs. 5027// 5028// If the cluster is not in the available state, ListTagsForResource returns 5029// an error. 5030// 5031// You can have a maximum of 50 cost allocation tags on an ElastiCache resource. 5032// For more information, see Monitoring Costs with Tags (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html). 5033// 5034// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5035// with awserr.Error's Code and Message methods to get detailed information about 5036// the error. 5037// 5038// See the AWS API reference guide for Amazon ElastiCache's 5039// API operation ListTagsForResource for usage and error information. 5040// 5041// Returned Error Codes: 5042// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5043// The requested cluster ID does not refer to an existing cluster. 5044// 5045// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 5046// The requested snapshot name does not refer to an existing snapshot. 5047// 5048// * ErrCodeInvalidARNFault "InvalidARN" 5049// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5050// 5051// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5052func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { 5053 req, out := c.ListTagsForResourceRequest(input) 5054 return out, req.Send() 5055} 5056 5057// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 5058// the ability to pass a context and additional request options. 5059// 5060// See ListTagsForResource for details on how to use this API operation. 5061// 5062// The context must be non-nil and will be used for request cancellation. If 5063// the context is nil a panic will occur. In the future the SDK may create 5064// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5065// for more information on using Contexts. 5066func (c *ElastiCache) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*TagListMessage, error) { 5067 req, out := c.ListTagsForResourceRequest(input) 5068 req.SetContext(ctx) 5069 req.ApplyOptions(opts...) 5070 return out, req.Send() 5071} 5072 5073const opModifyCacheCluster = "ModifyCacheCluster" 5074 5075// ModifyCacheClusterRequest generates a "aws/request.Request" representing the 5076// client's request for the ModifyCacheCluster operation. The "output" return 5077// value will be populated with the request's response once the request completes 5078// successfully. 5079// 5080// Use "Send" method on the returned Request to send the API call to the service. 5081// the "output" return value is not valid until after Send returns without error. 5082// 5083// See ModifyCacheCluster for more information on using the ModifyCacheCluster 5084// API call, and error handling. 5085// 5086// This method is useful when you want to inject custom logic or configuration 5087// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5088// 5089// 5090// // Example sending a request using the ModifyCacheClusterRequest method. 5091// req, resp := client.ModifyCacheClusterRequest(params) 5092// 5093// err := req.Send() 5094// if err == nil { // resp is now filled 5095// fmt.Println(resp) 5096// } 5097// 5098// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5099func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { 5100 op := &request.Operation{ 5101 Name: opModifyCacheCluster, 5102 HTTPMethod: "POST", 5103 HTTPPath: "/", 5104 } 5105 5106 if input == nil { 5107 input = &ModifyCacheClusterInput{} 5108 } 5109 5110 output = &ModifyCacheClusterOutput{} 5111 req = c.newRequest(op, input, output) 5112 return 5113} 5114 5115// ModifyCacheCluster API operation for Amazon ElastiCache. 5116// 5117// Modifies the settings for a cluster. You can use this operation to change 5118// one or more cluster configuration parameters by specifying the parameters 5119// and the new values. 5120// 5121// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5122// with awserr.Error's Code and Message methods to get detailed information about 5123// the error. 5124// 5125// See the AWS API reference guide for Amazon ElastiCache's 5126// API operation ModifyCacheCluster for usage and error information. 5127// 5128// Returned Error Codes: 5129// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5130// The requested cluster is not in the available state. 5131// 5132// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5133// The current state of the cache security group does not allow deletion. 5134// 5135// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5136// The requested cache node type is not available in the specified Availability 5137// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5138// in the ElastiCache User Guide. 5139// 5140// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5141// The requested cluster ID does not refer to an existing cluster. 5142// 5143// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 5144// The request cannot be processed because it would exceed the allowed number 5145// of cache nodes in a single cluster. 5146// 5147// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5148// The request cannot be processed because it would exceed the allowed number 5149// of cache nodes per customer. 5150// 5151// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5152// The requested cache security group name does not refer to an existing cache 5153// security group. 5154// 5155// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5156// The requested cache parameter group name does not refer to an existing cache 5157// parameter group. 5158// 5159// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5160// The VPC network is in an invalid state. 5161// 5162// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5163// The value for a parameter is invalid. 5164// 5165// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5166// Two or more incompatible parameters were specified. 5167// 5168// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5169func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { 5170 req, out := c.ModifyCacheClusterRequest(input) 5171 return out, req.Send() 5172} 5173 5174// ModifyCacheClusterWithContext is the same as ModifyCacheCluster with the addition of 5175// the ability to pass a context and additional request options. 5176// 5177// See ModifyCacheCluster for details on how to use this API operation. 5178// 5179// The context must be non-nil and will be used for request cancellation. If 5180// the context is nil a panic will occur. In the future the SDK may create 5181// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5182// for more information on using Contexts. 5183func (c *ElastiCache) ModifyCacheClusterWithContext(ctx aws.Context, input *ModifyCacheClusterInput, opts ...request.Option) (*ModifyCacheClusterOutput, error) { 5184 req, out := c.ModifyCacheClusterRequest(input) 5185 req.SetContext(ctx) 5186 req.ApplyOptions(opts...) 5187 return out, req.Send() 5188} 5189 5190const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" 5191 5192// ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the 5193// client's request for the ModifyCacheParameterGroup operation. The "output" return 5194// value will be populated with the request's response once the request completes 5195// successfully. 5196// 5197// Use "Send" method on the returned Request to send the API call to the service. 5198// the "output" return value is not valid until after Send returns without error. 5199// 5200// See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup 5201// API call, and error handling. 5202// 5203// This method is useful when you want to inject custom logic or configuration 5204// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5205// 5206// 5207// // Example sending a request using the ModifyCacheParameterGroupRequest method. 5208// req, resp := client.ModifyCacheParameterGroupRequest(params) 5209// 5210// err := req.Send() 5211// if err == nil { // resp is now filled 5212// fmt.Println(resp) 5213// } 5214// 5215// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 5216func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 5217 op := &request.Operation{ 5218 Name: opModifyCacheParameterGroup, 5219 HTTPMethod: "POST", 5220 HTTPPath: "/", 5221 } 5222 5223 if input == nil { 5224 input = &ModifyCacheParameterGroupInput{} 5225 } 5226 5227 output = &CacheParameterGroupNameMessage{} 5228 req = c.newRequest(op, input, output) 5229 return 5230} 5231 5232// ModifyCacheParameterGroup API operation for Amazon ElastiCache. 5233// 5234// Modifies the parameters of a cache parameter group. You can modify up to 5235// 20 parameters in a single request by submitting a list parameter name and 5236// value pairs. 5237// 5238// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5239// with awserr.Error's Code and Message methods to get detailed information about 5240// the error. 5241// 5242// See the AWS API reference guide for Amazon ElastiCache's 5243// API operation ModifyCacheParameterGroup for usage and error information. 5244// 5245// Returned Error Codes: 5246// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5247// The requested cache parameter group name does not refer to an existing cache 5248// parameter group. 5249// 5250// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 5251// The current state of the cache parameter group does not allow the requested 5252// operation to occur. 5253// 5254// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5255// The value for a parameter is invalid. 5256// 5257// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5258// Two or more incompatible parameters were specified. 5259// 5260// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5261// The Global Datastore is not available or in primary-only state. 5262// 5263// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 5264func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 5265 req, out := c.ModifyCacheParameterGroupRequest(input) 5266 return out, req.Send() 5267} 5268 5269// ModifyCacheParameterGroupWithContext is the same as ModifyCacheParameterGroup with the addition of 5270// the ability to pass a context and additional request options. 5271// 5272// See ModifyCacheParameterGroup for details on how to use this API operation. 5273// 5274// The context must be non-nil and will be used for request cancellation. If 5275// the context is nil a panic will occur. In the future the SDK may create 5276// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5277// for more information on using Contexts. 5278func (c *ElastiCache) ModifyCacheParameterGroupWithContext(ctx aws.Context, input *ModifyCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 5279 req, out := c.ModifyCacheParameterGroupRequest(input) 5280 req.SetContext(ctx) 5281 req.ApplyOptions(opts...) 5282 return out, req.Send() 5283} 5284 5285const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" 5286 5287// ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the 5288// client's request for the ModifyCacheSubnetGroup operation. The "output" return 5289// value will be populated with the request's response once the request completes 5290// successfully. 5291// 5292// Use "Send" method on the returned Request to send the API call to the service. 5293// the "output" return value is not valid until after Send returns without error. 5294// 5295// See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup 5296// API call, and error handling. 5297// 5298// This method is useful when you want to inject custom logic or configuration 5299// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5300// 5301// 5302// // Example sending a request using the ModifyCacheSubnetGroupRequest method. 5303// req, resp := client.ModifyCacheSubnetGroupRequest(params) 5304// 5305// err := req.Send() 5306// if err == nil { // resp is now filled 5307// fmt.Println(resp) 5308// } 5309// 5310// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 5311func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { 5312 op := &request.Operation{ 5313 Name: opModifyCacheSubnetGroup, 5314 HTTPMethod: "POST", 5315 HTTPPath: "/", 5316 } 5317 5318 if input == nil { 5319 input = &ModifyCacheSubnetGroupInput{} 5320 } 5321 5322 output = &ModifyCacheSubnetGroupOutput{} 5323 req = c.newRequest(op, input, output) 5324 return 5325} 5326 5327// ModifyCacheSubnetGroup API operation for Amazon ElastiCache. 5328// 5329// Modifies an existing cache subnet group. 5330// 5331// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5332// with awserr.Error's Code and Message methods to get detailed information about 5333// the error. 5334// 5335// See the AWS API reference guide for Amazon ElastiCache's 5336// API operation ModifyCacheSubnetGroup for usage and error information. 5337// 5338// Returned Error Codes: 5339// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 5340// The requested cache subnet group name does not refer to an existing cache 5341// subnet group. 5342// 5343// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 5344// The request cannot be processed because it would exceed the allowed number 5345// of subnets in a cache subnet group. 5346// 5347// * ErrCodeSubnetInUse "SubnetInUse" 5348// The requested subnet is being used by another cache subnet group. 5349// 5350// * ErrCodeInvalidSubnet "InvalidSubnet" 5351// An invalid subnet identifier was specified. 5352// 5353// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 5354func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { 5355 req, out := c.ModifyCacheSubnetGroupRequest(input) 5356 return out, req.Send() 5357} 5358 5359// ModifyCacheSubnetGroupWithContext is the same as ModifyCacheSubnetGroup with the addition of 5360// the ability to pass a context and additional request options. 5361// 5362// See ModifyCacheSubnetGroup for details on how to use this API operation. 5363// 5364// The context must be non-nil and will be used for request cancellation. If 5365// the context is nil a panic will occur. In the future the SDK may create 5366// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5367// for more information on using Contexts. 5368func (c *ElastiCache) ModifyCacheSubnetGroupWithContext(ctx aws.Context, input *ModifyCacheSubnetGroupInput, opts ...request.Option) (*ModifyCacheSubnetGroupOutput, error) { 5369 req, out := c.ModifyCacheSubnetGroupRequest(input) 5370 req.SetContext(ctx) 5371 req.ApplyOptions(opts...) 5372 return out, req.Send() 5373} 5374 5375const opModifyGlobalReplicationGroup = "ModifyGlobalReplicationGroup" 5376 5377// ModifyGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5378// client's request for the ModifyGlobalReplicationGroup operation. The "output" return 5379// value will be populated with the request's response once the request completes 5380// successfully. 5381// 5382// Use "Send" method on the returned Request to send the API call to the service. 5383// the "output" return value is not valid until after Send returns without error. 5384// 5385// See ModifyGlobalReplicationGroup for more information on using the ModifyGlobalReplicationGroup 5386// API call, and error handling. 5387// 5388// This method is useful when you want to inject custom logic or configuration 5389// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5390// 5391// 5392// // Example sending a request using the ModifyGlobalReplicationGroupRequest method. 5393// req, resp := client.ModifyGlobalReplicationGroupRequest(params) 5394// 5395// err := req.Send() 5396// if err == nil { // resp is now filled 5397// fmt.Println(resp) 5398// } 5399// 5400// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 5401func (c *ElastiCache) ModifyGlobalReplicationGroupRequest(input *ModifyGlobalReplicationGroupInput) (req *request.Request, output *ModifyGlobalReplicationGroupOutput) { 5402 op := &request.Operation{ 5403 Name: opModifyGlobalReplicationGroup, 5404 HTTPMethod: "POST", 5405 HTTPPath: "/", 5406 } 5407 5408 if input == nil { 5409 input = &ModifyGlobalReplicationGroupInput{} 5410 } 5411 5412 output = &ModifyGlobalReplicationGroupOutput{} 5413 req = c.newRequest(op, input, output) 5414 return 5415} 5416 5417// ModifyGlobalReplicationGroup API operation for Amazon ElastiCache. 5418// 5419// Modifies the settings for a Global Datastore. 5420// 5421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5422// with awserr.Error's Code and Message methods to get detailed information about 5423// the error. 5424// 5425// See the AWS API reference guide for Amazon ElastiCache's 5426// API operation ModifyGlobalReplicationGroup for usage and error information. 5427// 5428// Returned Error Codes: 5429// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5430// The Global Datastore does not exist 5431// 5432// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5433// The Global Datastore is not available or in primary-only state. 5434// 5435// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5436// The value for a parameter is invalid. 5437// 5438// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 5439func (c *ElastiCache) ModifyGlobalReplicationGroup(input *ModifyGlobalReplicationGroupInput) (*ModifyGlobalReplicationGroupOutput, error) { 5440 req, out := c.ModifyGlobalReplicationGroupRequest(input) 5441 return out, req.Send() 5442} 5443 5444// ModifyGlobalReplicationGroupWithContext is the same as ModifyGlobalReplicationGroup with the addition of 5445// the ability to pass a context and additional request options. 5446// 5447// See ModifyGlobalReplicationGroup for details on how to use this API operation. 5448// 5449// The context must be non-nil and will be used for request cancellation. If 5450// the context is nil a panic will occur. In the future the SDK may create 5451// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5452// for more information on using Contexts. 5453func (c *ElastiCache) ModifyGlobalReplicationGroupWithContext(ctx aws.Context, input *ModifyGlobalReplicationGroupInput, opts ...request.Option) (*ModifyGlobalReplicationGroupOutput, error) { 5454 req, out := c.ModifyGlobalReplicationGroupRequest(input) 5455 req.SetContext(ctx) 5456 req.ApplyOptions(opts...) 5457 return out, req.Send() 5458} 5459 5460const opModifyReplicationGroup = "ModifyReplicationGroup" 5461 5462// ModifyReplicationGroupRequest generates a "aws/request.Request" representing the 5463// client's request for the ModifyReplicationGroup operation. The "output" return 5464// value will be populated with the request's response once the request completes 5465// successfully. 5466// 5467// Use "Send" method on the returned Request to send the API call to the service. 5468// the "output" return value is not valid until after Send returns without error. 5469// 5470// See ModifyReplicationGroup for more information on using the ModifyReplicationGroup 5471// API call, and error handling. 5472// 5473// This method is useful when you want to inject custom logic or configuration 5474// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5475// 5476// 5477// // Example sending a request using the ModifyReplicationGroupRequest method. 5478// req, resp := client.ModifyReplicationGroupRequest(params) 5479// 5480// err := req.Send() 5481// if err == nil { // resp is now filled 5482// fmt.Println(resp) 5483// } 5484// 5485// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 5486func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { 5487 op := &request.Operation{ 5488 Name: opModifyReplicationGroup, 5489 HTTPMethod: "POST", 5490 HTTPPath: "/", 5491 } 5492 5493 if input == nil { 5494 input = &ModifyReplicationGroupInput{} 5495 } 5496 5497 output = &ModifyReplicationGroupOutput{} 5498 req = c.newRequest(op, input, output) 5499 return 5500} 5501 5502// ModifyReplicationGroup API operation for Amazon ElastiCache. 5503// 5504// Modifies the settings for a replication group. 5505// 5506// * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) 5507// in the ElastiCache User Guide 5508// 5509// * ModifyReplicationGroupShardConfiguration (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) 5510// in the ElastiCache API Reference 5511// 5512// This operation is valid for Redis only. 5513// 5514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5515// with awserr.Error's Code and Message methods to get detailed information about 5516// the error. 5517// 5518// See the AWS API reference guide for Amazon ElastiCache's 5519// API operation ModifyReplicationGroup for usage and error information. 5520// 5521// Returned Error Codes: 5522// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5523// The specified replication group does not exist. 5524// 5525// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5526// The requested replication group is not in the available state. 5527// 5528// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5529// The requested cluster is not in the available state. 5530// 5531// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5532// The current state of the cache security group does not allow deletion. 5533// 5534// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5535// The requested cache node type is not available in the specified Availability 5536// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5537// in the ElastiCache User Guide. 5538// 5539// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5540// The requested cluster ID does not refer to an existing cluster. 5541// 5542// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 5543// The request cannot be processed because it would exceed the allowed number 5544// of cache nodes in a single cluster. 5545// 5546// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5547// The request cannot be processed because it would exceed the allowed number 5548// of cache nodes per customer. 5549// 5550// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5551// The requested cache security group name does not refer to an existing cache 5552// security group. 5553// 5554// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5555// The requested cache parameter group name does not refer to an existing cache 5556// parameter group. 5557// 5558// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5559// The VPC network is in an invalid state. 5560// 5561// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5562// The KMS key supplied is not valid. 5563// 5564// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5565// The value for a parameter is invalid. 5566// 5567// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5568// Two or more incompatible parameters were specified. 5569// 5570// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 5571func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { 5572 req, out := c.ModifyReplicationGroupRequest(input) 5573 return out, req.Send() 5574} 5575 5576// ModifyReplicationGroupWithContext is the same as ModifyReplicationGroup with the addition of 5577// the ability to pass a context and additional request options. 5578// 5579// See ModifyReplicationGroup for details on how to use this API operation. 5580// 5581// The context must be non-nil and will be used for request cancellation. If 5582// the context is nil a panic will occur. In the future the SDK may create 5583// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5584// for more information on using Contexts. 5585func (c *ElastiCache) ModifyReplicationGroupWithContext(ctx aws.Context, input *ModifyReplicationGroupInput, opts ...request.Option) (*ModifyReplicationGroupOutput, error) { 5586 req, out := c.ModifyReplicationGroupRequest(input) 5587 req.SetContext(ctx) 5588 req.ApplyOptions(opts...) 5589 return out, req.Send() 5590} 5591 5592const opModifyReplicationGroupShardConfiguration = "ModifyReplicationGroupShardConfiguration" 5593 5594// ModifyReplicationGroupShardConfigurationRequest generates a "aws/request.Request" representing the 5595// client's request for the ModifyReplicationGroupShardConfiguration operation. The "output" return 5596// value will be populated with the request's response once the request completes 5597// successfully. 5598// 5599// Use "Send" method on the returned Request to send the API call to the service. 5600// the "output" return value is not valid until after Send returns without error. 5601// 5602// See ModifyReplicationGroupShardConfiguration for more information on using the ModifyReplicationGroupShardConfiguration 5603// API call, and error handling. 5604// 5605// This method is useful when you want to inject custom logic or configuration 5606// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5607// 5608// 5609// // Example sending a request using the ModifyReplicationGroupShardConfigurationRequest method. 5610// req, resp := client.ModifyReplicationGroupShardConfigurationRequest(params) 5611// 5612// err := req.Send() 5613// if err == nil { // resp is now filled 5614// fmt.Println(resp) 5615// } 5616// 5617// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 5618func (c *ElastiCache) ModifyReplicationGroupShardConfigurationRequest(input *ModifyReplicationGroupShardConfigurationInput) (req *request.Request, output *ModifyReplicationGroupShardConfigurationOutput) { 5619 op := &request.Operation{ 5620 Name: opModifyReplicationGroupShardConfiguration, 5621 HTTPMethod: "POST", 5622 HTTPPath: "/", 5623 } 5624 5625 if input == nil { 5626 input = &ModifyReplicationGroupShardConfigurationInput{} 5627 } 5628 5629 output = &ModifyReplicationGroupShardConfigurationOutput{} 5630 req = c.newRequest(op, input, output) 5631 return 5632} 5633 5634// ModifyReplicationGroupShardConfiguration API operation for Amazon ElastiCache. 5635// 5636// Modifies a replication group's shards (node groups) by allowing you to add 5637// shards, remove shards, or rebalance the keyspaces among exisiting shards. 5638// 5639// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5640// with awserr.Error's Code and Message methods to get detailed information about 5641// the error. 5642// 5643// See the AWS API reference guide for Amazon ElastiCache's 5644// API operation ModifyReplicationGroupShardConfiguration for usage and error information. 5645// 5646// Returned Error Codes: 5647// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5648// The specified replication group does not exist. 5649// 5650// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5651// The requested replication group is not in the available state. 5652// 5653// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5654// The requested cluster is not in the available state. 5655// 5656// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5657// The VPC network is in an invalid state. 5658// 5659// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5660// The requested cache node type is not available in the specified Availability 5661// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5662// in the ElastiCache User Guide. 5663// 5664// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 5665// The request cannot be processed because it would exceed the maximum allowed 5666// number of node groups (shards) in a single replication group. The default 5667// maximum is 90 5668// 5669// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5670// The request cannot be processed because it would exceed the allowed number 5671// of cache nodes per customer. 5672// 5673// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5674// The KMS key supplied is not valid. 5675// 5676// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5677// The value for a parameter is invalid. 5678// 5679// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5680// Two or more incompatible parameters were specified. 5681// 5682// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 5683func (c *ElastiCache) ModifyReplicationGroupShardConfiguration(input *ModifyReplicationGroupShardConfigurationInput) (*ModifyReplicationGroupShardConfigurationOutput, error) { 5684 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 5685 return out, req.Send() 5686} 5687 5688// ModifyReplicationGroupShardConfigurationWithContext is the same as ModifyReplicationGroupShardConfiguration with the addition of 5689// the ability to pass a context and additional request options. 5690// 5691// See ModifyReplicationGroupShardConfiguration for details on how to use this API operation. 5692// 5693// The context must be non-nil and will be used for request cancellation. If 5694// the context is nil a panic will occur. In the future the SDK may create 5695// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5696// for more information on using Contexts. 5697func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aws.Context, input *ModifyReplicationGroupShardConfigurationInput, opts ...request.Option) (*ModifyReplicationGroupShardConfigurationOutput, error) { 5698 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 5699 req.SetContext(ctx) 5700 req.ApplyOptions(opts...) 5701 return out, req.Send() 5702} 5703 5704const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" 5705 5706// PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the 5707// client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return 5708// value will be populated with the request's response once the request completes 5709// successfully. 5710// 5711// Use "Send" method on the returned Request to send the API call to the service. 5712// the "output" return value is not valid until after Send returns without error. 5713// 5714// See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering 5715// API call, and error handling. 5716// 5717// This method is useful when you want to inject custom logic or configuration 5718// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5719// 5720// 5721// // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. 5722// req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) 5723// 5724// err := req.Send() 5725// if err == nil { // resp is now filled 5726// fmt.Println(resp) 5727// } 5728// 5729// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 5730func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { 5731 op := &request.Operation{ 5732 Name: opPurchaseReservedCacheNodesOffering, 5733 HTTPMethod: "POST", 5734 HTTPPath: "/", 5735 } 5736 5737 if input == nil { 5738 input = &PurchaseReservedCacheNodesOfferingInput{} 5739 } 5740 5741 output = &PurchaseReservedCacheNodesOfferingOutput{} 5742 req = c.newRequest(op, input, output) 5743 return 5744} 5745 5746// PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. 5747// 5748// Allows you to purchase a reserved cache node offering. 5749// 5750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5751// with awserr.Error's Code and Message methods to get detailed information about 5752// the error. 5753// 5754// See the AWS API reference guide for Amazon ElastiCache's 5755// API operation PurchaseReservedCacheNodesOffering for usage and error information. 5756// 5757// Returned Error Codes: 5758// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 5759// The requested cache node offering does not exist. 5760// 5761// * ErrCodeReservedCacheNodeAlreadyExistsFault "ReservedCacheNodeAlreadyExists" 5762// You already have a reservation with the given identifier. 5763// 5764// * ErrCodeReservedCacheNodeQuotaExceededFault "ReservedCacheNodeQuotaExceeded" 5765// The request cannot be processed because it would exceed the user's cache 5766// node quota. 5767// 5768// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5769// The value for a parameter is invalid. 5770// 5771// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5772// Two or more incompatible parameters were specified. 5773// 5774// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 5775func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { 5776 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 5777 return out, req.Send() 5778} 5779 5780// PurchaseReservedCacheNodesOfferingWithContext is the same as PurchaseReservedCacheNodesOffering with the addition of 5781// the ability to pass a context and additional request options. 5782// 5783// See PurchaseReservedCacheNodesOffering for details on how to use this API operation. 5784// 5785// The context must be non-nil and will be used for request cancellation. If 5786// the context is nil a panic will occur. In the future the SDK may create 5787// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5788// for more information on using Contexts. 5789func (c *ElastiCache) PurchaseReservedCacheNodesOfferingWithContext(ctx aws.Context, input *PurchaseReservedCacheNodesOfferingInput, opts ...request.Option) (*PurchaseReservedCacheNodesOfferingOutput, error) { 5790 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 5791 req.SetContext(ctx) 5792 req.ApplyOptions(opts...) 5793 return out, req.Send() 5794} 5795 5796const opRebalanceSlotsInGlobalReplicationGroup = "RebalanceSlotsInGlobalReplicationGroup" 5797 5798// RebalanceSlotsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5799// client's request for the RebalanceSlotsInGlobalReplicationGroup operation. The "output" return 5800// value will be populated with the request's response once the request completes 5801// successfully. 5802// 5803// Use "Send" method on the returned Request to send the API call to the service. 5804// the "output" return value is not valid until after Send returns without error. 5805// 5806// See RebalanceSlotsInGlobalReplicationGroup for more information on using the RebalanceSlotsInGlobalReplicationGroup 5807// API call, and error handling. 5808// 5809// This method is useful when you want to inject custom logic or configuration 5810// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5811// 5812// 5813// // Example sending a request using the RebalanceSlotsInGlobalReplicationGroupRequest method. 5814// req, resp := client.RebalanceSlotsInGlobalReplicationGroupRequest(params) 5815// 5816// err := req.Send() 5817// if err == nil { // resp is now filled 5818// fmt.Println(resp) 5819// } 5820// 5821// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 5822func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupRequest(input *RebalanceSlotsInGlobalReplicationGroupInput) (req *request.Request, output *RebalanceSlotsInGlobalReplicationGroupOutput) { 5823 op := &request.Operation{ 5824 Name: opRebalanceSlotsInGlobalReplicationGroup, 5825 HTTPMethod: "POST", 5826 HTTPPath: "/", 5827 } 5828 5829 if input == nil { 5830 input = &RebalanceSlotsInGlobalReplicationGroupInput{} 5831 } 5832 5833 output = &RebalanceSlotsInGlobalReplicationGroupOutput{} 5834 req = c.newRequest(op, input, output) 5835 return 5836} 5837 5838// RebalanceSlotsInGlobalReplicationGroup API operation for Amazon ElastiCache. 5839// 5840// Redistribute slots to ensure uniform distribution across existing shards 5841// in the cluster. 5842// 5843// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5844// with awserr.Error's Code and Message methods to get detailed information about 5845// the error. 5846// 5847// See the AWS API reference guide for Amazon ElastiCache's 5848// API operation RebalanceSlotsInGlobalReplicationGroup for usage and error information. 5849// 5850// Returned Error Codes: 5851// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5852// The Global Datastore does not exist 5853// 5854// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5855// The Global Datastore is not available or in primary-only state. 5856// 5857// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5858// The value for a parameter is invalid. 5859// 5860// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 5861func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroup(input *RebalanceSlotsInGlobalReplicationGroupInput) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 5862 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 5863 return out, req.Send() 5864} 5865 5866// RebalanceSlotsInGlobalReplicationGroupWithContext is the same as RebalanceSlotsInGlobalReplicationGroup with the addition of 5867// the ability to pass a context and additional request options. 5868// 5869// See RebalanceSlotsInGlobalReplicationGroup for details on how to use this API operation. 5870// 5871// The context must be non-nil and will be used for request cancellation. If 5872// the context is nil a panic will occur. In the future the SDK may create 5873// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5874// for more information on using Contexts. 5875func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupWithContext(ctx aws.Context, input *RebalanceSlotsInGlobalReplicationGroupInput, opts ...request.Option) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 5876 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 5877 req.SetContext(ctx) 5878 req.ApplyOptions(opts...) 5879 return out, req.Send() 5880} 5881 5882const opRebootCacheCluster = "RebootCacheCluster" 5883 5884// RebootCacheClusterRequest generates a "aws/request.Request" representing the 5885// client's request for the RebootCacheCluster operation. The "output" return 5886// value will be populated with the request's response once the request completes 5887// successfully. 5888// 5889// Use "Send" method on the returned Request to send the API call to the service. 5890// the "output" return value is not valid until after Send returns without error. 5891// 5892// See RebootCacheCluster for more information on using the RebootCacheCluster 5893// API call, and error handling. 5894// 5895// This method is useful when you want to inject custom logic or configuration 5896// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5897// 5898// 5899// // Example sending a request using the RebootCacheClusterRequest method. 5900// req, resp := client.RebootCacheClusterRequest(params) 5901// 5902// err := req.Send() 5903// if err == nil { // resp is now filled 5904// fmt.Println(resp) 5905// } 5906// 5907// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 5908func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { 5909 op := &request.Operation{ 5910 Name: opRebootCacheCluster, 5911 HTTPMethod: "POST", 5912 HTTPPath: "/", 5913 } 5914 5915 if input == nil { 5916 input = &RebootCacheClusterInput{} 5917 } 5918 5919 output = &RebootCacheClusterOutput{} 5920 req = c.newRequest(op, input, output) 5921 return 5922} 5923 5924// RebootCacheCluster API operation for Amazon ElastiCache. 5925// 5926// Reboots some, or all, of the cache nodes within a provisioned cluster. This 5927// operation applies any modified cache parameter groups to the cluster. The 5928// reboot operation takes place as soon as possible, and results in a momentary 5929// outage to the cluster. During the reboot, the cluster status is set to REBOOTING. 5930// 5931// The reboot causes the contents of the cache (for each cache node being rebooted) 5932// to be lost. 5933// 5934// When the reboot is complete, a cluster event is created. 5935// 5936// Rebooting a cluster is currently supported on Memcached and Redis (cluster 5937// mode disabled) clusters. Rebooting is not supported on Redis (cluster mode 5938// enabled) clusters. 5939// 5940// If you make changes to parameters that require a Redis (cluster mode enabled) 5941// cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) 5942// for an alternate process. 5943// 5944// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5945// with awserr.Error's Code and Message methods to get detailed information about 5946// the error. 5947// 5948// See the AWS API reference guide for Amazon ElastiCache's 5949// API operation RebootCacheCluster for usage and error information. 5950// 5951// Returned Error Codes: 5952// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5953// The requested cluster is not in the available state. 5954// 5955// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5956// The requested cluster ID does not refer to an existing cluster. 5957// 5958// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 5959func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { 5960 req, out := c.RebootCacheClusterRequest(input) 5961 return out, req.Send() 5962} 5963 5964// RebootCacheClusterWithContext is the same as RebootCacheCluster with the addition of 5965// the ability to pass a context and additional request options. 5966// 5967// See RebootCacheCluster for details on how to use this API operation. 5968// 5969// The context must be non-nil and will be used for request cancellation. If 5970// the context is nil a panic will occur. In the future the SDK may create 5971// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5972// for more information on using Contexts. 5973func (c *ElastiCache) RebootCacheClusterWithContext(ctx aws.Context, input *RebootCacheClusterInput, opts ...request.Option) (*RebootCacheClusterOutput, error) { 5974 req, out := c.RebootCacheClusterRequest(input) 5975 req.SetContext(ctx) 5976 req.ApplyOptions(opts...) 5977 return out, req.Send() 5978} 5979 5980const opRemoveTagsFromResource = "RemoveTagsFromResource" 5981 5982// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the 5983// client's request for the RemoveTagsFromResource operation. The "output" return 5984// value will be populated with the request's response once the request completes 5985// successfully. 5986// 5987// Use "Send" method on the returned Request to send the API call to the service. 5988// the "output" return value is not valid until after Send returns without error. 5989// 5990// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource 5991// API call, and error handling. 5992// 5993// This method is useful when you want to inject custom logic or configuration 5994// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5995// 5996// 5997// // Example sending a request using the RemoveTagsFromResourceRequest method. 5998// req, resp := client.RemoveTagsFromResourceRequest(params) 5999// 6000// err := req.Send() 6001// if err == nil { // resp is now filled 6002// fmt.Println(resp) 6003// } 6004// 6005// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 6006func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { 6007 op := &request.Operation{ 6008 Name: opRemoveTagsFromResource, 6009 HTTPMethod: "POST", 6010 HTTPPath: "/", 6011 } 6012 6013 if input == nil { 6014 input = &RemoveTagsFromResourceInput{} 6015 } 6016 6017 output = &TagListMessage{} 6018 req = c.newRequest(op, input, output) 6019 return 6020} 6021 6022// RemoveTagsFromResource API operation for Amazon ElastiCache. 6023// 6024// Removes the tags identified by the TagKeys list from the named resource. 6025// 6026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6027// with awserr.Error's Code and Message methods to get detailed information about 6028// the error. 6029// 6030// See the AWS API reference guide for Amazon ElastiCache's 6031// API operation RemoveTagsFromResource for usage and error information. 6032// 6033// Returned Error Codes: 6034// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 6035// The requested cluster ID does not refer to an existing cluster. 6036// 6037// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 6038// The requested snapshot name does not refer to an existing snapshot. 6039// 6040// * ErrCodeInvalidARNFault "InvalidARN" 6041// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 6042// 6043// * ErrCodeTagNotFoundFault "TagNotFound" 6044// The requested tag was not found on this resource. 6045// 6046// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 6047func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { 6048 req, out := c.RemoveTagsFromResourceRequest(input) 6049 return out, req.Send() 6050} 6051 6052// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of 6053// the ability to pass a context and additional request options. 6054// 6055// See RemoveTagsFromResource for details on how to use this API operation. 6056// 6057// The context must be non-nil and will be used for request cancellation. If 6058// the context is nil a panic will occur. In the future the SDK may create 6059// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6060// for more information on using Contexts. 6061func (c *ElastiCache) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*TagListMessage, error) { 6062 req, out := c.RemoveTagsFromResourceRequest(input) 6063 req.SetContext(ctx) 6064 req.ApplyOptions(opts...) 6065 return out, req.Send() 6066} 6067 6068const opResetCacheParameterGroup = "ResetCacheParameterGroup" 6069 6070// ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the 6071// client's request for the ResetCacheParameterGroup operation. The "output" return 6072// value will be populated with the request's response once the request completes 6073// successfully. 6074// 6075// Use "Send" method on the returned Request to send the API call to the service. 6076// the "output" return value is not valid until after Send returns without error. 6077// 6078// See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup 6079// API call, and error handling. 6080// 6081// This method is useful when you want to inject custom logic or configuration 6082// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6083// 6084// 6085// // Example sending a request using the ResetCacheParameterGroupRequest method. 6086// req, resp := client.ResetCacheParameterGroupRequest(params) 6087// 6088// err := req.Send() 6089// if err == nil { // resp is now filled 6090// fmt.Println(resp) 6091// } 6092// 6093// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 6094func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 6095 op := &request.Operation{ 6096 Name: opResetCacheParameterGroup, 6097 HTTPMethod: "POST", 6098 HTTPPath: "/", 6099 } 6100 6101 if input == nil { 6102 input = &ResetCacheParameterGroupInput{} 6103 } 6104 6105 output = &CacheParameterGroupNameMessage{} 6106 req = c.newRequest(op, input, output) 6107 return 6108} 6109 6110// ResetCacheParameterGroup API operation for Amazon ElastiCache. 6111// 6112// Modifies the parameters of a cache parameter group to the engine or system 6113// default value. You can reset specific parameters by submitting a list of 6114// parameter names. To reset the entire cache parameter group, specify the ResetAllParameters 6115// and CacheParameterGroupName parameters. 6116// 6117// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6118// with awserr.Error's Code and Message methods to get detailed information about 6119// the error. 6120// 6121// See the AWS API reference guide for Amazon ElastiCache's 6122// API operation ResetCacheParameterGroup for usage and error information. 6123// 6124// Returned Error Codes: 6125// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 6126// The current state of the cache parameter group does not allow the requested 6127// operation to occur. 6128// 6129// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 6130// The requested cache parameter group name does not refer to an existing cache 6131// parameter group. 6132// 6133// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6134// The value for a parameter is invalid. 6135// 6136// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6137// Two or more incompatible parameters were specified. 6138// 6139// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6140// The Global Datastore is not available or in primary-only state. 6141// 6142// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 6143func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 6144 req, out := c.ResetCacheParameterGroupRequest(input) 6145 return out, req.Send() 6146} 6147 6148// ResetCacheParameterGroupWithContext is the same as ResetCacheParameterGroup with the addition of 6149// the ability to pass a context and additional request options. 6150// 6151// See ResetCacheParameterGroup for details on how to use this API operation. 6152// 6153// The context must be non-nil and will be used for request cancellation. If 6154// the context is nil a panic will occur. In the future the SDK may create 6155// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6156// for more information on using Contexts. 6157func (c *ElastiCache) ResetCacheParameterGroupWithContext(ctx aws.Context, input *ResetCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 6158 req, out := c.ResetCacheParameterGroupRequest(input) 6159 req.SetContext(ctx) 6160 req.ApplyOptions(opts...) 6161 return out, req.Send() 6162} 6163 6164const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" 6165 6166// RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 6167// client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return 6168// value will be populated with the request's response once the request completes 6169// successfully. 6170// 6171// Use "Send" method on the returned Request to send the API call to the service. 6172// the "output" return value is not valid until after Send returns without error. 6173// 6174// See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress 6175// API call, and error handling. 6176// 6177// This method is useful when you want to inject custom logic or configuration 6178// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6179// 6180// 6181// // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. 6182// req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) 6183// 6184// err := req.Send() 6185// if err == nil { // resp is now filled 6186// fmt.Println(resp) 6187// } 6188// 6189// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 6190func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { 6191 op := &request.Operation{ 6192 Name: opRevokeCacheSecurityGroupIngress, 6193 HTTPMethod: "POST", 6194 HTTPPath: "/", 6195 } 6196 6197 if input == nil { 6198 input = &RevokeCacheSecurityGroupIngressInput{} 6199 } 6200 6201 output = &RevokeCacheSecurityGroupIngressOutput{} 6202 req = c.newRequest(op, input, output) 6203 return 6204} 6205 6206// RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 6207// 6208// Revokes ingress from a cache security group. Use this operation to disallow 6209// access from an Amazon EC2 security group that had been previously authorized. 6210// 6211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6212// with awserr.Error's Code and Message methods to get detailed information about 6213// the error. 6214// 6215// See the AWS API reference guide for Amazon ElastiCache's 6216// API operation RevokeCacheSecurityGroupIngress for usage and error information. 6217// 6218// Returned Error Codes: 6219// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 6220// The requested cache security group name does not refer to an existing cache 6221// security group. 6222// 6223// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 6224// The specified Amazon EC2 security group is not authorized for the specified 6225// cache security group. 6226// 6227// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 6228// The current state of the cache security group does not allow deletion. 6229// 6230// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6231// The value for a parameter is invalid. 6232// 6233// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6234// Two or more incompatible parameters were specified. 6235// 6236// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 6237func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { 6238 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 6239 return out, req.Send() 6240} 6241 6242// RevokeCacheSecurityGroupIngressWithContext is the same as RevokeCacheSecurityGroupIngress with the addition of 6243// the ability to pass a context and additional request options. 6244// 6245// See RevokeCacheSecurityGroupIngress for details on how to use this API operation. 6246// 6247// The context must be non-nil and will be used for request cancellation. If 6248// the context is nil a panic will occur. In the future the SDK may create 6249// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6250// for more information on using Contexts. 6251func (c *ElastiCache) RevokeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeCacheSecurityGroupIngressInput, opts ...request.Option) (*RevokeCacheSecurityGroupIngressOutput, error) { 6252 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 6253 req.SetContext(ctx) 6254 req.ApplyOptions(opts...) 6255 return out, req.Send() 6256} 6257 6258const opStartMigration = "StartMigration" 6259 6260// StartMigrationRequest generates a "aws/request.Request" representing the 6261// client's request for the StartMigration operation. The "output" return 6262// value will be populated with the request's response once the request completes 6263// successfully. 6264// 6265// Use "Send" method on the returned Request to send the API call to the service. 6266// the "output" return value is not valid until after Send returns without error. 6267// 6268// See StartMigration for more information on using the StartMigration 6269// API call, and error handling. 6270// 6271// This method is useful when you want to inject custom logic or configuration 6272// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6273// 6274// 6275// // Example sending a request using the StartMigrationRequest method. 6276// req, resp := client.StartMigrationRequest(params) 6277// 6278// err := req.Send() 6279// if err == nil { // resp is now filled 6280// fmt.Println(resp) 6281// } 6282// 6283// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 6284func (c *ElastiCache) StartMigrationRequest(input *StartMigrationInput) (req *request.Request, output *StartMigrationOutput) { 6285 op := &request.Operation{ 6286 Name: opStartMigration, 6287 HTTPMethod: "POST", 6288 HTTPPath: "/", 6289 } 6290 6291 if input == nil { 6292 input = &StartMigrationInput{} 6293 } 6294 6295 output = &StartMigrationOutput{} 6296 req = c.newRequest(op, input, output) 6297 return 6298} 6299 6300// StartMigration API operation for Amazon ElastiCache. 6301// 6302// Start the migration of data. 6303// 6304// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6305// with awserr.Error's Code and Message methods to get detailed information about 6306// the error. 6307// 6308// See the AWS API reference guide for Amazon ElastiCache's 6309// API operation StartMigration for usage and error information. 6310// 6311// Returned Error Codes: 6312// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6313// The specified replication group does not exist. 6314// 6315// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6316// The requested replication group is not in the available state. 6317// 6318// * ErrCodeReplicationGroupAlreadyUnderMigrationFault "ReplicationGroupAlreadyUnderMigrationFault" 6319// The targeted replication group is not available. 6320// 6321// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6322// The value for a parameter is invalid. 6323// 6324// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 6325func (c *ElastiCache) StartMigration(input *StartMigrationInput) (*StartMigrationOutput, error) { 6326 req, out := c.StartMigrationRequest(input) 6327 return out, req.Send() 6328} 6329 6330// StartMigrationWithContext is the same as StartMigration with the addition of 6331// the ability to pass a context and additional request options. 6332// 6333// See StartMigration for details on how to use this API operation. 6334// 6335// The context must be non-nil and will be used for request cancellation. If 6336// the context is nil a panic will occur. In the future the SDK may create 6337// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6338// for more information on using Contexts. 6339func (c *ElastiCache) StartMigrationWithContext(ctx aws.Context, input *StartMigrationInput, opts ...request.Option) (*StartMigrationOutput, error) { 6340 req, out := c.StartMigrationRequest(input) 6341 req.SetContext(ctx) 6342 req.ApplyOptions(opts...) 6343 return out, req.Send() 6344} 6345 6346const opTestFailover = "TestFailover" 6347 6348// TestFailoverRequest generates a "aws/request.Request" representing the 6349// client's request for the TestFailover operation. The "output" return 6350// value will be populated with the request's response once the request completes 6351// successfully. 6352// 6353// Use "Send" method on the returned Request to send the API call to the service. 6354// the "output" return value is not valid until after Send returns without error. 6355// 6356// See TestFailover for more information on using the TestFailover 6357// API call, and error handling. 6358// 6359// This method is useful when you want to inject custom logic or configuration 6360// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6361// 6362// 6363// // Example sending a request using the TestFailoverRequest method. 6364// req, resp := client.TestFailoverRequest(params) 6365// 6366// err := req.Send() 6367// if err == nil { // resp is now filled 6368// fmt.Println(resp) 6369// } 6370// 6371// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 6372func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *request.Request, output *TestFailoverOutput) { 6373 op := &request.Operation{ 6374 Name: opTestFailover, 6375 HTTPMethod: "POST", 6376 HTTPPath: "/", 6377 } 6378 6379 if input == nil { 6380 input = &TestFailoverInput{} 6381 } 6382 6383 output = &TestFailoverOutput{} 6384 req = c.newRequest(op, input, output) 6385 return 6386} 6387 6388// TestFailover API operation for Amazon ElastiCache. 6389// 6390// Represents the input of a TestFailover operation which test automatic failover 6391// on a specified node group (called shard in the console) in a replication 6392// group (called cluster in the console). 6393// 6394// Note the following 6395// 6396// * A customer can use this operation to test automatic failover on up to 6397// 5 shards (called node groups in the ElastiCache API and AWS CLI) in any 6398// rolling 24-hour period. 6399// 6400// * If calling this operation on shards in different clusters (called replication 6401// groups in the API and CLI), the calls can be made concurrently. 6402// 6403// * If calling this operation multiple times on different shards in the 6404// same Redis (cluster mode enabled) replication group, the first node replacement 6405// must complete before a subsequent call can be made. 6406// 6407// * To determine whether the node replacement is complete you can check 6408// Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache 6409// API. Look for the following automatic failover related events, listed 6410// here in order of occurrance: Replication group message: Test Failover 6411// API called for node group <node-group-id> Cache cluster message: Failover 6412// from master node <primary-node-id> to replica node <node-id> completed 6413// Replication group message: Failover from master node <primary-node-id> 6414// to replica node <node-id> completed Cache cluster message: Recovering 6415// cache nodes <node-id> Cache cluster message: Finished recovery for cache 6416// nodes <node-id> For more information see: Viewing ElastiCache Events (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) 6417// in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 6418// in the ElastiCache API Reference 6419// 6420// Also see, Testing Multi-AZ with Automatic Failover (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) 6421// in the ElastiCache User Guide. 6422// 6423// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6424// with awserr.Error's Code and Message methods to get detailed information about 6425// the error. 6426// 6427// See the AWS API reference guide for Amazon ElastiCache's 6428// API operation TestFailover for usage and error information. 6429// 6430// Returned Error Codes: 6431// * ErrCodeAPICallRateForCustomerExceededFault "APICallRateForCustomerExceeded" 6432// The customer has exceeded the allowed rate of API calls. 6433// 6434// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6435// The requested cluster is not in the available state. 6436// 6437// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6438// The requested replication group is not in the available state. 6439// 6440// * ErrCodeNodeGroupNotFoundFault "NodeGroupNotFoundFault" 6441// The node group specified by the NodeGroupId parameter could not be found. 6442// Please verify that the node group exists and that you spelled the NodeGroupId 6443// value correctly. 6444// 6445// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6446// The specified replication group does not exist. 6447// 6448// * ErrCodeTestFailoverNotAvailableFault "TestFailoverNotAvailableFault" 6449// The TestFailover action is not available. 6450// 6451// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 6452// The KMS key supplied is not valid. 6453// 6454// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6455// The value for a parameter is invalid. 6456// 6457// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6458// Two or more incompatible parameters were specified. 6459// 6460// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 6461func (c *ElastiCache) TestFailover(input *TestFailoverInput) (*TestFailoverOutput, error) { 6462 req, out := c.TestFailoverRequest(input) 6463 return out, req.Send() 6464} 6465 6466// TestFailoverWithContext is the same as TestFailover with the addition of 6467// the ability to pass a context and additional request options. 6468// 6469// See TestFailover for details on how to use this API operation. 6470// 6471// The context must be non-nil and will be used for request cancellation. If 6472// the context is nil a panic will occur. In the future the SDK may create 6473// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6474// for more information on using Contexts. 6475func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailoverInput, opts ...request.Option) (*TestFailoverOutput, error) { 6476 req, out := c.TestFailoverRequest(input) 6477 req.SetContext(ctx) 6478 req.ApplyOptions(opts...) 6479 return out, req.Send() 6480} 6481 6482// Represents the input of an AddTagsToResource operation. 6483type AddTagsToResourceInput struct { 6484 _ struct{} `type:"structure"` 6485 6486 // The Amazon Resource Name (ARN) of the resource to which the tags are to be 6487 // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 6488 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache 6489 // resources are cluster and snapshot. 6490 // 6491 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 6492 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6493 // 6494 // ResourceName is a required field 6495 ResourceName *string `type:"string" required:"true"` 6496 6497 // A list of cost allocation tags to be added to this resource. A tag is a key-value 6498 // pair. A tag key must be accompanied by a tag value. 6499 // 6500 // Tags is a required field 6501 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 6502} 6503 6504// String returns the string representation 6505func (s AddTagsToResourceInput) String() string { 6506 return awsutil.Prettify(s) 6507} 6508 6509// GoString returns the string representation 6510func (s AddTagsToResourceInput) GoString() string { 6511 return s.String() 6512} 6513 6514// Validate inspects the fields of the type to determine if they are valid. 6515func (s *AddTagsToResourceInput) Validate() error { 6516 invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} 6517 if s.ResourceName == nil { 6518 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 6519 } 6520 if s.Tags == nil { 6521 invalidParams.Add(request.NewErrParamRequired("Tags")) 6522 } 6523 6524 if invalidParams.Len() > 0 { 6525 return invalidParams 6526 } 6527 return nil 6528} 6529 6530// SetResourceName sets the ResourceName field's value. 6531func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { 6532 s.ResourceName = &v 6533 return s 6534} 6535 6536// SetTags sets the Tags field's value. 6537func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { 6538 s.Tags = v 6539 return s 6540} 6541 6542// Represents the input of an AuthorizeCacheSecurityGroupIngress operation. 6543type AuthorizeCacheSecurityGroupIngressInput struct { 6544 _ struct{} `type:"structure"` 6545 6546 // The cache security group that allows network ingress. 6547 // 6548 // CacheSecurityGroupName is a required field 6549 CacheSecurityGroupName *string `type:"string" required:"true"` 6550 6551 // The Amazon EC2 security group to be authorized for ingress to the cache security 6552 // group. 6553 // 6554 // EC2SecurityGroupName is a required field 6555 EC2SecurityGroupName *string `type:"string" required:"true"` 6556 6557 // The AWS account number of the Amazon EC2 security group owner. Note that 6558 // this is not the same thing as an AWS access key ID - you must provide a valid 6559 // AWS account number for this parameter. 6560 // 6561 // EC2SecurityGroupOwnerId is a required field 6562 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 6563} 6564 6565// String returns the string representation 6566func (s AuthorizeCacheSecurityGroupIngressInput) String() string { 6567 return awsutil.Prettify(s) 6568} 6569 6570// GoString returns the string representation 6571func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { 6572 return s.String() 6573} 6574 6575// Validate inspects the fields of the type to determine if they are valid. 6576func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { 6577 invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} 6578 if s.CacheSecurityGroupName == nil { 6579 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 6580 } 6581 if s.EC2SecurityGroupName == nil { 6582 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 6583 } 6584 if s.EC2SecurityGroupOwnerId == nil { 6585 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 6586 } 6587 6588 if invalidParams.Len() > 0 { 6589 return invalidParams 6590 } 6591 return nil 6592} 6593 6594// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 6595func (s *AuthorizeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 6596 s.CacheSecurityGroupName = &v 6597 return s 6598} 6599 6600// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 6601func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 6602 s.EC2SecurityGroupName = &v 6603 return s 6604} 6605 6606// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 6607func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeCacheSecurityGroupIngressInput { 6608 s.EC2SecurityGroupOwnerId = &v 6609 return s 6610} 6611 6612type AuthorizeCacheSecurityGroupIngressOutput struct { 6613 _ struct{} `type:"structure"` 6614 6615 // Represents the output of one of the following operations: 6616 // 6617 // * AuthorizeCacheSecurityGroupIngress 6618 // 6619 // * CreateCacheSecurityGroup 6620 // 6621 // * RevokeCacheSecurityGroupIngress 6622 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 6623} 6624 6625// String returns the string representation 6626func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { 6627 return awsutil.Prettify(s) 6628} 6629 6630// GoString returns the string representation 6631func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { 6632 return s.String() 6633} 6634 6635// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 6636func (s *AuthorizeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *AuthorizeCacheSecurityGroupIngressOutput { 6637 s.CacheSecurityGroup = v 6638 return s 6639} 6640 6641// Describes an Availability Zone in which the cluster is launched. 6642type AvailabilityZone struct { 6643 _ struct{} `type:"structure"` 6644 6645 // The name of the Availability Zone. 6646 Name *string `type:"string"` 6647} 6648 6649// String returns the string representation 6650func (s AvailabilityZone) String() string { 6651 return awsutil.Prettify(s) 6652} 6653 6654// GoString returns the string representation 6655func (s AvailabilityZone) GoString() string { 6656 return s.String() 6657} 6658 6659// SetName sets the Name field's value. 6660func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 6661 s.Name = &v 6662 return s 6663} 6664 6665type BatchApplyUpdateActionInput struct { 6666 _ struct{} `type:"structure"` 6667 6668 // The cache cluster IDs 6669 CacheClusterIds []*string `type:"list"` 6670 6671 // The replication group IDs 6672 ReplicationGroupIds []*string `type:"list"` 6673 6674 // The unique ID of the service update 6675 // 6676 // ServiceUpdateName is a required field 6677 ServiceUpdateName *string `type:"string" required:"true"` 6678} 6679 6680// String returns the string representation 6681func (s BatchApplyUpdateActionInput) String() string { 6682 return awsutil.Prettify(s) 6683} 6684 6685// GoString returns the string representation 6686func (s BatchApplyUpdateActionInput) GoString() string { 6687 return s.String() 6688} 6689 6690// Validate inspects the fields of the type to determine if they are valid. 6691func (s *BatchApplyUpdateActionInput) Validate() error { 6692 invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} 6693 if s.ServiceUpdateName == nil { 6694 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 6695 } 6696 6697 if invalidParams.Len() > 0 { 6698 return invalidParams 6699 } 6700 return nil 6701} 6702 6703// SetCacheClusterIds sets the CacheClusterIds field's value. 6704func (s *BatchApplyUpdateActionInput) SetCacheClusterIds(v []*string) *BatchApplyUpdateActionInput { 6705 s.CacheClusterIds = v 6706 return s 6707} 6708 6709// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 6710func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { 6711 s.ReplicationGroupIds = v 6712 return s 6713} 6714 6715// SetServiceUpdateName sets the ServiceUpdateName field's value. 6716func (s *BatchApplyUpdateActionInput) SetServiceUpdateName(v string) *BatchApplyUpdateActionInput { 6717 s.ServiceUpdateName = &v 6718 return s 6719} 6720 6721type BatchApplyUpdateActionOutput struct { 6722 _ struct{} `type:"structure"` 6723 6724 // Update actions that have been processed successfully 6725 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 6726 6727 // Update actions that haven't been processed successfully 6728 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 6729} 6730 6731// String returns the string representation 6732func (s BatchApplyUpdateActionOutput) String() string { 6733 return awsutil.Prettify(s) 6734} 6735 6736// GoString returns the string representation 6737func (s BatchApplyUpdateActionOutput) GoString() string { 6738 return s.String() 6739} 6740 6741// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 6742func (s *BatchApplyUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchApplyUpdateActionOutput { 6743 s.ProcessedUpdateActions = v 6744 return s 6745} 6746 6747// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 6748func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchApplyUpdateActionOutput { 6749 s.UnprocessedUpdateActions = v 6750 return s 6751} 6752 6753type BatchStopUpdateActionInput struct { 6754 _ struct{} `type:"structure"` 6755 6756 // The cache cluster IDs 6757 CacheClusterIds []*string `type:"list"` 6758 6759 // The replication group IDs 6760 ReplicationGroupIds []*string `type:"list"` 6761 6762 // The unique ID of the service update 6763 // 6764 // ServiceUpdateName is a required field 6765 ServiceUpdateName *string `type:"string" required:"true"` 6766} 6767 6768// String returns the string representation 6769func (s BatchStopUpdateActionInput) String() string { 6770 return awsutil.Prettify(s) 6771} 6772 6773// GoString returns the string representation 6774func (s BatchStopUpdateActionInput) GoString() string { 6775 return s.String() 6776} 6777 6778// Validate inspects the fields of the type to determine if they are valid. 6779func (s *BatchStopUpdateActionInput) Validate() error { 6780 invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} 6781 if s.ServiceUpdateName == nil { 6782 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 6783 } 6784 6785 if invalidParams.Len() > 0 { 6786 return invalidParams 6787 } 6788 return nil 6789} 6790 6791// SetCacheClusterIds sets the CacheClusterIds field's value. 6792func (s *BatchStopUpdateActionInput) SetCacheClusterIds(v []*string) *BatchStopUpdateActionInput { 6793 s.CacheClusterIds = v 6794 return s 6795} 6796 6797// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 6798func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { 6799 s.ReplicationGroupIds = v 6800 return s 6801} 6802 6803// SetServiceUpdateName sets the ServiceUpdateName field's value. 6804func (s *BatchStopUpdateActionInput) SetServiceUpdateName(v string) *BatchStopUpdateActionInput { 6805 s.ServiceUpdateName = &v 6806 return s 6807} 6808 6809type BatchStopUpdateActionOutput struct { 6810 _ struct{} `type:"structure"` 6811 6812 // Update actions that have been processed successfully 6813 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 6814 6815 // Update actions that haven't been processed successfully 6816 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 6817} 6818 6819// String returns the string representation 6820func (s BatchStopUpdateActionOutput) String() string { 6821 return awsutil.Prettify(s) 6822} 6823 6824// GoString returns the string representation 6825func (s BatchStopUpdateActionOutput) GoString() string { 6826 return s.String() 6827} 6828 6829// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 6830func (s *BatchStopUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchStopUpdateActionOutput { 6831 s.ProcessedUpdateActions = v 6832 return s 6833} 6834 6835// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 6836func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchStopUpdateActionOutput { 6837 s.UnprocessedUpdateActions = v 6838 return s 6839} 6840 6841// Contains all of the attributes of a specific cluster. 6842type CacheCluster struct { 6843 _ struct{} `type:"structure"` 6844 6845 // The ARN (Amazon Resource Name) of the cache cluster. 6846 ARN *string `type:"string"` 6847 6848 // A flag that enables encryption at-rest when set to true. 6849 // 6850 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 6851 // is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled 6852 // to true when you create a cluster. 6853 // 6854 // Required: Only available when creating a replication group in an Amazon VPC 6855 // using redis version 3.2.6, 4.x or later. 6856 // 6857 // Default: false 6858 AtRestEncryptionEnabled *bool `type:"boolean"` 6859 6860 // A flag that enables using an AuthToken (password) when issuing Redis commands. 6861 // 6862 // Default: false 6863 AuthTokenEnabled *bool `type:"boolean"` 6864 6865 // The date the auth token was last modified 6866 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 6867 6868 // This parameter is currently disabled. 6869 AutoMinorVersionUpgrade *bool `type:"boolean"` 6870 6871 // The date and time when the cluster was created. 6872 CacheClusterCreateTime *time.Time `type:"timestamp"` 6873 6874 // The user-supplied identifier of the cluster. This identifier is a unique 6875 // key that identifies a cluster. 6876 CacheClusterId *string `type:"string"` 6877 6878 // The current state of this cluster, one of the following values: available, 6879 // creating, deleted, deleting, incompatible-network, modifying, rebooting cluster 6880 // nodes, restore-failed, or snapshotting. 6881 CacheClusterStatus *string `type:"string"` 6882 6883 // The name of the compute and memory capacity node type for the cluster. 6884 // 6885 // The following node types are supported by ElastiCache. Generally speaking, 6886 // the current generation types provide more memory and computational power 6887 // at lower cost when compared to their equivalent previous generation counterparts. 6888 // 6889 // * General purpose: Current generation: M5 node types: cache.m5.large, 6890 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 6891 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 6892 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 6893 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 6894 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 6895 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 6896 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 6897 // 6898 // * Compute optimized: Previous generation: (not recommended) C1 node types: 6899 // cache.c1.xlarge 6900 // 6901 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 6902 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 6903 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 6904 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 6905 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 6906 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 6907 // cache.r3.8xlarge 6908 // 6909 // Additional node type info 6910 // 6911 // * All current generation instance types are created in Amazon VPC by default. 6912 // 6913 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 6914 // 6915 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 6916 // 6917 // * Redis configuration variables appendonly and appendfsync are not supported 6918 // on Redis version 2.8.22 and later. 6919 CacheNodeType *string `type:"string"` 6920 6921 // A list of cache nodes that are members of the cluster. 6922 CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` 6923 6924 // Status of the cache parameter group. 6925 CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` 6926 6927 // A list of cache security group elements, composed of name and status sub-elements. 6928 CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` 6929 6930 // The name of the cache subnet group associated with the cluster. 6931 CacheSubnetGroupName *string `type:"string"` 6932 6933 // The URL of the web page where you can download the latest ElastiCache client 6934 // library. 6935 ClientDownloadLandingPage *string `type:"string"` 6936 6937 // Represents a Memcached cluster endpoint which, if Automatic Discovery is 6938 // enabled on the cluster, can be used by an application to connect to any node 6939 // in the cluster. The configuration endpoint will always have .cfg in it. 6940 // 6941 // Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 6942 ConfigurationEndpoint *Endpoint `type:"structure"` 6943 6944 // The name of the cache engine (memcached or redis) to be used for this cluster. 6945 Engine *string `type:"string"` 6946 6947 // The version of the cache engine that is used in this cluster. 6948 EngineVersion *string `type:"string"` 6949 6950 // Describes a notification topic and its status. Notification topics are used 6951 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 6952 // Service (SNS). 6953 NotificationConfiguration *NotificationConfiguration `type:"structure"` 6954 6955 // The number of cache nodes in the cluster. 6956 // 6957 // For clusters running Redis, this value must be 1. For clusters running Memcached, 6958 // this value must be between 1 and 20. 6959 NumCacheNodes *int64 `type:"integer"` 6960 6961 // A group of settings that are applied to the cluster in the future, or that 6962 // are currently being applied. 6963 PendingModifiedValues *PendingModifiedValues `type:"structure"` 6964 6965 // The name of the Availability Zone in which the cluster is located or "Multiple" 6966 // if the cache nodes are located in different Availability Zones. 6967 PreferredAvailabilityZone *string `type:"string"` 6968 6969 // Specifies the weekly time range during which maintenance on the cluster is 6970 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 6971 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 6972 // 6973 // Valid values for ddd are: 6974 // 6975 // * sun 6976 // 6977 // * mon 6978 // 6979 // * tue 6980 // 6981 // * wed 6982 // 6983 // * thu 6984 // 6985 // * fri 6986 // 6987 // * sat 6988 // 6989 // Example: sun:23:00-mon:01:30 6990 PreferredMaintenanceWindow *string `type:"string"` 6991 6992 // The replication group to which this cluster belongs. If this field is empty, 6993 // the cluster is not associated with any replication group. 6994 ReplicationGroupId *string `type:"string"` 6995 6996 // A list of VPC Security Groups associated with the cluster. 6997 SecurityGroups []*SecurityGroupMembership `type:"list"` 6998 6999 // The number of days for which ElastiCache retains automatic cluster snapshots 7000 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 7001 // a snapshot that was taken today is retained for 5 days before being deleted. 7002 // 7003 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 7004 // off. 7005 SnapshotRetentionLimit *int64 `type:"integer"` 7006 7007 // The daily time range (in UTC) during which ElastiCache begins taking a daily 7008 // snapshot of your cluster. 7009 // 7010 // Example: 05:00-09:00 7011 SnapshotWindow *string `type:"string"` 7012 7013 // A flag that enables in-transit encryption when set to true. 7014 // 7015 // You cannot modify the value of TransitEncryptionEnabled after the cluster 7016 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 7017 // to true when you create a cluster. 7018 // 7019 // Required: Only available when creating a replication group in an Amazon VPC 7020 // using redis version 3.2.6, 4.x or later. 7021 // 7022 // Default: false 7023 TransitEncryptionEnabled *bool `type:"boolean"` 7024} 7025 7026// String returns the string representation 7027func (s CacheCluster) String() string { 7028 return awsutil.Prettify(s) 7029} 7030 7031// GoString returns the string representation 7032func (s CacheCluster) GoString() string { 7033 return s.String() 7034} 7035 7036// SetARN sets the ARN field's value. 7037func (s *CacheCluster) SetARN(v string) *CacheCluster { 7038 s.ARN = &v 7039 return s 7040} 7041 7042// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 7043func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { 7044 s.AtRestEncryptionEnabled = &v 7045 return s 7046} 7047 7048// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 7049func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster { 7050 s.AuthTokenEnabled = &v 7051 return s 7052} 7053 7054// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 7055func (s *CacheCluster) SetAuthTokenLastModifiedDate(v time.Time) *CacheCluster { 7056 s.AuthTokenLastModifiedDate = &v 7057 return s 7058} 7059 7060// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 7061func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster { 7062 s.AutoMinorVersionUpgrade = &v 7063 return s 7064} 7065 7066// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 7067func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster { 7068 s.CacheClusterCreateTime = &v 7069 return s 7070} 7071 7072// SetCacheClusterId sets the CacheClusterId field's value. 7073func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster { 7074 s.CacheClusterId = &v 7075 return s 7076} 7077 7078// SetCacheClusterStatus sets the CacheClusterStatus field's value. 7079func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster { 7080 s.CacheClusterStatus = &v 7081 return s 7082} 7083 7084// SetCacheNodeType sets the CacheNodeType field's value. 7085func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster { 7086 s.CacheNodeType = &v 7087 return s 7088} 7089 7090// SetCacheNodes sets the CacheNodes field's value. 7091func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster { 7092 s.CacheNodes = v 7093 return s 7094} 7095 7096// SetCacheParameterGroup sets the CacheParameterGroup field's value. 7097func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster { 7098 s.CacheParameterGroup = v 7099 return s 7100} 7101 7102// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 7103func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster { 7104 s.CacheSecurityGroups = v 7105 return s 7106} 7107 7108// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7109func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster { 7110 s.CacheSubnetGroupName = &v 7111 return s 7112} 7113 7114// SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value. 7115func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster { 7116 s.ClientDownloadLandingPage = &v 7117 return s 7118} 7119 7120// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 7121func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster { 7122 s.ConfigurationEndpoint = v 7123 return s 7124} 7125 7126// SetEngine sets the Engine field's value. 7127func (s *CacheCluster) SetEngine(v string) *CacheCluster { 7128 s.Engine = &v 7129 return s 7130} 7131 7132// SetEngineVersion sets the EngineVersion field's value. 7133func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { 7134 s.EngineVersion = &v 7135 return s 7136} 7137 7138// SetNotificationConfiguration sets the NotificationConfiguration field's value. 7139func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { 7140 s.NotificationConfiguration = v 7141 return s 7142} 7143 7144// SetNumCacheNodes sets the NumCacheNodes field's value. 7145func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster { 7146 s.NumCacheNodes = &v 7147 return s 7148} 7149 7150// SetPendingModifiedValues sets the PendingModifiedValues field's value. 7151func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster { 7152 s.PendingModifiedValues = v 7153 return s 7154} 7155 7156// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 7157func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster { 7158 s.PreferredAvailabilityZone = &v 7159 return s 7160} 7161 7162// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 7163func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster { 7164 s.PreferredMaintenanceWindow = &v 7165 return s 7166} 7167 7168// SetReplicationGroupId sets the ReplicationGroupId field's value. 7169func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster { 7170 s.ReplicationGroupId = &v 7171 return s 7172} 7173 7174// SetSecurityGroups sets the SecurityGroups field's value. 7175func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster { 7176 s.SecurityGroups = v 7177 return s 7178} 7179 7180// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 7181func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster { 7182 s.SnapshotRetentionLimit = &v 7183 return s 7184} 7185 7186// SetSnapshotWindow sets the SnapshotWindow field's value. 7187func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster { 7188 s.SnapshotWindow = &v 7189 return s 7190} 7191 7192// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 7193func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster { 7194 s.TransitEncryptionEnabled = &v 7195 return s 7196} 7197 7198// Provides all of the details about a particular cache engine version. 7199type CacheEngineVersion struct { 7200 _ struct{} `type:"structure"` 7201 7202 // The description of the cache engine. 7203 CacheEngineDescription *string `type:"string"` 7204 7205 // The description of the cache engine version. 7206 CacheEngineVersionDescription *string `type:"string"` 7207 7208 // The name of the cache parameter group family associated with this cache engine. 7209 // 7210 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 7211 // | redis4.0 | redis5.0 | 7212 CacheParameterGroupFamily *string `type:"string"` 7213 7214 // The name of the cache engine. 7215 Engine *string `type:"string"` 7216 7217 // The version number of the cache engine. 7218 EngineVersion *string `type:"string"` 7219} 7220 7221// String returns the string representation 7222func (s CacheEngineVersion) String() string { 7223 return awsutil.Prettify(s) 7224} 7225 7226// GoString returns the string representation 7227func (s CacheEngineVersion) GoString() string { 7228 return s.String() 7229} 7230 7231// SetCacheEngineDescription sets the CacheEngineDescription field's value. 7232func (s *CacheEngineVersion) SetCacheEngineDescription(v string) *CacheEngineVersion { 7233 s.CacheEngineDescription = &v 7234 return s 7235} 7236 7237// SetCacheEngineVersionDescription sets the CacheEngineVersionDescription field's value. 7238func (s *CacheEngineVersion) SetCacheEngineVersionDescription(v string) *CacheEngineVersion { 7239 s.CacheEngineVersionDescription = &v 7240 return s 7241} 7242 7243// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 7244func (s *CacheEngineVersion) SetCacheParameterGroupFamily(v string) *CacheEngineVersion { 7245 s.CacheParameterGroupFamily = &v 7246 return s 7247} 7248 7249// SetEngine sets the Engine field's value. 7250func (s *CacheEngineVersion) SetEngine(v string) *CacheEngineVersion { 7251 s.Engine = &v 7252 return s 7253} 7254 7255// SetEngineVersion sets the EngineVersion field's value. 7256func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { 7257 s.EngineVersion = &v 7258 return s 7259} 7260 7261// Represents an individual cache node within a cluster. Each cache node runs 7262// its own instance of the cluster's protocol-compliant caching software - either 7263// Memcached or Redis. 7264// 7265// The following node types are supported by ElastiCache. Generally speaking, 7266// the current generation types provide more memory and computational power 7267// at lower cost when compared to their equivalent previous generation counterparts. 7268// 7269// * General purpose: Current generation: M5 node types: cache.m5.large, 7270// cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 7271// cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 7272// cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 7273// cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 7274// Previous generation: (not recommended) T1 node types: cache.t1.micro M1 7275// node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 7276// M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 7277// 7278// * Compute optimized: Previous generation: (not recommended) C1 node types: 7279// cache.c1.xlarge 7280// 7281// * Memory optimized: Current generation: R5 node types: cache.r5.large, 7282// cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 7283// cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 7284// cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 7285// (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 7286// R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 7287// cache.r3.8xlarge 7288// 7289// Additional node type info 7290// 7291// * All current generation instance types are created in Amazon VPC by default. 7292// 7293// * Redis append-only files (AOF) are not supported for T1 or T2 instances. 7294// 7295// * Redis Multi-AZ with automatic failover is not supported on T1 instances. 7296// 7297// * Redis configuration variables appendonly and appendfsync are not supported 7298// on Redis version 2.8.22 and later. 7299type CacheNode struct { 7300 _ struct{} `type:"structure"` 7301 7302 // The date and time when the cache node was created. 7303 CacheNodeCreateTime *time.Time `type:"timestamp"` 7304 7305 // The cache node identifier. A node ID is a numeric identifier (0001, 0002, 7306 // etc.). The combination of cluster ID and node ID uniquely identifies every 7307 // cache node used in a customer's AWS account. 7308 CacheNodeId *string `type:"string"` 7309 7310 // The current state of this cache node, one of the following values: available, 7311 // creating, rebooting, or deleting. 7312 CacheNodeStatus *string `type:"string"` 7313 7314 // The Availability Zone where this node was created and now resides. 7315 CustomerAvailabilityZone *string `type:"string"` 7316 7317 // The hostname for connecting to this cache node. 7318 Endpoint *Endpoint `type:"structure"` 7319 7320 // The status of the parameter group applied to this cache node. 7321 ParameterGroupStatus *string `type:"string"` 7322 7323 // The ID of the primary node to which this read replica node is synchronized. 7324 // If this field is empty, this node is not associated with a primary cluster. 7325 SourceCacheNodeId *string `type:"string"` 7326} 7327 7328// String returns the string representation 7329func (s CacheNode) String() string { 7330 return awsutil.Prettify(s) 7331} 7332 7333// GoString returns the string representation 7334func (s CacheNode) GoString() string { 7335 return s.String() 7336} 7337 7338// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 7339func (s *CacheNode) SetCacheNodeCreateTime(v time.Time) *CacheNode { 7340 s.CacheNodeCreateTime = &v 7341 return s 7342} 7343 7344// SetCacheNodeId sets the CacheNodeId field's value. 7345func (s *CacheNode) SetCacheNodeId(v string) *CacheNode { 7346 s.CacheNodeId = &v 7347 return s 7348} 7349 7350// SetCacheNodeStatus sets the CacheNodeStatus field's value. 7351func (s *CacheNode) SetCacheNodeStatus(v string) *CacheNode { 7352 s.CacheNodeStatus = &v 7353 return s 7354} 7355 7356// SetCustomerAvailabilityZone sets the CustomerAvailabilityZone field's value. 7357func (s *CacheNode) SetCustomerAvailabilityZone(v string) *CacheNode { 7358 s.CustomerAvailabilityZone = &v 7359 return s 7360} 7361 7362// SetEndpoint sets the Endpoint field's value. 7363func (s *CacheNode) SetEndpoint(v *Endpoint) *CacheNode { 7364 s.Endpoint = v 7365 return s 7366} 7367 7368// SetParameterGroupStatus sets the ParameterGroupStatus field's value. 7369func (s *CacheNode) SetParameterGroupStatus(v string) *CacheNode { 7370 s.ParameterGroupStatus = &v 7371 return s 7372} 7373 7374// SetSourceCacheNodeId sets the SourceCacheNodeId field's value. 7375func (s *CacheNode) SetSourceCacheNodeId(v string) *CacheNode { 7376 s.SourceCacheNodeId = &v 7377 return s 7378} 7379 7380// A parameter that has a different value for each cache node type it is applied 7381// to. For example, in a Redis cluster, a cache.m1.large cache node type would 7382// have a larger maxmemory value than a cache.m1.small type. 7383type CacheNodeTypeSpecificParameter struct { 7384 _ struct{} `type:"structure"` 7385 7386 // The valid range of values for the parameter. 7387 AllowedValues *string `type:"string"` 7388 7389 // A list of cache node types and their corresponding values for this parameter. 7390 CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` 7391 7392 // Indicates whether a change to the parameter is applied immediately or requires 7393 // a reboot for the change to be applied. You can force a reboot or wait until 7394 // the next maintenance window's reboot. For more information, see Rebooting 7395 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 7396 ChangeType *string `type:"string" enum:"ChangeType"` 7397 7398 // The valid data type for the parameter. 7399 DataType *string `type:"string"` 7400 7401 // A description of the parameter. 7402 Description *string `type:"string"` 7403 7404 // Indicates whether (true) or not (false) the parameter can be modified. Some 7405 // parameters have security or operational implications that prevent them from 7406 // being changed. 7407 IsModifiable *bool `type:"boolean"` 7408 7409 // The earliest cache engine version to which the parameter can apply. 7410 MinimumEngineVersion *string `type:"string"` 7411 7412 // The name of the parameter. 7413 ParameterName *string `type:"string"` 7414 7415 // The source of the parameter value. 7416 Source *string `type:"string"` 7417} 7418 7419// String returns the string representation 7420func (s CacheNodeTypeSpecificParameter) String() string { 7421 return awsutil.Prettify(s) 7422} 7423 7424// GoString returns the string representation 7425func (s CacheNodeTypeSpecificParameter) GoString() string { 7426 return s.String() 7427} 7428 7429// SetAllowedValues sets the AllowedValues field's value. 7430func (s *CacheNodeTypeSpecificParameter) SetAllowedValues(v string) *CacheNodeTypeSpecificParameter { 7431 s.AllowedValues = &v 7432 return s 7433} 7434 7435// SetCacheNodeTypeSpecificValues sets the CacheNodeTypeSpecificValues field's value. 7436func (s *CacheNodeTypeSpecificParameter) SetCacheNodeTypeSpecificValues(v []*CacheNodeTypeSpecificValue) *CacheNodeTypeSpecificParameter { 7437 s.CacheNodeTypeSpecificValues = v 7438 return s 7439} 7440 7441// SetChangeType sets the ChangeType field's value. 7442func (s *CacheNodeTypeSpecificParameter) SetChangeType(v string) *CacheNodeTypeSpecificParameter { 7443 s.ChangeType = &v 7444 return s 7445} 7446 7447// SetDataType sets the DataType field's value. 7448func (s *CacheNodeTypeSpecificParameter) SetDataType(v string) *CacheNodeTypeSpecificParameter { 7449 s.DataType = &v 7450 return s 7451} 7452 7453// SetDescription sets the Description field's value. 7454func (s *CacheNodeTypeSpecificParameter) SetDescription(v string) *CacheNodeTypeSpecificParameter { 7455 s.Description = &v 7456 return s 7457} 7458 7459// SetIsModifiable sets the IsModifiable field's value. 7460func (s *CacheNodeTypeSpecificParameter) SetIsModifiable(v bool) *CacheNodeTypeSpecificParameter { 7461 s.IsModifiable = &v 7462 return s 7463} 7464 7465// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 7466func (s *CacheNodeTypeSpecificParameter) SetMinimumEngineVersion(v string) *CacheNodeTypeSpecificParameter { 7467 s.MinimumEngineVersion = &v 7468 return s 7469} 7470 7471// SetParameterName sets the ParameterName field's value. 7472func (s *CacheNodeTypeSpecificParameter) SetParameterName(v string) *CacheNodeTypeSpecificParameter { 7473 s.ParameterName = &v 7474 return s 7475} 7476 7477// SetSource sets the Source field's value. 7478func (s *CacheNodeTypeSpecificParameter) SetSource(v string) *CacheNodeTypeSpecificParameter { 7479 s.Source = &v 7480 return s 7481} 7482 7483// A value that applies only to a certain cache node type. 7484type CacheNodeTypeSpecificValue struct { 7485 _ struct{} `type:"structure"` 7486 7487 // The cache node type for which this value applies. 7488 CacheNodeType *string `type:"string"` 7489 7490 // The value for the cache node type. 7491 Value *string `type:"string"` 7492} 7493 7494// String returns the string representation 7495func (s CacheNodeTypeSpecificValue) String() string { 7496 return awsutil.Prettify(s) 7497} 7498 7499// GoString returns the string representation 7500func (s CacheNodeTypeSpecificValue) GoString() string { 7501 return s.String() 7502} 7503 7504// SetCacheNodeType sets the CacheNodeType field's value. 7505func (s *CacheNodeTypeSpecificValue) SetCacheNodeType(v string) *CacheNodeTypeSpecificValue { 7506 s.CacheNodeType = &v 7507 return s 7508} 7509 7510// SetValue sets the Value field's value. 7511func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificValue { 7512 s.Value = &v 7513 return s 7514} 7515 7516// The status of the service update on the cache node 7517type CacheNodeUpdateStatus struct { 7518 _ struct{} `type:"structure"` 7519 7520 // The node ID of the cache cluster 7521 CacheNodeId *string `type:"string"` 7522 7523 // The deletion date of the node 7524 NodeDeletionDate *time.Time `type:"timestamp"` 7525 7526 // The end date of the update for a node 7527 NodeUpdateEndDate *time.Time `type:"timestamp"` 7528 7529 // Reflects whether the update was initiated by the customer or automatically 7530 // applied 7531 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 7532 7533 // The date when the update is triggered 7534 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 7535 7536 // The start date of the update for a node 7537 NodeUpdateStartDate *time.Time `type:"timestamp"` 7538 7539 // The update status of the node 7540 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 7541 7542 // The date when the NodeUpdateStatus was last modified> 7543 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 7544} 7545 7546// String returns the string representation 7547func (s CacheNodeUpdateStatus) String() string { 7548 return awsutil.Prettify(s) 7549} 7550 7551// GoString returns the string representation 7552func (s CacheNodeUpdateStatus) GoString() string { 7553 return s.String() 7554} 7555 7556// SetCacheNodeId sets the CacheNodeId field's value. 7557func (s *CacheNodeUpdateStatus) SetCacheNodeId(v string) *CacheNodeUpdateStatus { 7558 s.CacheNodeId = &v 7559 return s 7560} 7561 7562// SetNodeDeletionDate sets the NodeDeletionDate field's value. 7563func (s *CacheNodeUpdateStatus) SetNodeDeletionDate(v time.Time) *CacheNodeUpdateStatus { 7564 s.NodeDeletionDate = &v 7565 return s 7566} 7567 7568// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 7569func (s *CacheNodeUpdateStatus) SetNodeUpdateEndDate(v time.Time) *CacheNodeUpdateStatus { 7570 s.NodeUpdateEndDate = &v 7571 return s 7572} 7573 7574// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 7575func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedBy(v string) *CacheNodeUpdateStatus { 7576 s.NodeUpdateInitiatedBy = &v 7577 return s 7578} 7579 7580// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 7581func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *CacheNodeUpdateStatus { 7582 s.NodeUpdateInitiatedDate = &v 7583 return s 7584} 7585 7586// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 7587func (s *CacheNodeUpdateStatus) SetNodeUpdateStartDate(v time.Time) *CacheNodeUpdateStatus { 7588 s.NodeUpdateStartDate = &v 7589 return s 7590} 7591 7592// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 7593func (s *CacheNodeUpdateStatus) SetNodeUpdateStatus(v string) *CacheNodeUpdateStatus { 7594 s.NodeUpdateStatus = &v 7595 return s 7596} 7597 7598// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 7599func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *CacheNodeUpdateStatus { 7600 s.NodeUpdateStatusModifiedDate = &v 7601 return s 7602} 7603 7604// Represents the output of a CreateCacheParameterGroup operation. 7605type CacheParameterGroup struct { 7606 _ struct{} `type:"structure"` 7607 7608 // The ARN (Amazon Resource Name) of the cache parameter group. 7609 ARN *string `type:"string"` 7610 7611 // The name of the cache parameter group family that this cache parameter group 7612 // is compatible with. 7613 // 7614 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 7615 // | redis4.0 | redis5.0 | 7616 CacheParameterGroupFamily *string `type:"string"` 7617 7618 // The name of the cache parameter group. 7619 CacheParameterGroupName *string `type:"string"` 7620 7621 // The description for this cache parameter group. 7622 Description *string `type:"string"` 7623 7624 // Indicates whether the parameter group is associated with a Global Datastore 7625 IsGlobal *bool `type:"boolean"` 7626} 7627 7628// String returns the string representation 7629func (s CacheParameterGroup) String() string { 7630 return awsutil.Prettify(s) 7631} 7632 7633// GoString returns the string representation 7634func (s CacheParameterGroup) GoString() string { 7635 return s.String() 7636} 7637 7638// SetARN sets the ARN field's value. 7639func (s *CacheParameterGroup) SetARN(v string) *CacheParameterGroup { 7640 s.ARN = &v 7641 return s 7642} 7643 7644// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 7645func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { 7646 s.CacheParameterGroupFamily = &v 7647 return s 7648} 7649 7650// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7651func (s *CacheParameterGroup) SetCacheParameterGroupName(v string) *CacheParameterGroup { 7652 s.CacheParameterGroupName = &v 7653 return s 7654} 7655 7656// SetDescription sets the Description field's value. 7657func (s *CacheParameterGroup) SetDescription(v string) *CacheParameterGroup { 7658 s.Description = &v 7659 return s 7660} 7661 7662// SetIsGlobal sets the IsGlobal field's value. 7663func (s *CacheParameterGroup) SetIsGlobal(v bool) *CacheParameterGroup { 7664 s.IsGlobal = &v 7665 return s 7666} 7667 7668// Represents the output of one of the following operations: 7669// 7670// * ModifyCacheParameterGroup 7671// 7672// * ResetCacheParameterGroup 7673type CacheParameterGroupNameMessage struct { 7674 _ struct{} `type:"structure"` 7675 7676 // The name of the cache parameter group. 7677 CacheParameterGroupName *string `type:"string"` 7678} 7679 7680// String returns the string representation 7681func (s CacheParameterGroupNameMessage) String() string { 7682 return awsutil.Prettify(s) 7683} 7684 7685// GoString returns the string representation 7686func (s CacheParameterGroupNameMessage) GoString() string { 7687 return s.String() 7688} 7689 7690// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7691func (s *CacheParameterGroupNameMessage) SetCacheParameterGroupName(v string) *CacheParameterGroupNameMessage { 7692 s.CacheParameterGroupName = &v 7693 return s 7694} 7695 7696// Status of the cache parameter group. 7697type CacheParameterGroupStatus struct { 7698 _ struct{} `type:"structure"` 7699 7700 // A list of the cache node IDs which need to be rebooted for parameter changes 7701 // to be applied. A node ID is a numeric identifier (0001, 0002, etc.). 7702 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"` 7703 7704 // The name of the cache parameter group. 7705 CacheParameterGroupName *string `type:"string"` 7706 7707 // The status of parameter updates. 7708 ParameterApplyStatus *string `type:"string"` 7709} 7710 7711// String returns the string representation 7712func (s CacheParameterGroupStatus) String() string { 7713 return awsutil.Prettify(s) 7714} 7715 7716// GoString returns the string representation 7717func (s CacheParameterGroupStatus) GoString() string { 7718 return s.String() 7719} 7720 7721// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 7722func (s *CacheParameterGroupStatus) SetCacheNodeIdsToReboot(v []*string) *CacheParameterGroupStatus { 7723 s.CacheNodeIdsToReboot = v 7724 return s 7725} 7726 7727// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7728func (s *CacheParameterGroupStatus) SetCacheParameterGroupName(v string) *CacheParameterGroupStatus { 7729 s.CacheParameterGroupName = &v 7730 return s 7731} 7732 7733// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 7734func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CacheParameterGroupStatus { 7735 s.ParameterApplyStatus = &v 7736 return s 7737} 7738 7739// Represents the output of one of the following operations: 7740// 7741// * AuthorizeCacheSecurityGroupIngress 7742// 7743// * CreateCacheSecurityGroup 7744// 7745// * RevokeCacheSecurityGroupIngress 7746type CacheSecurityGroup struct { 7747 _ struct{} `type:"structure"` 7748 7749 // The ARN (Amazon Resource Name) of the cache security group. 7750 ARN *string `type:"string"` 7751 7752 // The name of the cache security group. 7753 CacheSecurityGroupName *string `type:"string"` 7754 7755 // The description of the cache security group. 7756 Description *string `type:"string"` 7757 7758 // A list of Amazon EC2 security groups that are associated with this cache 7759 // security group. 7760 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 7761 7762 // The AWS account ID of the cache security group owner. 7763 OwnerId *string `type:"string"` 7764} 7765 7766// String returns the string representation 7767func (s CacheSecurityGroup) String() string { 7768 return awsutil.Prettify(s) 7769} 7770 7771// GoString returns the string representation 7772func (s CacheSecurityGroup) GoString() string { 7773 return s.String() 7774} 7775 7776// SetARN sets the ARN field's value. 7777func (s *CacheSecurityGroup) SetARN(v string) *CacheSecurityGroup { 7778 s.ARN = &v 7779 return s 7780} 7781 7782// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7783func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { 7784 s.CacheSecurityGroupName = &v 7785 return s 7786} 7787 7788// SetDescription sets the Description field's value. 7789func (s *CacheSecurityGroup) SetDescription(v string) *CacheSecurityGroup { 7790 s.Description = &v 7791 return s 7792} 7793 7794// SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 7795func (s *CacheSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *CacheSecurityGroup { 7796 s.EC2SecurityGroups = v 7797 return s 7798} 7799 7800// SetOwnerId sets the OwnerId field's value. 7801func (s *CacheSecurityGroup) SetOwnerId(v string) *CacheSecurityGroup { 7802 s.OwnerId = &v 7803 return s 7804} 7805 7806// Represents a cluster's status within a particular cache security group. 7807type CacheSecurityGroupMembership struct { 7808 _ struct{} `type:"structure"` 7809 7810 // The name of the cache security group. 7811 CacheSecurityGroupName *string `type:"string"` 7812 7813 // The membership status in the cache security group. The status changes when 7814 // a cache security group is modified, or when the cache security groups assigned 7815 // to a cluster are modified. 7816 Status *string `type:"string"` 7817} 7818 7819// String returns the string representation 7820func (s CacheSecurityGroupMembership) String() string { 7821 return awsutil.Prettify(s) 7822} 7823 7824// GoString returns the string representation 7825func (s CacheSecurityGroupMembership) GoString() string { 7826 return s.String() 7827} 7828 7829// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7830func (s *CacheSecurityGroupMembership) SetCacheSecurityGroupName(v string) *CacheSecurityGroupMembership { 7831 s.CacheSecurityGroupName = &v 7832 return s 7833} 7834 7835// SetStatus sets the Status field's value. 7836func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMembership { 7837 s.Status = &v 7838 return s 7839} 7840 7841// Represents the output of one of the following operations: 7842// 7843// * CreateCacheSubnetGroup 7844// 7845// * ModifyCacheSubnetGroup 7846type CacheSubnetGroup struct { 7847 _ struct{} `type:"structure"` 7848 7849 // The ARN (Amazon Resource Name) of the cache subnet group. 7850 ARN *string `type:"string"` 7851 7852 // The description of the cache subnet group. 7853 CacheSubnetGroupDescription *string `type:"string"` 7854 7855 // The name of the cache subnet group. 7856 CacheSubnetGroupName *string `type:"string"` 7857 7858 // A list of subnets associated with the cache subnet group. 7859 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 7860 7861 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 7862 // group. 7863 VpcId *string `type:"string"` 7864} 7865 7866// String returns the string representation 7867func (s CacheSubnetGroup) String() string { 7868 return awsutil.Prettify(s) 7869} 7870 7871// GoString returns the string representation 7872func (s CacheSubnetGroup) GoString() string { 7873 return s.String() 7874} 7875 7876// SetARN sets the ARN field's value. 7877func (s *CacheSubnetGroup) SetARN(v string) *CacheSubnetGroup { 7878 s.ARN = &v 7879 return s 7880} 7881 7882// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 7883func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { 7884 s.CacheSubnetGroupDescription = &v 7885 return s 7886} 7887 7888// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7889func (s *CacheSubnetGroup) SetCacheSubnetGroupName(v string) *CacheSubnetGroup { 7890 s.CacheSubnetGroupName = &v 7891 return s 7892} 7893 7894// SetSubnets sets the Subnets field's value. 7895func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { 7896 s.Subnets = v 7897 return s 7898} 7899 7900// SetVpcId sets the VpcId field's value. 7901func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { 7902 s.VpcId = &v 7903 return s 7904} 7905 7906type CompleteMigrationInput struct { 7907 _ struct{} `type:"structure"` 7908 7909 // Forces the migration to stop without ensuring that data is in sync. It is 7910 // recommended to use this option only to abort the migration and not recommended 7911 // when application wants to continue migration to ElastiCache. 7912 Force *bool `type:"boolean"` 7913 7914 // The ID of the replication group to which data is being migrated. 7915 // 7916 // ReplicationGroupId is a required field 7917 ReplicationGroupId *string `type:"string" required:"true"` 7918} 7919 7920// String returns the string representation 7921func (s CompleteMigrationInput) String() string { 7922 return awsutil.Prettify(s) 7923} 7924 7925// GoString returns the string representation 7926func (s CompleteMigrationInput) GoString() string { 7927 return s.String() 7928} 7929 7930// Validate inspects the fields of the type to determine if they are valid. 7931func (s *CompleteMigrationInput) Validate() error { 7932 invalidParams := request.ErrInvalidParams{Context: "CompleteMigrationInput"} 7933 if s.ReplicationGroupId == nil { 7934 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 7935 } 7936 7937 if invalidParams.Len() > 0 { 7938 return invalidParams 7939 } 7940 return nil 7941} 7942 7943// SetForce sets the Force field's value. 7944func (s *CompleteMigrationInput) SetForce(v bool) *CompleteMigrationInput { 7945 s.Force = &v 7946 return s 7947} 7948 7949// SetReplicationGroupId sets the ReplicationGroupId field's value. 7950func (s *CompleteMigrationInput) SetReplicationGroupId(v string) *CompleteMigrationInput { 7951 s.ReplicationGroupId = &v 7952 return s 7953} 7954 7955type CompleteMigrationOutput struct { 7956 _ struct{} `type:"structure"` 7957 7958 // Contains all of the attributes of a specific Redis replication group. 7959 ReplicationGroup *ReplicationGroup `type:"structure"` 7960} 7961 7962// String returns the string representation 7963func (s CompleteMigrationOutput) String() string { 7964 return awsutil.Prettify(s) 7965} 7966 7967// GoString returns the string representation 7968func (s CompleteMigrationOutput) GoString() string { 7969 return s.String() 7970} 7971 7972// SetReplicationGroup sets the ReplicationGroup field's value. 7973func (s *CompleteMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *CompleteMigrationOutput { 7974 s.ReplicationGroup = v 7975 return s 7976} 7977 7978// Node group (shard) configuration options when adding or removing replicas. 7979// Each node group (shard) configuration has the following members: NodeGroupId, 7980// NewReplicaCount, and PreferredAvailabilityZones. 7981type ConfigureShard struct { 7982 _ struct{} `type:"structure"` 7983 7984 // The number of replicas you want in this node group at the end of this operation. 7985 // The maximum value for NewReplicaCount is 5. The minimum value depends upon 7986 // the type of Redis replication group you are working with. 7987 // 7988 // The minimum number of replicas in a shard or replication group is: 7989 // 7990 // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is 7991 // enabled: 1 If Multi-AZ with Automatic Failover is not enable: 0 7992 // 7993 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 7994 // to a replica if your primary node fails) 7995 // 7996 // NewReplicaCount is a required field 7997 NewReplicaCount *int64 `type:"integer" required:"true"` 7998 7999 // The 4-digit id for the node group you are configuring. For Redis (cluster 8000 // mode disabled) replication groups, the node group id is always 0001. To find 8001 // a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a 8002 // Shard's Id (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html). 8003 // 8004 // NodeGroupId is a required field 8005 NodeGroupId *string `min:"1" type:"string" required:"true"` 8006 8007 // A list of PreferredAvailabilityZone strings that specify which availability 8008 // zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone 8009 // values must equal the value of NewReplicaCount plus 1 to account for the 8010 // primary node. If this member of ReplicaConfiguration is omitted, ElastiCache 8011 // for Redis selects the availability zone for each of the replicas. 8012 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 8013} 8014 8015// String returns the string representation 8016func (s ConfigureShard) String() string { 8017 return awsutil.Prettify(s) 8018} 8019 8020// GoString returns the string representation 8021func (s ConfigureShard) GoString() string { 8022 return s.String() 8023} 8024 8025// Validate inspects the fields of the type to determine if they are valid. 8026func (s *ConfigureShard) Validate() error { 8027 invalidParams := request.ErrInvalidParams{Context: "ConfigureShard"} 8028 if s.NewReplicaCount == nil { 8029 invalidParams.Add(request.NewErrParamRequired("NewReplicaCount")) 8030 } 8031 if s.NodeGroupId == nil { 8032 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 8033 } 8034 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 8035 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 8036 } 8037 8038 if invalidParams.Len() > 0 { 8039 return invalidParams 8040 } 8041 return nil 8042} 8043 8044// SetNewReplicaCount sets the NewReplicaCount field's value. 8045func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { 8046 s.NewReplicaCount = &v 8047 return s 8048} 8049 8050// SetNodeGroupId sets the NodeGroupId field's value. 8051func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { 8052 s.NodeGroupId = &v 8053 return s 8054} 8055 8056// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 8057func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { 8058 s.PreferredAvailabilityZones = v 8059 return s 8060} 8061 8062// Represents the input of a CopySnapshotMessage operation. 8063type CopySnapshotInput struct { 8064 _ struct{} `type:"structure"` 8065 8066 // The ID of the KMS key used to encrypt the target snapshot. 8067 KmsKeyId *string `type:"string"` 8068 8069 // The name of an existing snapshot from which to make a copy. 8070 // 8071 // SourceSnapshotName is a required field 8072 SourceSnapshotName *string `type:"string" required:"true"` 8073 8074 // The Amazon S3 bucket to which the snapshot is exported. This parameter is 8075 // used only when exporting a snapshot for external access. 8076 // 8077 // When using this parameter to export a snapshot, be sure Amazon ElastiCache 8078 // has the needed permissions to this S3 bucket. For more information, see Step 8079 // 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) 8080 // in the Amazon ElastiCache User Guide. 8081 // 8082 // For more information, see Exporting a Snapshot (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html) 8083 // in the Amazon ElastiCache User Guide. 8084 TargetBucket *string `type:"string"` 8085 8086 // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, 8087 // therefore this name must be unique within its context - ElastiCache or an 8088 // Amazon S3 bucket if exporting. 8089 // 8090 // TargetSnapshotName is a required field 8091 TargetSnapshotName *string `type:"string" required:"true"` 8092} 8093 8094// String returns the string representation 8095func (s CopySnapshotInput) String() string { 8096 return awsutil.Prettify(s) 8097} 8098 8099// GoString returns the string representation 8100func (s CopySnapshotInput) GoString() string { 8101 return s.String() 8102} 8103 8104// Validate inspects the fields of the type to determine if they are valid. 8105func (s *CopySnapshotInput) Validate() error { 8106 invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} 8107 if s.SourceSnapshotName == nil { 8108 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) 8109 } 8110 if s.TargetSnapshotName == nil { 8111 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) 8112 } 8113 8114 if invalidParams.Len() > 0 { 8115 return invalidParams 8116 } 8117 return nil 8118} 8119 8120// SetKmsKeyId sets the KmsKeyId field's value. 8121func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput { 8122 s.KmsKeyId = &v 8123 return s 8124} 8125 8126// SetSourceSnapshotName sets the SourceSnapshotName field's value. 8127func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { 8128 s.SourceSnapshotName = &v 8129 return s 8130} 8131 8132// SetTargetBucket sets the TargetBucket field's value. 8133func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { 8134 s.TargetBucket = &v 8135 return s 8136} 8137 8138// SetTargetSnapshotName sets the TargetSnapshotName field's value. 8139func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { 8140 s.TargetSnapshotName = &v 8141 return s 8142} 8143 8144type CopySnapshotOutput struct { 8145 _ struct{} `type:"structure"` 8146 8147 // Represents a copy of an entire Redis cluster as of the time when the snapshot 8148 // was taken. 8149 Snapshot *Snapshot `type:"structure"` 8150} 8151 8152// String returns the string representation 8153func (s CopySnapshotOutput) String() string { 8154 return awsutil.Prettify(s) 8155} 8156 8157// GoString returns the string representation 8158func (s CopySnapshotOutput) GoString() string { 8159 return s.String() 8160} 8161 8162// SetSnapshot sets the Snapshot field's value. 8163func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { 8164 s.Snapshot = v 8165 return s 8166} 8167 8168// Represents the input of a CreateCacheCluster operation. 8169type CreateCacheClusterInput struct { 8170 _ struct{} `type:"structure"` 8171 8172 // Specifies whether the nodes in this Memcached cluster are created in a single 8173 // Availability Zone or created across multiple Availability Zones in the cluster's 8174 // region. 8175 // 8176 // This parameter is only supported for Memcached clusters. 8177 // 8178 // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache 8179 // assumes single-az mode. 8180 AZMode *string `type:"string" enum:"AZMode"` 8181 8182 // Reserved parameter. The password used to access a password protected server. 8183 // 8184 // Password constraints: 8185 // 8186 // * Must be only printable ASCII characters. 8187 // 8188 // * Must be at least 16 characters and no more than 128 characters in length. 8189 // 8190 // * The only permitted printable special characters are !, &, #, $, ^, <, 8191 // >, and -. Other printable special characters cannot be used in the AUTH 8192 // token. 8193 // 8194 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 8195 // http://redis.io/commands/AUTH. 8196 AuthToken *string `type:"string"` 8197 8198 // This parameter is currently disabled. 8199 AutoMinorVersionUpgrade *bool `type:"boolean"` 8200 8201 // The node group (shard) identifier. This parameter is stored as a lowercase 8202 // string. 8203 // 8204 // Constraints: 8205 // 8206 // * A name must contain from 1 to 50 alphanumeric characters or hyphens. 8207 // 8208 // * The first character must be a letter. 8209 // 8210 // * A name cannot end with a hyphen or contain two consecutive hyphens. 8211 // 8212 // CacheClusterId is a required field 8213 CacheClusterId *string `type:"string" required:"true"` 8214 8215 // The compute and memory capacity of the nodes in the node group (shard). 8216 // 8217 // The following node types are supported by ElastiCache. Generally speaking, 8218 // the current generation types provide more memory and computational power 8219 // at lower cost when compared to their equivalent previous generation counterparts. 8220 // 8221 // * General purpose: Current generation: M5 node types: cache.m5.large, 8222 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 8223 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 8224 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 8225 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 8226 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 8227 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 8228 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 8229 // 8230 // * Compute optimized: Previous generation: (not recommended) C1 node types: 8231 // cache.c1.xlarge 8232 // 8233 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 8234 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 8235 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 8236 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 8237 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 8238 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 8239 // cache.r3.8xlarge 8240 // 8241 // Additional node type info 8242 // 8243 // * All current generation instance types are created in Amazon VPC by default. 8244 // 8245 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 8246 // 8247 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 8248 // 8249 // * Redis configuration variables appendonly and appendfsync are not supported 8250 // on Redis version 2.8.22 and later. 8251 CacheNodeType *string `type:"string"` 8252 8253 // The name of the parameter group to associate with this cluster. If this argument 8254 // is omitted, the default parameter group for the specified engine is used. 8255 // You cannot use any parameter group which has cluster-enabled='yes' when creating 8256 // a cluster. 8257 CacheParameterGroupName *string `type:"string"` 8258 8259 // A list of security group names to associate with this cluster. 8260 // 8261 // Use this parameter only when you are creating a cluster outside of an Amazon 8262 // Virtual Private Cloud (Amazon VPC). 8263 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 8264 8265 // The name of the subnet group to be used for the cluster. 8266 // 8267 // Use this parameter only when you are creating a cluster in an Amazon Virtual 8268 // Private Cloud (Amazon VPC). 8269 // 8270 // If you're going to launch your cluster in an Amazon VPC, you need to create 8271 // a subnet group before you start creating a cluster. For more information, 8272 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 8273 CacheSubnetGroupName *string `type:"string"` 8274 8275 // The name of the cache engine to be used for this cluster. 8276 // 8277 // Valid values for this parameter are: memcached | redis 8278 Engine *string `type:"string"` 8279 8280 // The version number of the cache engine to be used for this cluster. To view 8281 // the supported cache engine versions, use the DescribeCacheEngineVersions 8282 // operation. 8283 // 8284 // Important: You can upgrade to a newer engine version (see Selecting a Cache 8285 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 8286 // but you cannot downgrade to an earlier engine version. If you want to use 8287 // an earlier engine version, you must delete the existing cluster or replication 8288 // group and create it anew with the earlier engine version. 8289 EngineVersion *string `type:"string"` 8290 8291 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 8292 // (SNS) topic to which notifications are sent. 8293 // 8294 // The Amazon SNS topic owner must be the same as the cluster owner. 8295 NotificationTopicArn *string `type:"string"` 8296 8297 // The initial number of cache nodes that the cluster has. 8298 // 8299 // For clusters running Redis, this value must be 1. For clusters running Memcached, 8300 // this value must be between 1 and 20. 8301 // 8302 // If you need more than 20 nodes for your Memcached cluster, please fill out 8303 // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ 8304 // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). 8305 NumCacheNodes *int64 `type:"integer"` 8306 8307 // The port number on which each of the cache nodes accepts connections. 8308 Port *int64 `type:"integer"` 8309 8310 // The EC2 Availability Zone in which the cluster is created. 8311 // 8312 // All nodes belonging to this Memcached cluster are placed in the preferred 8313 // Availability Zone. If you want to create your nodes across multiple Availability 8314 // Zones, use PreferredAvailabilityZones. 8315 // 8316 // Default: System chosen Availability Zone. 8317 PreferredAvailabilityZone *string `type:"string"` 8318 8319 // A list of the Availability Zones in which cache nodes are created. The order 8320 // of the zones in the list is not important. 8321 // 8322 // This option is only supported on Memcached. 8323 // 8324 // If you are creating your cluster in an Amazon VPC (recommended) you can only 8325 // locate nodes in Availability Zones that are associated with the subnets in 8326 // the selected subnet group. 8327 // 8328 // The number of Availability Zones listed must equal the value of NumCacheNodes. 8329 // 8330 // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone 8331 // instead, or repeat the Availability Zone multiple times in the list. 8332 // 8333 // Default: System chosen Availability Zones. 8334 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 8335 8336 // Specifies the weekly time range during which maintenance on the cluster is 8337 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8338 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 8339 // values for ddd are: 8340 // 8341 // Specifies the weekly time range during which maintenance on the cluster is 8342 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8343 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 8344 // 8345 // Valid values for ddd are: 8346 // 8347 // * sun 8348 // 8349 // * mon 8350 // 8351 // * tue 8352 // 8353 // * wed 8354 // 8355 // * thu 8356 // 8357 // * fri 8358 // 8359 // * sat 8360 // 8361 // Example: sun:23:00-mon:01:30 8362 PreferredMaintenanceWindow *string `type:"string"` 8363 8364 // The ID of the replication group to which this cluster should belong. If this 8365 // parameter is specified, the cluster is added to the specified replication 8366 // group as a read replica; otherwise, the cluster is a standalone primary that 8367 // is not part of any replication group. 8368 // 8369 // If the specified replication group is Multi-AZ enabled and the Availability 8370 // Zone is not specified, the cluster is created in Availability Zones that 8371 // provide the best spread of read replicas across Availability Zones. 8372 // 8373 // This parameter is only valid if the Engine parameter is redis. 8374 ReplicationGroupId *string `type:"string"` 8375 8376 // One or more VPC security groups associated with the cluster. 8377 // 8378 // Use this parameter only when you are creating a cluster in an Amazon Virtual 8379 // Private Cloud (Amazon VPC). 8380 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 8381 8382 // A single-element string list containing an Amazon Resource Name (ARN) that 8383 // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 8384 // file is used to populate the node group (shard). The Amazon S3 object name 8385 // in the ARN cannot contain any commas. 8386 // 8387 // This parameter is only valid if the Engine parameter is redis. 8388 // 8389 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 8390 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 8391 8392 // The name of a Redis snapshot from which to restore data into the new node 8393 // group (shard). The snapshot status changes to restoring while the new node 8394 // group (shard) is being created. 8395 // 8396 // This parameter is only valid if the Engine parameter is redis. 8397 SnapshotName *string `type:"string"` 8398 8399 // The number of days for which ElastiCache retains automatic snapshots before 8400 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 8401 // taken today is retained for 5 days before being deleted. 8402 // 8403 // This parameter is only valid if the Engine parameter is redis. 8404 // 8405 // Default: 0 (i.e., automatic backups are disabled for this cache cluster). 8406 SnapshotRetentionLimit *int64 `type:"integer"` 8407 8408 // The daily time range (in UTC) during which ElastiCache begins taking a daily 8409 // snapshot of your node group (shard). 8410 // 8411 // Example: 05:00-09:00 8412 // 8413 // If you do not specify this parameter, ElastiCache automatically chooses an 8414 // appropriate time range. 8415 // 8416 // This parameter is only valid if the Engine parameter is redis. 8417 SnapshotWindow *string `type:"string"` 8418 8419 // A list of cost allocation tags to be added to this resource. 8420 Tags []*Tag `locationNameList:"Tag" type:"list"` 8421} 8422 8423// String returns the string representation 8424func (s CreateCacheClusterInput) String() string { 8425 return awsutil.Prettify(s) 8426} 8427 8428// GoString returns the string representation 8429func (s CreateCacheClusterInput) GoString() string { 8430 return s.String() 8431} 8432 8433// Validate inspects the fields of the type to determine if they are valid. 8434func (s *CreateCacheClusterInput) Validate() error { 8435 invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} 8436 if s.CacheClusterId == nil { 8437 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 8438 } 8439 8440 if invalidParams.Len() > 0 { 8441 return invalidParams 8442 } 8443 return nil 8444} 8445 8446// SetAZMode sets the AZMode field's value. 8447func (s *CreateCacheClusterInput) SetAZMode(v string) *CreateCacheClusterInput { 8448 s.AZMode = &v 8449 return s 8450} 8451 8452// SetAuthToken sets the AuthToken field's value. 8453func (s *CreateCacheClusterInput) SetAuthToken(v string) *CreateCacheClusterInput { 8454 s.AuthToken = &v 8455 return s 8456} 8457 8458// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 8459func (s *CreateCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateCacheClusterInput { 8460 s.AutoMinorVersionUpgrade = &v 8461 return s 8462} 8463 8464// SetCacheClusterId sets the CacheClusterId field's value. 8465func (s *CreateCacheClusterInput) SetCacheClusterId(v string) *CreateCacheClusterInput { 8466 s.CacheClusterId = &v 8467 return s 8468} 8469 8470// SetCacheNodeType sets the CacheNodeType field's value. 8471func (s *CreateCacheClusterInput) SetCacheNodeType(v string) *CreateCacheClusterInput { 8472 s.CacheNodeType = &v 8473 return s 8474} 8475 8476// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8477func (s *CreateCacheClusterInput) SetCacheParameterGroupName(v string) *CreateCacheClusterInput { 8478 s.CacheParameterGroupName = &v 8479 return s 8480} 8481 8482// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 8483func (s *CreateCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *CreateCacheClusterInput { 8484 s.CacheSecurityGroupNames = v 8485 return s 8486} 8487 8488// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8489func (s *CreateCacheClusterInput) SetCacheSubnetGroupName(v string) *CreateCacheClusterInput { 8490 s.CacheSubnetGroupName = &v 8491 return s 8492} 8493 8494// SetEngine sets the Engine field's value. 8495func (s *CreateCacheClusterInput) SetEngine(v string) *CreateCacheClusterInput { 8496 s.Engine = &v 8497 return s 8498} 8499 8500// SetEngineVersion sets the EngineVersion field's value. 8501func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheClusterInput { 8502 s.EngineVersion = &v 8503 return s 8504} 8505 8506// SetNotificationTopicArn sets the NotificationTopicArn field's value. 8507func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { 8508 s.NotificationTopicArn = &v 8509 return s 8510} 8511 8512// SetNumCacheNodes sets the NumCacheNodes field's value. 8513func (s *CreateCacheClusterInput) SetNumCacheNodes(v int64) *CreateCacheClusterInput { 8514 s.NumCacheNodes = &v 8515 return s 8516} 8517 8518// SetPort sets the Port field's value. 8519func (s *CreateCacheClusterInput) SetPort(v int64) *CreateCacheClusterInput { 8520 s.Port = &v 8521 return s 8522} 8523 8524// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 8525func (s *CreateCacheClusterInput) SetPreferredAvailabilityZone(v string) *CreateCacheClusterInput { 8526 s.PreferredAvailabilityZone = &v 8527 return s 8528} 8529 8530// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 8531func (s *CreateCacheClusterInput) SetPreferredAvailabilityZones(v []*string) *CreateCacheClusterInput { 8532 s.PreferredAvailabilityZones = v 8533 return s 8534} 8535 8536// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 8537func (s *CreateCacheClusterInput) SetPreferredMaintenanceWindow(v string) *CreateCacheClusterInput { 8538 s.PreferredMaintenanceWindow = &v 8539 return s 8540} 8541 8542// SetReplicationGroupId sets the ReplicationGroupId field's value. 8543func (s *CreateCacheClusterInput) SetReplicationGroupId(v string) *CreateCacheClusterInput { 8544 s.ReplicationGroupId = &v 8545 return s 8546} 8547 8548// SetSecurityGroupIds sets the SecurityGroupIds field's value. 8549func (s *CreateCacheClusterInput) SetSecurityGroupIds(v []*string) *CreateCacheClusterInput { 8550 s.SecurityGroupIds = v 8551 return s 8552} 8553 8554// SetSnapshotArns sets the SnapshotArns field's value. 8555func (s *CreateCacheClusterInput) SetSnapshotArns(v []*string) *CreateCacheClusterInput { 8556 s.SnapshotArns = v 8557 return s 8558} 8559 8560// SetSnapshotName sets the SnapshotName field's value. 8561func (s *CreateCacheClusterInput) SetSnapshotName(v string) *CreateCacheClusterInput { 8562 s.SnapshotName = &v 8563 return s 8564} 8565 8566// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 8567func (s *CreateCacheClusterInput) SetSnapshotRetentionLimit(v int64) *CreateCacheClusterInput { 8568 s.SnapshotRetentionLimit = &v 8569 return s 8570} 8571 8572// SetSnapshotWindow sets the SnapshotWindow field's value. 8573func (s *CreateCacheClusterInput) SetSnapshotWindow(v string) *CreateCacheClusterInput { 8574 s.SnapshotWindow = &v 8575 return s 8576} 8577 8578// SetTags sets the Tags field's value. 8579func (s *CreateCacheClusterInput) SetTags(v []*Tag) *CreateCacheClusterInput { 8580 s.Tags = v 8581 return s 8582} 8583 8584type CreateCacheClusterOutput struct { 8585 _ struct{} `type:"structure"` 8586 8587 // Contains all of the attributes of a specific cluster. 8588 CacheCluster *CacheCluster `type:"structure"` 8589} 8590 8591// String returns the string representation 8592func (s CreateCacheClusterOutput) String() string { 8593 return awsutil.Prettify(s) 8594} 8595 8596// GoString returns the string representation 8597func (s CreateCacheClusterOutput) GoString() string { 8598 return s.String() 8599} 8600 8601// SetCacheCluster sets the CacheCluster field's value. 8602func (s *CreateCacheClusterOutput) SetCacheCluster(v *CacheCluster) *CreateCacheClusterOutput { 8603 s.CacheCluster = v 8604 return s 8605} 8606 8607// Represents the input of a CreateCacheParameterGroup operation. 8608type CreateCacheParameterGroupInput struct { 8609 _ struct{} `type:"structure"` 8610 8611 // The name of the cache parameter group family that the cache parameter group 8612 // can be used with. 8613 // 8614 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 8615 // | redis4.0 | redis5.0 | 8616 // 8617 // CacheParameterGroupFamily is a required field 8618 CacheParameterGroupFamily *string `type:"string" required:"true"` 8619 8620 // A user-specified name for the cache parameter group. 8621 // 8622 // CacheParameterGroupName is a required field 8623 CacheParameterGroupName *string `type:"string" required:"true"` 8624 8625 // A user-specified description for the cache parameter group. 8626 // 8627 // Description is a required field 8628 Description *string `type:"string" required:"true"` 8629} 8630 8631// String returns the string representation 8632func (s CreateCacheParameterGroupInput) String() string { 8633 return awsutil.Prettify(s) 8634} 8635 8636// GoString returns the string representation 8637func (s CreateCacheParameterGroupInput) GoString() string { 8638 return s.String() 8639} 8640 8641// Validate inspects the fields of the type to determine if they are valid. 8642func (s *CreateCacheParameterGroupInput) Validate() error { 8643 invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} 8644 if s.CacheParameterGroupFamily == nil { 8645 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 8646 } 8647 if s.CacheParameterGroupName == nil { 8648 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 8649 } 8650 if s.Description == nil { 8651 invalidParams.Add(request.NewErrParamRequired("Description")) 8652 } 8653 8654 if invalidParams.Len() > 0 { 8655 return invalidParams 8656 } 8657 return nil 8658} 8659 8660// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8661func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupFamily(v string) *CreateCacheParameterGroupInput { 8662 s.CacheParameterGroupFamily = &v 8663 return s 8664} 8665 8666// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8667func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupName(v string) *CreateCacheParameterGroupInput { 8668 s.CacheParameterGroupName = &v 8669 return s 8670} 8671 8672// SetDescription sets the Description field's value. 8673func (s *CreateCacheParameterGroupInput) SetDescription(v string) *CreateCacheParameterGroupInput { 8674 s.Description = &v 8675 return s 8676} 8677 8678type CreateCacheParameterGroupOutput struct { 8679 _ struct{} `type:"structure"` 8680 8681 // Represents the output of a CreateCacheParameterGroup operation. 8682 CacheParameterGroup *CacheParameterGroup `type:"structure"` 8683} 8684 8685// String returns the string representation 8686func (s CreateCacheParameterGroupOutput) String() string { 8687 return awsutil.Prettify(s) 8688} 8689 8690// GoString returns the string representation 8691func (s CreateCacheParameterGroupOutput) GoString() string { 8692 return s.String() 8693} 8694 8695// SetCacheParameterGroup sets the CacheParameterGroup field's value. 8696func (s *CreateCacheParameterGroupOutput) SetCacheParameterGroup(v *CacheParameterGroup) *CreateCacheParameterGroupOutput { 8697 s.CacheParameterGroup = v 8698 return s 8699} 8700 8701// Represents the input of a CreateCacheSecurityGroup operation. 8702type CreateCacheSecurityGroupInput struct { 8703 _ struct{} `type:"structure"` 8704 8705 // A name for the cache security group. This value is stored as a lowercase 8706 // string. 8707 // 8708 // Constraints: Must contain no more than 255 alphanumeric characters. Cannot 8709 // be the word "Default". 8710 // 8711 // Example: mysecuritygroup 8712 // 8713 // CacheSecurityGroupName is a required field 8714 CacheSecurityGroupName *string `type:"string" required:"true"` 8715 8716 // A description for the cache security group. 8717 // 8718 // Description is a required field 8719 Description *string `type:"string" required:"true"` 8720} 8721 8722// String returns the string representation 8723func (s CreateCacheSecurityGroupInput) String() string { 8724 return awsutil.Prettify(s) 8725} 8726 8727// GoString returns the string representation 8728func (s CreateCacheSecurityGroupInput) GoString() string { 8729 return s.String() 8730} 8731 8732// Validate inspects the fields of the type to determine if they are valid. 8733func (s *CreateCacheSecurityGroupInput) Validate() error { 8734 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} 8735 if s.CacheSecurityGroupName == nil { 8736 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 8737 } 8738 if s.Description == nil { 8739 invalidParams.Add(request.NewErrParamRequired("Description")) 8740 } 8741 8742 if invalidParams.Len() > 0 { 8743 return invalidParams 8744 } 8745 return nil 8746} 8747 8748// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 8749func (s *CreateCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *CreateCacheSecurityGroupInput { 8750 s.CacheSecurityGroupName = &v 8751 return s 8752} 8753 8754// SetDescription sets the Description field's value. 8755func (s *CreateCacheSecurityGroupInput) SetDescription(v string) *CreateCacheSecurityGroupInput { 8756 s.Description = &v 8757 return s 8758} 8759 8760type CreateCacheSecurityGroupOutput struct { 8761 _ struct{} `type:"structure"` 8762 8763 // Represents the output of one of the following operations: 8764 // 8765 // * AuthorizeCacheSecurityGroupIngress 8766 // 8767 // * CreateCacheSecurityGroup 8768 // 8769 // * RevokeCacheSecurityGroupIngress 8770 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 8771} 8772 8773// String returns the string representation 8774func (s CreateCacheSecurityGroupOutput) String() string { 8775 return awsutil.Prettify(s) 8776} 8777 8778// GoString returns the string representation 8779func (s CreateCacheSecurityGroupOutput) GoString() string { 8780 return s.String() 8781} 8782 8783// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 8784func (s *CreateCacheSecurityGroupOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *CreateCacheSecurityGroupOutput { 8785 s.CacheSecurityGroup = v 8786 return s 8787} 8788 8789// Represents the input of a CreateCacheSubnetGroup operation. 8790type CreateCacheSubnetGroupInput struct { 8791 _ struct{} `type:"structure"` 8792 8793 // A description for the cache subnet group. 8794 // 8795 // CacheSubnetGroupDescription is a required field 8796 CacheSubnetGroupDescription *string `type:"string" required:"true"` 8797 8798 // A name for the cache subnet group. This value is stored as a lowercase string. 8799 // 8800 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 8801 // 8802 // Example: mysubnetgroup 8803 // 8804 // CacheSubnetGroupName is a required field 8805 CacheSubnetGroupName *string `type:"string" required:"true"` 8806 8807 // A list of VPC subnet IDs for the cache subnet group. 8808 // 8809 // SubnetIds is a required field 8810 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 8811} 8812 8813// String returns the string representation 8814func (s CreateCacheSubnetGroupInput) String() string { 8815 return awsutil.Prettify(s) 8816} 8817 8818// GoString returns the string representation 8819func (s CreateCacheSubnetGroupInput) GoString() string { 8820 return s.String() 8821} 8822 8823// Validate inspects the fields of the type to determine if they are valid. 8824func (s *CreateCacheSubnetGroupInput) Validate() error { 8825 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} 8826 if s.CacheSubnetGroupDescription == nil { 8827 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) 8828 } 8829 if s.CacheSubnetGroupName == nil { 8830 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 8831 } 8832 if s.SubnetIds == nil { 8833 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 8834 } 8835 8836 if invalidParams.Len() > 0 { 8837 return invalidParams 8838 } 8839 return nil 8840} 8841 8842// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 8843func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *CreateCacheSubnetGroupInput { 8844 s.CacheSubnetGroupDescription = &v 8845 return s 8846} 8847 8848// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8849func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *CreateCacheSubnetGroupInput { 8850 s.CacheSubnetGroupName = &v 8851 return s 8852} 8853 8854// SetSubnetIds sets the SubnetIds field's value. 8855func (s *CreateCacheSubnetGroupInput) SetSubnetIds(v []*string) *CreateCacheSubnetGroupInput { 8856 s.SubnetIds = v 8857 return s 8858} 8859 8860type CreateCacheSubnetGroupOutput struct { 8861 _ struct{} `type:"structure"` 8862 8863 // Represents the output of one of the following operations: 8864 // 8865 // * CreateCacheSubnetGroup 8866 // 8867 // * ModifyCacheSubnetGroup 8868 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 8869} 8870 8871// String returns the string representation 8872func (s CreateCacheSubnetGroupOutput) String() string { 8873 return awsutil.Prettify(s) 8874} 8875 8876// GoString returns the string representation 8877func (s CreateCacheSubnetGroupOutput) GoString() string { 8878 return s.String() 8879} 8880 8881// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 8882func (s *CreateCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *CreateCacheSubnetGroupOutput { 8883 s.CacheSubnetGroup = v 8884 return s 8885} 8886 8887type CreateGlobalReplicationGroupInput struct { 8888 _ struct{} `type:"structure"` 8889 8890 // Provides details of the Global Datastore 8891 GlobalReplicationGroupDescription *string `type:"string"` 8892 8893 // The suffix name of a Global Datastore. The suffix guarantees uniqueness of 8894 // the Global Datastore name across multiple regions. 8895 // 8896 // GlobalReplicationGroupIdSuffix is a required field 8897 GlobalReplicationGroupIdSuffix *string `type:"string" required:"true"` 8898 8899 // The name of the primary cluster that accepts writes and will replicate updates 8900 // to the secondary cluster. 8901 // 8902 // PrimaryReplicationGroupId is a required field 8903 PrimaryReplicationGroupId *string `type:"string" required:"true"` 8904} 8905 8906// String returns the string representation 8907func (s CreateGlobalReplicationGroupInput) String() string { 8908 return awsutil.Prettify(s) 8909} 8910 8911// GoString returns the string representation 8912func (s CreateGlobalReplicationGroupInput) GoString() string { 8913 return s.String() 8914} 8915 8916// Validate inspects the fields of the type to determine if they are valid. 8917func (s *CreateGlobalReplicationGroupInput) Validate() error { 8918 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalReplicationGroupInput"} 8919 if s.GlobalReplicationGroupIdSuffix == nil { 8920 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupIdSuffix")) 8921 } 8922 if s.PrimaryReplicationGroupId == nil { 8923 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 8924 } 8925 8926 if invalidParams.Len() > 0 { 8927 return invalidParams 8928 } 8929 return nil 8930} 8931 8932// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 8933func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *CreateGlobalReplicationGroupInput { 8934 s.GlobalReplicationGroupDescription = &v 8935 return s 8936} 8937 8938// SetGlobalReplicationGroupIdSuffix sets the GlobalReplicationGroupIdSuffix field's value. 8939func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupIdSuffix(v string) *CreateGlobalReplicationGroupInput { 8940 s.GlobalReplicationGroupIdSuffix = &v 8941 return s 8942} 8943 8944// SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 8945func (s *CreateGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *CreateGlobalReplicationGroupInput { 8946 s.PrimaryReplicationGroupId = &v 8947 return s 8948} 8949 8950type CreateGlobalReplicationGroupOutput struct { 8951 _ struct{} `type:"structure"` 8952 8953 // Consists of a primary cluster that accepts writes and an associated secondary 8954 // cluster that resides in a different AWS region. The secondary cluster accepts 8955 // only reads. The primary cluster automatically replicates updates to the secondary 8956 // cluster. 8957 // 8958 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 8959 // Datastore, which is what you use to associate a secondary cluster. 8960 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 8961} 8962 8963// String returns the string representation 8964func (s CreateGlobalReplicationGroupOutput) String() string { 8965 return awsutil.Prettify(s) 8966} 8967 8968// GoString returns the string representation 8969func (s CreateGlobalReplicationGroupOutput) GoString() string { 8970 return s.String() 8971} 8972 8973// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 8974func (s *CreateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *CreateGlobalReplicationGroupOutput { 8975 s.GlobalReplicationGroup = v 8976 return s 8977} 8978 8979// Represents the input of a CreateReplicationGroup operation. 8980type CreateReplicationGroupInput struct { 8981 _ struct{} `type:"structure"` 8982 8983 // A flag that enables encryption at rest when set to true. 8984 // 8985 // You cannot modify the value of AtRestEncryptionEnabled after the replication 8986 // group is created. To enable encryption at rest on a replication group you 8987 // must set AtRestEncryptionEnabled to true when you create the replication 8988 // group. 8989 // 8990 // Required: Only available when creating a replication group in an Amazon VPC 8991 // using redis version 3.2.6, 4.x or later. 8992 // 8993 // Default: false 8994 AtRestEncryptionEnabled *bool `type:"boolean"` 8995 8996 // Reserved parameter. The password used to access a password protected server. 8997 // 8998 // AuthToken can be specified only on replication groups where TransitEncryptionEnabled 8999 // is true. 9000 // 9001 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 9002 // an AuthToken, and a CacheSubnetGroup. 9003 // 9004 // Password constraints: 9005 // 9006 // * Must be only printable ASCII characters. 9007 // 9008 // * Must be at least 16 characters and no more than 128 characters in length. 9009 // 9010 // * The only permitted printable special characters are !, &, #, $, ^, <, 9011 // >, and -. Other printable special characters cannot be used in the AUTH 9012 // token. 9013 // 9014 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 9015 // http://redis.io/commands/AUTH. 9016 AuthToken *string `type:"string"` 9017 9018 // This parameter is currently disabled. 9019 AutoMinorVersionUpgrade *bool `type:"boolean"` 9020 9021 // Specifies whether a read-only replica is automatically promoted to read/write 9022 // primary if the existing primary fails. 9023 // 9024 // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ 9025 // is disabled for this replication group. 9026 // 9027 // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) 9028 // replication groups. 9029 // 9030 // Default: false 9031 // 9032 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 9033 // on: 9034 // 9035 // * Redis versions earlier than 2.8.6. 9036 // 9037 // * Redis (cluster mode disabled): T1 node types. 9038 // 9039 // * Redis (cluster mode enabled): T1 node types. 9040 AutomaticFailoverEnabled *bool `type:"boolean"` 9041 9042 // The compute and memory capacity of the nodes in the node group (shard). 9043 // 9044 // The following node types are supported by ElastiCache. Generally speaking, 9045 // the current generation types provide more memory and computational power 9046 // at lower cost when compared to their equivalent previous generation counterparts. 9047 // 9048 // * General purpose: Current generation: M5 node types: cache.m5.large, 9049 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 9050 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 9051 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 9052 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 9053 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 9054 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 9055 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 9056 // 9057 // * Compute optimized: Previous generation: (not recommended) C1 node types: 9058 // cache.c1.xlarge 9059 // 9060 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 9061 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 9062 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 9063 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 9064 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 9065 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 9066 // cache.r3.8xlarge 9067 // 9068 // Additional node type info 9069 // 9070 // * All current generation instance types are created in Amazon VPC by default. 9071 // 9072 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 9073 // 9074 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 9075 // 9076 // * Redis configuration variables appendonly and appendfsync are not supported 9077 // on Redis version 2.8.22 and later. 9078 CacheNodeType *string `type:"string"` 9079 9080 // The name of the parameter group to associate with this replication group. 9081 // If this argument is omitted, the default cache parameter group for the specified 9082 // engine is used. 9083 // 9084 // If you are restoring to an engine version that is different than the original, 9085 // you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0. 9086 // 9087 // If you are running Redis version 3.2.4 or later, only one node group (shard), 9088 // and want to use a default parameter group, we recommend that you specify 9089 // the parameter group by name. 9090 // 9091 // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. 9092 // 9093 // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. 9094 CacheParameterGroupName *string `type:"string"` 9095 9096 // A list of cache security group names to associate with this replication group. 9097 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 9098 9099 // The name of the cache subnet group to be used for the replication group. 9100 // 9101 // If you're going to launch your cluster in an Amazon VPC, you need to create 9102 // a subnet group before you start creating a cluster. For more information, 9103 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 9104 CacheSubnetGroupName *string `type:"string"` 9105 9106 // The name of the cache engine to be used for the clusters in this replication 9107 // group. 9108 Engine *string `type:"string"` 9109 9110 // The version number of the cache engine to be used for the clusters in this 9111 // replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions 9112 // operation. 9113 // 9114 // Important: You can upgrade to a newer engine version (see Selecting a Cache 9115 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)) 9116 // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine 9117 // version. If you want to use an earlier engine version, you must delete the 9118 // existing cluster or replication group and create it anew with the earlier 9119 // engine version. 9120 EngineVersion *string `type:"string"` 9121 9122 // The name of the Global Datastore 9123 GlobalReplicationGroupId *string `type:"string"` 9124 9125 // The ID of the KMS key used to encrypt the disk in the cluster. 9126 KmsKeyId *string `type:"string"` 9127 9128 MultiAZEnabled *bool `type:"boolean"` 9129 9130 // A list of node group (shard) configuration options. Each node group (shard) 9131 // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, 9132 // ReplicaCount, and Slots. 9133 // 9134 // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode 9135 // enabled) replication group, you can use this parameter to individually configure 9136 // each node group (shard), or you can omit this parameter. However, it is required 9137 // when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file. You 9138 // must configure each node group (shard) using this parameter because you must 9139 // specify the slots for each node group. 9140 NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` 9141 9142 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 9143 // (SNS) topic to which notifications are sent. 9144 // 9145 // The Amazon SNS topic owner must be the same as the cluster owner. 9146 NotificationTopicArn *string `type:"string"` 9147 9148 // The number of nodes in the cluster. 9149 // 9150 // This parameter is not used if there is more than one node group (shard). 9151 // You should use ReplicasPerNodeGroup instead. 9152 // 9153 // If AutomaticFailoverEnabled is true, the value of this parameter must be 9154 // at least 2. If AutomaticFailoverEnabled is false you can omit this parameter 9155 // (it will default to 1), or you can explicitly set it to a value between 2 9156 // and 6. 9157 // 9158 // The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas). 9159 NumCacheClusters *int64 `type:"integer"` 9160 9161 // An optional parameter that specifies the number of node groups (shards) for 9162 // this Redis (cluster mode enabled) replication group. For Redis (cluster mode 9163 // disabled) either omit this parameter or set it to 1. 9164 // 9165 // Default: 1 9166 NumNodeGroups *int64 `type:"integer"` 9167 9168 // The port number on which each member of the replication group accepts connections. 9169 Port *int64 `type:"integer"` 9170 9171 // A list of EC2 Availability Zones in which the replication group's clusters 9172 // are created. The order of the Availability Zones in the list is the order 9173 // in which clusters are allocated. The primary cluster is created in the first 9174 // AZ in the list. 9175 // 9176 // This parameter is not used if there is more than one node group (shard). 9177 // You should use NodeGroupConfiguration instead. 9178 // 9179 // If you are creating your replication group in an Amazon VPC (recommended), 9180 // you can only locate clusters in Availability Zones associated with the subnets 9181 // in the selected subnet group. 9182 // 9183 // The number of Availability Zones listed must equal the value of NumCacheClusters. 9184 // 9185 // Default: system chosen Availability Zones. 9186 PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` 9187 9188 // Specifies the weekly time range during which maintenance on the cluster is 9189 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 9190 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 9191 // values for ddd are: 9192 // 9193 // Specifies the weekly time range during which maintenance on the cluster is 9194 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 9195 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 9196 // 9197 // Valid values for ddd are: 9198 // 9199 // * sun 9200 // 9201 // * mon 9202 // 9203 // * tue 9204 // 9205 // * wed 9206 // 9207 // * thu 9208 // 9209 // * fri 9210 // 9211 // * sat 9212 // 9213 // Example: sun:23:00-mon:01:30 9214 PreferredMaintenanceWindow *string `type:"string"` 9215 9216 // The identifier of the cluster that serves as the primary for this replication 9217 // group. This cluster must already exist and have a status of available. 9218 // 9219 // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup 9220 // is specified. 9221 PrimaryClusterId *string `type:"string"` 9222 9223 // An optional parameter that specifies the number of replica nodes in each 9224 // node group (shard). Valid values are 0 to 5. 9225 ReplicasPerNodeGroup *int64 `type:"integer"` 9226 9227 // A user-created description for the replication group. 9228 // 9229 // ReplicationGroupDescription is a required field 9230 ReplicationGroupDescription *string `type:"string" required:"true"` 9231 9232 // The replication group identifier. This parameter is stored as a lowercase 9233 // string. 9234 // 9235 // Constraints: 9236 // 9237 // * A name must contain from 1 to 40 alphanumeric characters or hyphens. 9238 // 9239 // * The first character must be a letter. 9240 // 9241 // * A name cannot end with a hyphen or contain two consecutive hyphens. 9242 // 9243 // ReplicationGroupId is a required field 9244 ReplicationGroupId *string `type:"string" required:"true"` 9245 9246 // One or more Amazon VPC security groups associated with this replication group. 9247 // 9248 // Use this parameter only when you are creating a replication group in an Amazon 9249 // Virtual Private Cloud (Amazon VPC). 9250 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 9251 9252 // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB 9253 // snapshot files stored in Amazon S3. The snapshot files are used to populate 9254 // the new replication group. The Amazon S3 object name in the ARN cannot contain 9255 // any commas. The new replication group will have the number of node groups 9256 // (console: shards) specified by the parameter NumNodeGroups or the number 9257 // of node groups configured by NodeGroupConfiguration regardless of the number 9258 // of ARNs specified here. 9259 // 9260 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 9261 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 9262 9263 // The name of a snapshot from which to restore data into the new replication 9264 // group. The snapshot status changes to restoring while the new replication 9265 // group is being created. 9266 SnapshotName *string `type:"string"` 9267 9268 // The number of days for which ElastiCache retains automatic snapshots before 9269 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 9270 // that was taken today is retained for 5 days before being deleted. 9271 // 9272 // Default: 0 (i.e., automatic backups are disabled for this cluster). 9273 SnapshotRetentionLimit *int64 `type:"integer"` 9274 9275 // The daily time range (in UTC) during which ElastiCache begins taking a daily 9276 // snapshot of your node group (shard). 9277 // 9278 // Example: 05:00-09:00 9279 // 9280 // If you do not specify this parameter, ElastiCache automatically chooses an 9281 // appropriate time range. 9282 SnapshotWindow *string `type:"string"` 9283 9284 // A list of cost allocation tags to be added to this resource. Tags are comma-separated 9285 // key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple 9286 // tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. 9287 Tags []*Tag `locationNameList:"Tag" type:"list"` 9288 9289 // A flag that enables in-transit encryption when set to true. 9290 // 9291 // You cannot modify the value of TransitEncryptionEnabled after the cluster 9292 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 9293 // to true when you create a cluster. 9294 // 9295 // This parameter is valid only if the Engine parameter is redis, the EngineVersion 9296 // parameter is 3.2.6, 4.x or later, and the cluster is being created in an 9297 // Amazon VPC. 9298 // 9299 // If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. 9300 // 9301 // Required: Only available when creating a replication group in an Amazon VPC 9302 // using redis version 3.2.6, 4.x or later. 9303 // 9304 // Default: false 9305 // 9306 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 9307 // an AuthToken, and a CacheSubnetGroup. 9308 TransitEncryptionEnabled *bool `type:"boolean"` 9309} 9310 9311// String returns the string representation 9312func (s CreateReplicationGroupInput) String() string { 9313 return awsutil.Prettify(s) 9314} 9315 9316// GoString returns the string representation 9317func (s CreateReplicationGroupInput) GoString() string { 9318 return s.String() 9319} 9320 9321// Validate inspects the fields of the type to determine if they are valid. 9322func (s *CreateReplicationGroupInput) Validate() error { 9323 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} 9324 if s.ReplicationGroupDescription == nil { 9325 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) 9326 } 9327 if s.ReplicationGroupId == nil { 9328 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 9329 } 9330 if s.NodeGroupConfiguration != nil { 9331 for i, v := range s.NodeGroupConfiguration { 9332 if v == nil { 9333 continue 9334 } 9335 if err := v.Validate(); err != nil { 9336 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeGroupConfiguration", i), err.(request.ErrInvalidParams)) 9337 } 9338 } 9339 } 9340 9341 if invalidParams.Len() > 0 { 9342 return invalidParams 9343 } 9344 return nil 9345} 9346 9347// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 9348func (s *CreateReplicationGroupInput) SetAtRestEncryptionEnabled(v bool) *CreateReplicationGroupInput { 9349 s.AtRestEncryptionEnabled = &v 9350 return s 9351} 9352 9353// SetAuthToken sets the AuthToken field's value. 9354func (s *CreateReplicationGroupInput) SetAuthToken(v string) *CreateReplicationGroupInput { 9355 s.AuthToken = &v 9356 return s 9357} 9358 9359// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 9360func (s *CreateReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationGroupInput { 9361 s.AutoMinorVersionUpgrade = &v 9362 return s 9363} 9364 9365// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 9366func (s *CreateReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *CreateReplicationGroupInput { 9367 s.AutomaticFailoverEnabled = &v 9368 return s 9369} 9370 9371// SetCacheNodeType sets the CacheNodeType field's value. 9372func (s *CreateReplicationGroupInput) SetCacheNodeType(v string) *CreateReplicationGroupInput { 9373 s.CacheNodeType = &v 9374 return s 9375} 9376 9377// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9378func (s *CreateReplicationGroupInput) SetCacheParameterGroupName(v string) *CreateReplicationGroupInput { 9379 s.CacheParameterGroupName = &v 9380 return s 9381} 9382 9383// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 9384func (s *CreateReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *CreateReplicationGroupInput { 9385 s.CacheSecurityGroupNames = v 9386 return s 9387} 9388 9389// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9390func (s *CreateReplicationGroupInput) SetCacheSubnetGroupName(v string) *CreateReplicationGroupInput { 9391 s.CacheSubnetGroupName = &v 9392 return s 9393} 9394 9395// SetEngine sets the Engine field's value. 9396func (s *CreateReplicationGroupInput) SetEngine(v string) *CreateReplicationGroupInput { 9397 s.Engine = &v 9398 return s 9399} 9400 9401// SetEngineVersion sets the EngineVersion field's value. 9402func (s *CreateReplicationGroupInput) SetEngineVersion(v string) *CreateReplicationGroupInput { 9403 s.EngineVersion = &v 9404 return s 9405} 9406 9407// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 9408func (s *CreateReplicationGroupInput) SetGlobalReplicationGroupId(v string) *CreateReplicationGroupInput { 9409 s.GlobalReplicationGroupId = &v 9410 return s 9411} 9412 9413// SetKmsKeyId sets the KmsKeyId field's value. 9414func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGroupInput { 9415 s.KmsKeyId = &v 9416 return s 9417} 9418 9419// SetMultiAZEnabled sets the MultiAZEnabled field's value. 9420func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicationGroupInput { 9421 s.MultiAZEnabled = &v 9422 return s 9423} 9424 9425// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 9426func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { 9427 s.NodeGroupConfiguration = v 9428 return s 9429} 9430 9431// SetNotificationTopicArn sets the NotificationTopicArn field's value. 9432func (s *CreateReplicationGroupInput) SetNotificationTopicArn(v string) *CreateReplicationGroupInput { 9433 s.NotificationTopicArn = &v 9434 return s 9435} 9436 9437// SetNumCacheClusters sets the NumCacheClusters field's value. 9438func (s *CreateReplicationGroupInput) SetNumCacheClusters(v int64) *CreateReplicationGroupInput { 9439 s.NumCacheClusters = &v 9440 return s 9441} 9442 9443// SetNumNodeGroups sets the NumNodeGroups field's value. 9444func (s *CreateReplicationGroupInput) SetNumNodeGroups(v int64) *CreateReplicationGroupInput { 9445 s.NumNodeGroups = &v 9446 return s 9447} 9448 9449// SetPort sets the Port field's value. 9450func (s *CreateReplicationGroupInput) SetPort(v int64) *CreateReplicationGroupInput { 9451 s.Port = &v 9452 return s 9453} 9454 9455// SetPreferredCacheClusterAZs sets the PreferredCacheClusterAZs field's value. 9456func (s *CreateReplicationGroupInput) SetPreferredCacheClusterAZs(v []*string) *CreateReplicationGroupInput { 9457 s.PreferredCacheClusterAZs = v 9458 return s 9459} 9460 9461// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 9462func (s *CreateReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationGroupInput { 9463 s.PreferredMaintenanceWindow = &v 9464 return s 9465} 9466 9467// SetPrimaryClusterId sets the PrimaryClusterId field's value. 9468func (s *CreateReplicationGroupInput) SetPrimaryClusterId(v string) *CreateReplicationGroupInput { 9469 s.PrimaryClusterId = &v 9470 return s 9471} 9472 9473// SetReplicasPerNodeGroup sets the ReplicasPerNodeGroup field's value. 9474func (s *CreateReplicationGroupInput) SetReplicasPerNodeGroup(v int64) *CreateReplicationGroupInput { 9475 s.ReplicasPerNodeGroup = &v 9476 return s 9477} 9478 9479// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 9480func (s *CreateReplicationGroupInput) SetReplicationGroupDescription(v string) *CreateReplicationGroupInput { 9481 s.ReplicationGroupDescription = &v 9482 return s 9483} 9484 9485// SetReplicationGroupId sets the ReplicationGroupId field's value. 9486func (s *CreateReplicationGroupInput) SetReplicationGroupId(v string) *CreateReplicationGroupInput { 9487 s.ReplicationGroupId = &v 9488 return s 9489} 9490 9491// SetSecurityGroupIds sets the SecurityGroupIds field's value. 9492func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateReplicationGroupInput { 9493 s.SecurityGroupIds = v 9494 return s 9495} 9496 9497// SetSnapshotArns sets the SnapshotArns field's value. 9498func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { 9499 s.SnapshotArns = v 9500 return s 9501} 9502 9503// SetSnapshotName sets the SnapshotName field's value. 9504func (s *CreateReplicationGroupInput) SetSnapshotName(v string) *CreateReplicationGroupInput { 9505 s.SnapshotName = &v 9506 return s 9507} 9508 9509// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 9510func (s *CreateReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *CreateReplicationGroupInput { 9511 s.SnapshotRetentionLimit = &v 9512 return s 9513} 9514 9515// SetSnapshotWindow sets the SnapshotWindow field's value. 9516func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplicationGroupInput { 9517 s.SnapshotWindow = &v 9518 return s 9519} 9520 9521// SetTags sets the Tags field's value. 9522func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { 9523 s.Tags = v 9524 return s 9525} 9526 9527// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 9528func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { 9529 s.TransitEncryptionEnabled = &v 9530 return s 9531} 9532 9533type CreateReplicationGroupOutput struct { 9534 _ struct{} `type:"structure"` 9535 9536 // Contains all of the attributes of a specific Redis replication group. 9537 ReplicationGroup *ReplicationGroup `type:"structure"` 9538} 9539 9540// String returns the string representation 9541func (s CreateReplicationGroupOutput) String() string { 9542 return awsutil.Prettify(s) 9543} 9544 9545// GoString returns the string representation 9546func (s CreateReplicationGroupOutput) GoString() string { 9547 return s.String() 9548} 9549 9550// SetReplicationGroup sets the ReplicationGroup field's value. 9551func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { 9552 s.ReplicationGroup = v 9553 return s 9554} 9555 9556// Represents the input of a CreateSnapshot operation. 9557type CreateSnapshotInput struct { 9558 _ struct{} `type:"structure"` 9559 9560 // The identifier of an existing cluster. The snapshot is created from this 9561 // cluster. 9562 CacheClusterId *string `type:"string"` 9563 9564 // The ID of the KMS key used to encrypt the snapshot. 9565 KmsKeyId *string `type:"string"` 9566 9567 // The identifier of an existing replication group. The snapshot is created 9568 // from this replication group. 9569 ReplicationGroupId *string `type:"string"` 9570 9571 // A name for the snapshot being created. 9572 // 9573 // SnapshotName is a required field 9574 SnapshotName *string `type:"string" required:"true"` 9575} 9576 9577// String returns the string representation 9578func (s CreateSnapshotInput) String() string { 9579 return awsutil.Prettify(s) 9580} 9581 9582// GoString returns the string representation 9583func (s CreateSnapshotInput) GoString() string { 9584 return s.String() 9585} 9586 9587// Validate inspects the fields of the type to determine if they are valid. 9588func (s *CreateSnapshotInput) Validate() error { 9589 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} 9590 if s.SnapshotName == nil { 9591 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 9592 } 9593 9594 if invalidParams.Len() > 0 { 9595 return invalidParams 9596 } 9597 return nil 9598} 9599 9600// SetCacheClusterId sets the CacheClusterId field's value. 9601func (s *CreateSnapshotInput) SetCacheClusterId(v string) *CreateSnapshotInput { 9602 s.CacheClusterId = &v 9603 return s 9604} 9605 9606// SetKmsKeyId sets the KmsKeyId field's value. 9607func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput { 9608 s.KmsKeyId = &v 9609 return s 9610} 9611 9612// SetReplicationGroupId sets the ReplicationGroupId field's value. 9613func (s *CreateSnapshotInput) SetReplicationGroupId(v string) *CreateSnapshotInput { 9614 s.ReplicationGroupId = &v 9615 return s 9616} 9617 9618// SetSnapshotName sets the SnapshotName field's value. 9619func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { 9620 s.SnapshotName = &v 9621 return s 9622} 9623 9624type CreateSnapshotOutput struct { 9625 _ struct{} `type:"structure"` 9626 9627 // Represents a copy of an entire Redis cluster as of the time when the snapshot 9628 // was taken. 9629 Snapshot *Snapshot `type:"structure"` 9630} 9631 9632// String returns the string representation 9633func (s CreateSnapshotOutput) String() string { 9634 return awsutil.Prettify(s) 9635} 9636 9637// GoString returns the string representation 9638func (s CreateSnapshotOutput) GoString() string { 9639 return s.String() 9640} 9641 9642// SetSnapshot sets the Snapshot field's value. 9643func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { 9644 s.Snapshot = v 9645 return s 9646} 9647 9648// The endpoint from which data should be migrated. 9649type CustomerNodeEndpoint struct { 9650 _ struct{} `type:"structure"` 9651 9652 // The address of the node endpoint 9653 Address *string `type:"string"` 9654 9655 // The port of the node endpoint 9656 Port *int64 `type:"integer"` 9657} 9658 9659// String returns the string representation 9660func (s CustomerNodeEndpoint) String() string { 9661 return awsutil.Prettify(s) 9662} 9663 9664// GoString returns the string representation 9665func (s CustomerNodeEndpoint) GoString() string { 9666 return s.String() 9667} 9668 9669// SetAddress sets the Address field's value. 9670func (s *CustomerNodeEndpoint) SetAddress(v string) *CustomerNodeEndpoint { 9671 s.Address = &v 9672 return s 9673} 9674 9675// SetPort sets the Port field's value. 9676func (s *CustomerNodeEndpoint) SetPort(v int64) *CustomerNodeEndpoint { 9677 s.Port = &v 9678 return s 9679} 9680 9681type DecreaseNodeGroupsInGlobalReplicationGroupInput struct { 9682 _ struct{} `type:"structure"` 9683 9684 // Indicates that the shard reconfiguration process begins immediately. At present, 9685 // the only permitted value for this parameter is true. 9686 // 9687 // ApplyImmediately is a required field 9688 ApplyImmediately *bool `type:"boolean" required:"true"` 9689 9690 // If the value of NodeGroupCount is less than the current number of node groups 9691 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 9692 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 9693 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 9694 // from the cluster. 9695 GlobalNodeGroupsToRemove []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 9696 9697 // If the value of NodeGroupCount is less than the current number of node groups 9698 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 9699 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 9700 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 9701 // from the cluster. 9702 GlobalNodeGroupsToRetain []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 9703 9704 // The name of the Global Datastore 9705 // 9706 // GlobalReplicationGroupId is a required field 9707 GlobalReplicationGroupId *string `type:"string" required:"true"` 9708 9709 // The number of node groups (shards) that results from the modification of 9710 // the shard configuration 9711 // 9712 // NodeGroupCount is a required field 9713 NodeGroupCount *int64 `type:"integer" required:"true"` 9714} 9715 9716// String returns the string representation 9717func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 9718 return awsutil.Prettify(s) 9719} 9720 9721// GoString returns the string representation 9722func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 9723 return s.String() 9724} 9725 9726// Validate inspects the fields of the type to determine if they are valid. 9727func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 9728 invalidParams := request.ErrInvalidParams{Context: "DecreaseNodeGroupsInGlobalReplicationGroupInput"} 9729 if s.ApplyImmediately == nil { 9730 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 9731 } 9732 if s.GlobalReplicationGroupId == nil { 9733 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 9734 } 9735 if s.NodeGroupCount == nil { 9736 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 9737 } 9738 9739 if invalidParams.Len() > 0 { 9740 return invalidParams 9741 } 9742 return nil 9743} 9744 9745// SetApplyImmediately sets the ApplyImmediately field's value. 9746func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9747 s.ApplyImmediately = &v 9748 return s 9749} 9750 9751// SetGlobalNodeGroupsToRemove sets the GlobalNodeGroupsToRemove field's value. 9752func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRemove(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9753 s.GlobalNodeGroupsToRemove = v 9754 return s 9755} 9756 9757// SetGlobalNodeGroupsToRetain sets the GlobalNodeGroupsToRetain field's value. 9758func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRetain(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9759 s.GlobalNodeGroupsToRetain = v 9760 return s 9761} 9762 9763// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 9764func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9765 s.GlobalReplicationGroupId = &v 9766 return s 9767} 9768 9769// SetNodeGroupCount sets the NodeGroupCount field's value. 9770func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9771 s.NodeGroupCount = &v 9772 return s 9773} 9774 9775type DecreaseNodeGroupsInGlobalReplicationGroupOutput struct { 9776 _ struct{} `type:"structure"` 9777 9778 // Consists of a primary cluster that accepts writes and an associated secondary 9779 // cluster that resides in a different AWS region. The secondary cluster accepts 9780 // only reads. The primary cluster automatically replicates updates to the secondary 9781 // cluster. 9782 // 9783 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 9784 // Datastore, which is what you use to associate a secondary cluster. 9785 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 9786} 9787 9788// String returns the string representation 9789func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 9790 return awsutil.Prettify(s) 9791} 9792 9793// GoString returns the string representation 9794func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 9795 return s.String() 9796} 9797 9798// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 9799func (s *DecreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DecreaseNodeGroupsInGlobalReplicationGroupOutput { 9800 s.GlobalReplicationGroup = v 9801 return s 9802} 9803 9804type DecreaseReplicaCountInput struct { 9805 _ struct{} `type:"structure"` 9806 9807 // If True, the number of replica nodes is decreased immediately. ApplyImmediately=False 9808 // is not currently supported. 9809 // 9810 // ApplyImmediately is a required field 9811 ApplyImmediately *bool `type:"boolean" required:"true"` 9812 9813 // The number of read replica nodes you want at the completion of this operation. 9814 // For Redis (cluster mode disabled) replication groups, this is the number 9815 // of replica nodes in the replication group. For Redis (cluster mode enabled) 9816 // replication groups, this is the number of replica nodes in each of the replication 9817 // group's node groups. 9818 // 9819 // The minimum number of replicas in a shard or replication group is: 9820 // 9821 // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is 9822 // enabled: 1 If Multi-AZ with Automatic Failover is not enabled: 0 9823 // 9824 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 9825 // to a replica if your primary node fails) 9826 NewReplicaCount *int64 `type:"integer"` 9827 9828 // A list of ConfigureShard objects that can be used to configure each shard 9829 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 9830 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 9831 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 9832 9833 // A list of the node ids to remove from the replication group or node group 9834 // (shard). 9835 ReplicasToRemove []*string `type:"list"` 9836 9837 // The id of the replication group from which you want to remove replica nodes. 9838 // 9839 // ReplicationGroupId is a required field 9840 ReplicationGroupId *string `type:"string" required:"true"` 9841} 9842 9843// String returns the string representation 9844func (s DecreaseReplicaCountInput) String() string { 9845 return awsutil.Prettify(s) 9846} 9847 9848// GoString returns the string representation 9849func (s DecreaseReplicaCountInput) GoString() string { 9850 return s.String() 9851} 9852 9853// Validate inspects the fields of the type to determine if they are valid. 9854func (s *DecreaseReplicaCountInput) Validate() error { 9855 invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicaCountInput"} 9856 if s.ApplyImmediately == nil { 9857 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 9858 } 9859 if s.ReplicationGroupId == nil { 9860 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 9861 } 9862 if s.ReplicaConfiguration != nil { 9863 for i, v := range s.ReplicaConfiguration { 9864 if v == nil { 9865 continue 9866 } 9867 if err := v.Validate(); err != nil { 9868 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 9869 } 9870 } 9871 } 9872 9873 if invalidParams.Len() > 0 { 9874 return invalidParams 9875 } 9876 return nil 9877} 9878 9879// SetApplyImmediately sets the ApplyImmediately field's value. 9880func (s *DecreaseReplicaCountInput) SetApplyImmediately(v bool) *DecreaseReplicaCountInput { 9881 s.ApplyImmediately = &v 9882 return s 9883} 9884 9885// SetNewReplicaCount sets the NewReplicaCount field's value. 9886func (s *DecreaseReplicaCountInput) SetNewReplicaCount(v int64) *DecreaseReplicaCountInput { 9887 s.NewReplicaCount = &v 9888 return s 9889} 9890 9891// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 9892func (s *DecreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *DecreaseReplicaCountInput { 9893 s.ReplicaConfiguration = v 9894 return s 9895} 9896 9897// SetReplicasToRemove sets the ReplicasToRemove field's value. 9898func (s *DecreaseReplicaCountInput) SetReplicasToRemove(v []*string) *DecreaseReplicaCountInput { 9899 s.ReplicasToRemove = v 9900 return s 9901} 9902 9903// SetReplicationGroupId sets the ReplicationGroupId field's value. 9904func (s *DecreaseReplicaCountInput) SetReplicationGroupId(v string) *DecreaseReplicaCountInput { 9905 s.ReplicationGroupId = &v 9906 return s 9907} 9908 9909type DecreaseReplicaCountOutput struct { 9910 _ struct{} `type:"structure"` 9911 9912 // Contains all of the attributes of a specific Redis replication group. 9913 ReplicationGroup *ReplicationGroup `type:"structure"` 9914} 9915 9916// String returns the string representation 9917func (s DecreaseReplicaCountOutput) String() string { 9918 return awsutil.Prettify(s) 9919} 9920 9921// GoString returns the string representation 9922func (s DecreaseReplicaCountOutput) GoString() string { 9923 return s.String() 9924} 9925 9926// SetReplicationGroup sets the ReplicationGroup field's value. 9927func (s *DecreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *DecreaseReplicaCountOutput { 9928 s.ReplicationGroup = v 9929 return s 9930} 9931 9932// Represents the input of a DeleteCacheCluster operation. 9933type DeleteCacheClusterInput struct { 9934 _ struct{} `type:"structure"` 9935 9936 // The cluster identifier for the cluster to be deleted. This parameter is not 9937 // case sensitive. 9938 // 9939 // CacheClusterId is a required field 9940 CacheClusterId *string `type:"string" required:"true"` 9941 9942 // The user-supplied name of a final cluster snapshot. This is the unique name 9943 // that identifies the snapshot. ElastiCache creates the snapshot, and then 9944 // deletes the cluster immediately afterward. 9945 FinalSnapshotIdentifier *string `type:"string"` 9946} 9947 9948// String returns the string representation 9949func (s DeleteCacheClusterInput) String() string { 9950 return awsutil.Prettify(s) 9951} 9952 9953// GoString returns the string representation 9954func (s DeleteCacheClusterInput) GoString() string { 9955 return s.String() 9956} 9957 9958// Validate inspects the fields of the type to determine if they are valid. 9959func (s *DeleteCacheClusterInput) Validate() error { 9960 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} 9961 if s.CacheClusterId == nil { 9962 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 9963 } 9964 9965 if invalidParams.Len() > 0 { 9966 return invalidParams 9967 } 9968 return nil 9969} 9970 9971// SetCacheClusterId sets the CacheClusterId field's value. 9972func (s *DeleteCacheClusterInput) SetCacheClusterId(v string) *DeleteCacheClusterInput { 9973 s.CacheClusterId = &v 9974 return s 9975} 9976 9977// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 9978func (s *DeleteCacheClusterInput) SetFinalSnapshotIdentifier(v string) *DeleteCacheClusterInput { 9979 s.FinalSnapshotIdentifier = &v 9980 return s 9981} 9982 9983type DeleteCacheClusterOutput struct { 9984 _ struct{} `type:"structure"` 9985 9986 // Contains all of the attributes of a specific cluster. 9987 CacheCluster *CacheCluster `type:"structure"` 9988} 9989 9990// String returns the string representation 9991func (s DeleteCacheClusterOutput) String() string { 9992 return awsutil.Prettify(s) 9993} 9994 9995// GoString returns the string representation 9996func (s DeleteCacheClusterOutput) GoString() string { 9997 return s.String() 9998} 9999 10000// SetCacheCluster sets the CacheCluster field's value. 10001func (s *DeleteCacheClusterOutput) SetCacheCluster(v *CacheCluster) *DeleteCacheClusterOutput { 10002 s.CacheCluster = v 10003 return s 10004} 10005 10006// Represents the input of a DeleteCacheParameterGroup operation. 10007type DeleteCacheParameterGroupInput struct { 10008 _ struct{} `type:"structure"` 10009 10010 // The name of the cache parameter group to delete. 10011 // 10012 // The specified cache security group must not be associated with any clusters. 10013 // 10014 // CacheParameterGroupName is a required field 10015 CacheParameterGroupName *string `type:"string" required:"true"` 10016} 10017 10018// String returns the string representation 10019func (s DeleteCacheParameterGroupInput) String() string { 10020 return awsutil.Prettify(s) 10021} 10022 10023// GoString returns the string representation 10024func (s DeleteCacheParameterGroupInput) GoString() string { 10025 return s.String() 10026} 10027 10028// Validate inspects the fields of the type to determine if they are valid. 10029func (s *DeleteCacheParameterGroupInput) Validate() error { 10030 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} 10031 if s.CacheParameterGroupName == nil { 10032 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 10033 } 10034 10035 if invalidParams.Len() > 0 { 10036 return invalidParams 10037 } 10038 return nil 10039} 10040 10041// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10042func (s *DeleteCacheParameterGroupInput) SetCacheParameterGroupName(v string) *DeleteCacheParameterGroupInput { 10043 s.CacheParameterGroupName = &v 10044 return s 10045} 10046 10047type DeleteCacheParameterGroupOutput struct { 10048 _ struct{} `type:"structure"` 10049} 10050 10051// String returns the string representation 10052func (s DeleteCacheParameterGroupOutput) String() string { 10053 return awsutil.Prettify(s) 10054} 10055 10056// GoString returns the string representation 10057func (s DeleteCacheParameterGroupOutput) GoString() string { 10058 return s.String() 10059} 10060 10061// Represents the input of a DeleteCacheSecurityGroup operation. 10062type DeleteCacheSecurityGroupInput struct { 10063 _ struct{} `type:"structure"` 10064 10065 // The name of the cache security group to delete. 10066 // 10067 // You cannot delete the default security group. 10068 // 10069 // CacheSecurityGroupName is a required field 10070 CacheSecurityGroupName *string `type:"string" required:"true"` 10071} 10072 10073// String returns the string representation 10074func (s DeleteCacheSecurityGroupInput) String() string { 10075 return awsutil.Prettify(s) 10076} 10077 10078// GoString returns the string representation 10079func (s DeleteCacheSecurityGroupInput) GoString() string { 10080 return s.String() 10081} 10082 10083// Validate inspects the fields of the type to determine if they are valid. 10084func (s *DeleteCacheSecurityGroupInput) Validate() error { 10085 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} 10086 if s.CacheSecurityGroupName == nil { 10087 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 10088 } 10089 10090 if invalidParams.Len() > 0 { 10091 return invalidParams 10092 } 10093 return nil 10094} 10095 10096// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 10097func (s *DeleteCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *DeleteCacheSecurityGroupInput { 10098 s.CacheSecurityGroupName = &v 10099 return s 10100} 10101 10102type DeleteCacheSecurityGroupOutput struct { 10103 _ struct{} `type:"structure"` 10104} 10105 10106// String returns the string representation 10107func (s DeleteCacheSecurityGroupOutput) String() string { 10108 return awsutil.Prettify(s) 10109} 10110 10111// GoString returns the string representation 10112func (s DeleteCacheSecurityGroupOutput) GoString() string { 10113 return s.String() 10114} 10115 10116// Represents the input of a DeleteCacheSubnetGroup operation. 10117type DeleteCacheSubnetGroupInput struct { 10118 _ struct{} `type:"structure"` 10119 10120 // The name of the cache subnet group to delete. 10121 // 10122 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 10123 // 10124 // CacheSubnetGroupName is a required field 10125 CacheSubnetGroupName *string `type:"string" required:"true"` 10126} 10127 10128// String returns the string representation 10129func (s DeleteCacheSubnetGroupInput) String() string { 10130 return awsutil.Prettify(s) 10131} 10132 10133// GoString returns the string representation 10134func (s DeleteCacheSubnetGroupInput) GoString() string { 10135 return s.String() 10136} 10137 10138// Validate inspects the fields of the type to determine if they are valid. 10139func (s *DeleteCacheSubnetGroupInput) Validate() error { 10140 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} 10141 if s.CacheSubnetGroupName == nil { 10142 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 10143 } 10144 10145 if invalidParams.Len() > 0 { 10146 return invalidParams 10147 } 10148 return nil 10149} 10150 10151// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10152func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteCacheSubnetGroupInput { 10153 s.CacheSubnetGroupName = &v 10154 return s 10155} 10156 10157type DeleteCacheSubnetGroupOutput struct { 10158 _ struct{} `type:"structure"` 10159} 10160 10161// String returns the string representation 10162func (s DeleteCacheSubnetGroupOutput) String() string { 10163 return awsutil.Prettify(s) 10164} 10165 10166// GoString returns the string representation 10167func (s DeleteCacheSubnetGroupOutput) GoString() string { 10168 return s.String() 10169} 10170 10171type DeleteGlobalReplicationGroupInput struct { 10172 _ struct{} `type:"structure"` 10173 10174 // The name of the Global Datastore 10175 // 10176 // GlobalReplicationGroupId is a required field 10177 GlobalReplicationGroupId *string `type:"string" required:"true"` 10178 10179 // The primary replication group is retained as a standalone replication group. 10180 // 10181 // RetainPrimaryReplicationGroup is a required field 10182 RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` 10183} 10184 10185// String returns the string representation 10186func (s DeleteGlobalReplicationGroupInput) String() string { 10187 return awsutil.Prettify(s) 10188} 10189 10190// GoString returns the string representation 10191func (s DeleteGlobalReplicationGroupInput) GoString() string { 10192 return s.String() 10193} 10194 10195// Validate inspects the fields of the type to determine if they are valid. 10196func (s *DeleteGlobalReplicationGroupInput) Validate() error { 10197 invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalReplicationGroupInput"} 10198 if s.GlobalReplicationGroupId == nil { 10199 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 10200 } 10201 if s.RetainPrimaryReplicationGroup == nil { 10202 invalidParams.Add(request.NewErrParamRequired("RetainPrimaryReplicationGroup")) 10203 } 10204 10205 if invalidParams.Len() > 0 { 10206 return invalidParams 10207 } 10208 return nil 10209} 10210 10211// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 10212func (s *DeleteGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DeleteGlobalReplicationGroupInput { 10213 s.GlobalReplicationGroupId = &v 10214 return s 10215} 10216 10217// SetRetainPrimaryReplicationGroup sets the RetainPrimaryReplicationGroup field's value. 10218func (s *DeleteGlobalReplicationGroupInput) SetRetainPrimaryReplicationGroup(v bool) *DeleteGlobalReplicationGroupInput { 10219 s.RetainPrimaryReplicationGroup = &v 10220 return s 10221} 10222 10223type DeleteGlobalReplicationGroupOutput struct { 10224 _ struct{} `type:"structure"` 10225 10226 // Consists of a primary cluster that accepts writes and an associated secondary 10227 // cluster that resides in a different AWS region. The secondary cluster accepts 10228 // only reads. The primary cluster automatically replicates updates to the secondary 10229 // cluster. 10230 // 10231 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 10232 // Datastore, which is what you use to associate a secondary cluster. 10233 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 10234} 10235 10236// String returns the string representation 10237func (s DeleteGlobalReplicationGroupOutput) String() string { 10238 return awsutil.Prettify(s) 10239} 10240 10241// GoString returns the string representation 10242func (s DeleteGlobalReplicationGroupOutput) GoString() string { 10243 return s.String() 10244} 10245 10246// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 10247func (s *DeleteGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DeleteGlobalReplicationGroupOutput { 10248 s.GlobalReplicationGroup = v 10249 return s 10250} 10251 10252// Represents the input of a DeleteReplicationGroup operation. 10253type DeleteReplicationGroupInput struct { 10254 _ struct{} `type:"structure"` 10255 10256 // The name of a final node group (shard) snapshot. ElastiCache creates the 10257 // snapshot from the primary node in the cluster, rather than one of the replicas; 10258 // this is to ensure that it captures the freshest data. After the final snapshot 10259 // is taken, the replication group is immediately deleted. 10260 FinalSnapshotIdentifier *string `type:"string"` 10261 10262 // The identifier for the cluster to be deleted. This parameter is not case 10263 // sensitive. 10264 // 10265 // ReplicationGroupId is a required field 10266 ReplicationGroupId *string `type:"string" required:"true"` 10267 10268 // If set to true, all of the read replicas are deleted, but the primary node 10269 // is retained. 10270 RetainPrimaryCluster *bool `type:"boolean"` 10271} 10272 10273// String returns the string representation 10274func (s DeleteReplicationGroupInput) String() string { 10275 return awsutil.Prettify(s) 10276} 10277 10278// GoString returns the string representation 10279func (s DeleteReplicationGroupInput) GoString() string { 10280 return s.String() 10281} 10282 10283// Validate inspects the fields of the type to determine if they are valid. 10284func (s *DeleteReplicationGroupInput) Validate() error { 10285 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} 10286 if s.ReplicationGroupId == nil { 10287 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 10288 } 10289 10290 if invalidParams.Len() > 0 { 10291 return invalidParams 10292 } 10293 return nil 10294} 10295 10296// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 10297func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { 10298 s.FinalSnapshotIdentifier = &v 10299 return s 10300} 10301 10302// SetReplicationGroupId sets the ReplicationGroupId field's value. 10303func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { 10304 s.ReplicationGroupId = &v 10305 return s 10306} 10307 10308// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. 10309func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { 10310 s.RetainPrimaryCluster = &v 10311 return s 10312} 10313 10314type DeleteReplicationGroupOutput struct { 10315 _ struct{} `type:"structure"` 10316 10317 // Contains all of the attributes of a specific Redis replication group. 10318 ReplicationGroup *ReplicationGroup `type:"structure"` 10319} 10320 10321// String returns the string representation 10322func (s DeleteReplicationGroupOutput) String() string { 10323 return awsutil.Prettify(s) 10324} 10325 10326// GoString returns the string representation 10327func (s DeleteReplicationGroupOutput) GoString() string { 10328 return s.String() 10329} 10330 10331// SetReplicationGroup sets the ReplicationGroup field's value. 10332func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { 10333 s.ReplicationGroup = v 10334 return s 10335} 10336 10337// Represents the input of a DeleteSnapshot operation. 10338type DeleteSnapshotInput struct { 10339 _ struct{} `type:"structure"` 10340 10341 // The name of the snapshot to be deleted. 10342 // 10343 // SnapshotName is a required field 10344 SnapshotName *string `type:"string" required:"true"` 10345} 10346 10347// String returns the string representation 10348func (s DeleteSnapshotInput) String() string { 10349 return awsutil.Prettify(s) 10350} 10351 10352// GoString returns the string representation 10353func (s DeleteSnapshotInput) GoString() string { 10354 return s.String() 10355} 10356 10357// Validate inspects the fields of the type to determine if they are valid. 10358func (s *DeleteSnapshotInput) Validate() error { 10359 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} 10360 if s.SnapshotName == nil { 10361 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 10362 } 10363 10364 if invalidParams.Len() > 0 { 10365 return invalidParams 10366 } 10367 return nil 10368} 10369 10370// SetSnapshotName sets the SnapshotName field's value. 10371func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { 10372 s.SnapshotName = &v 10373 return s 10374} 10375 10376type DeleteSnapshotOutput struct { 10377 _ struct{} `type:"structure"` 10378 10379 // Represents a copy of an entire Redis cluster as of the time when the snapshot 10380 // was taken. 10381 Snapshot *Snapshot `type:"structure"` 10382} 10383 10384// String returns the string representation 10385func (s DeleteSnapshotOutput) String() string { 10386 return awsutil.Prettify(s) 10387} 10388 10389// GoString returns the string representation 10390func (s DeleteSnapshotOutput) GoString() string { 10391 return s.String() 10392} 10393 10394// SetSnapshot sets the Snapshot field's value. 10395func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { 10396 s.Snapshot = v 10397 return s 10398} 10399 10400// Represents the input of a DescribeCacheClusters operation. 10401type DescribeCacheClustersInput struct { 10402 _ struct{} `type:"structure"` 10403 10404 // The user-supplied cluster identifier. If this parameter is specified, only 10405 // information about that specific cluster is returned. This parameter isn't 10406 // case sensitive. 10407 CacheClusterId *string `type:"string"` 10408 10409 // An optional marker returned from a prior request. Use this marker for pagination 10410 // of results from this operation. If this parameter is specified, the response 10411 // includes only records beyond the marker, up to the value specified by MaxRecords. 10412 Marker *string `type:"string"` 10413 10414 // The maximum number of records to include in the response. If more records 10415 // exist than the specified MaxRecords value, a marker is included in the response 10416 // so that the remaining results can be retrieved. 10417 // 10418 // Default: 100 10419 // 10420 // Constraints: minimum 20; maximum 100. 10421 MaxRecords *int64 `type:"integer"` 10422 10423 // An optional flag that can be included in the DescribeCacheCluster request 10424 // to show only nodes (API/CLI: clusters) that are not members of a replication 10425 // group. In practice, this mean Memcached and single node Redis clusters. 10426 ShowCacheClustersNotInReplicationGroups *bool `type:"boolean"` 10427 10428 // An optional flag that can be included in the DescribeCacheCluster request 10429 // to retrieve information about the individual cache nodes. 10430 ShowCacheNodeInfo *bool `type:"boolean"` 10431} 10432 10433// String returns the string representation 10434func (s DescribeCacheClustersInput) String() string { 10435 return awsutil.Prettify(s) 10436} 10437 10438// GoString returns the string representation 10439func (s DescribeCacheClustersInput) GoString() string { 10440 return s.String() 10441} 10442 10443// SetCacheClusterId sets the CacheClusterId field's value. 10444func (s *DescribeCacheClustersInput) SetCacheClusterId(v string) *DescribeCacheClustersInput { 10445 s.CacheClusterId = &v 10446 return s 10447} 10448 10449// SetMarker sets the Marker field's value. 10450func (s *DescribeCacheClustersInput) SetMarker(v string) *DescribeCacheClustersInput { 10451 s.Marker = &v 10452 return s 10453} 10454 10455// SetMaxRecords sets the MaxRecords field's value. 10456func (s *DescribeCacheClustersInput) SetMaxRecords(v int64) *DescribeCacheClustersInput { 10457 s.MaxRecords = &v 10458 return s 10459} 10460 10461// SetShowCacheClustersNotInReplicationGroups sets the ShowCacheClustersNotInReplicationGroups field's value. 10462func (s *DescribeCacheClustersInput) SetShowCacheClustersNotInReplicationGroups(v bool) *DescribeCacheClustersInput { 10463 s.ShowCacheClustersNotInReplicationGroups = &v 10464 return s 10465} 10466 10467// SetShowCacheNodeInfo sets the ShowCacheNodeInfo field's value. 10468func (s *DescribeCacheClustersInput) SetShowCacheNodeInfo(v bool) *DescribeCacheClustersInput { 10469 s.ShowCacheNodeInfo = &v 10470 return s 10471} 10472 10473// Represents the output of a DescribeCacheClusters operation. 10474type DescribeCacheClustersOutput struct { 10475 _ struct{} `type:"structure"` 10476 10477 // A list of clusters. Each item in the list contains detailed information about 10478 // one cluster. 10479 CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"` 10480 10481 // Provides an identifier to allow retrieval of paginated results. 10482 Marker *string `type:"string"` 10483} 10484 10485// String returns the string representation 10486func (s DescribeCacheClustersOutput) String() string { 10487 return awsutil.Prettify(s) 10488} 10489 10490// GoString returns the string representation 10491func (s DescribeCacheClustersOutput) GoString() string { 10492 return s.String() 10493} 10494 10495// SetCacheClusters sets the CacheClusters field's value. 10496func (s *DescribeCacheClustersOutput) SetCacheClusters(v []*CacheCluster) *DescribeCacheClustersOutput { 10497 s.CacheClusters = v 10498 return s 10499} 10500 10501// SetMarker sets the Marker field's value. 10502func (s *DescribeCacheClustersOutput) SetMarker(v string) *DescribeCacheClustersOutput { 10503 s.Marker = &v 10504 return s 10505} 10506 10507// Represents the input of a DescribeCacheEngineVersions operation. 10508type DescribeCacheEngineVersionsInput struct { 10509 _ struct{} `type:"structure"` 10510 10511 // The name of a specific cache parameter group family to return details for. 10512 // 10513 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 10514 // | redis4.0 | redis5.0 | 10515 // 10516 // Constraints: 10517 // 10518 // * Must be 1 to 255 alphanumeric characters 10519 // 10520 // * First character must be a letter 10521 // 10522 // * Cannot end with a hyphen or contain two consecutive hyphens 10523 CacheParameterGroupFamily *string `type:"string"` 10524 10525 // If true, specifies that only the default version of the specified engine 10526 // or engine and major version combination is to be returned. 10527 DefaultOnly *bool `type:"boolean"` 10528 10529 // The cache engine to return. Valid values: memcached | redis 10530 Engine *string `type:"string"` 10531 10532 // The cache engine version to return. 10533 // 10534 // Example: 1.4.14 10535 EngineVersion *string `type:"string"` 10536 10537 // An optional marker returned from a prior request. Use this marker for pagination 10538 // of results from this operation. If this parameter is specified, the response 10539 // includes only records beyond the marker, up to the value specified by MaxRecords. 10540 Marker *string `type:"string"` 10541 10542 // The maximum number of records to include in the response. If more records 10543 // exist than the specified MaxRecords value, a marker is included in the response 10544 // so that the remaining results can be retrieved. 10545 // 10546 // Default: 100 10547 // 10548 // Constraints: minimum 20; maximum 100. 10549 MaxRecords *int64 `type:"integer"` 10550} 10551 10552// String returns the string representation 10553func (s DescribeCacheEngineVersionsInput) String() string { 10554 return awsutil.Prettify(s) 10555} 10556 10557// GoString returns the string representation 10558func (s DescribeCacheEngineVersionsInput) GoString() string { 10559 return s.String() 10560} 10561 10562// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 10563func (s *DescribeCacheEngineVersionsInput) SetCacheParameterGroupFamily(v string) *DescribeCacheEngineVersionsInput { 10564 s.CacheParameterGroupFamily = &v 10565 return s 10566} 10567 10568// SetDefaultOnly sets the DefaultOnly field's value. 10569func (s *DescribeCacheEngineVersionsInput) SetDefaultOnly(v bool) *DescribeCacheEngineVersionsInput { 10570 s.DefaultOnly = &v 10571 return s 10572} 10573 10574// SetEngine sets the Engine field's value. 10575func (s *DescribeCacheEngineVersionsInput) SetEngine(v string) *DescribeCacheEngineVersionsInput { 10576 s.Engine = &v 10577 return s 10578} 10579 10580// SetEngineVersion sets the EngineVersion field's value. 10581func (s *DescribeCacheEngineVersionsInput) SetEngineVersion(v string) *DescribeCacheEngineVersionsInput { 10582 s.EngineVersion = &v 10583 return s 10584} 10585 10586// SetMarker sets the Marker field's value. 10587func (s *DescribeCacheEngineVersionsInput) SetMarker(v string) *DescribeCacheEngineVersionsInput { 10588 s.Marker = &v 10589 return s 10590} 10591 10592// SetMaxRecords sets the MaxRecords field's value. 10593func (s *DescribeCacheEngineVersionsInput) SetMaxRecords(v int64) *DescribeCacheEngineVersionsInput { 10594 s.MaxRecords = &v 10595 return s 10596} 10597 10598// Represents the output of a DescribeCacheEngineVersions operation. 10599type DescribeCacheEngineVersionsOutput struct { 10600 _ struct{} `type:"structure"` 10601 10602 // A list of cache engine version details. Each element in the list contains 10603 // detailed information about one cache engine version. 10604 CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"` 10605 10606 // Provides an identifier to allow retrieval of paginated results. 10607 Marker *string `type:"string"` 10608} 10609 10610// String returns the string representation 10611func (s DescribeCacheEngineVersionsOutput) String() string { 10612 return awsutil.Prettify(s) 10613} 10614 10615// GoString returns the string representation 10616func (s DescribeCacheEngineVersionsOutput) GoString() string { 10617 return s.String() 10618} 10619 10620// SetCacheEngineVersions sets the CacheEngineVersions field's value. 10621func (s *DescribeCacheEngineVersionsOutput) SetCacheEngineVersions(v []*CacheEngineVersion) *DescribeCacheEngineVersionsOutput { 10622 s.CacheEngineVersions = v 10623 return s 10624} 10625 10626// SetMarker sets the Marker field's value. 10627func (s *DescribeCacheEngineVersionsOutput) SetMarker(v string) *DescribeCacheEngineVersionsOutput { 10628 s.Marker = &v 10629 return s 10630} 10631 10632// Represents the input of a DescribeCacheParameterGroups operation. 10633type DescribeCacheParameterGroupsInput struct { 10634 _ struct{} `type:"structure"` 10635 10636 // The name of a specific cache parameter group to return details for. 10637 CacheParameterGroupName *string `type:"string"` 10638 10639 // An optional marker returned from a prior request. Use this marker for pagination 10640 // of results from this operation. If this parameter is specified, the response 10641 // includes only records beyond the marker, up to the value specified by MaxRecords. 10642 Marker *string `type:"string"` 10643 10644 // The maximum number of records to include in the response. If more records 10645 // exist than the specified MaxRecords value, a marker is included in the response 10646 // so that the remaining results can be retrieved. 10647 // 10648 // Default: 100 10649 // 10650 // Constraints: minimum 20; maximum 100. 10651 MaxRecords *int64 `type:"integer"` 10652} 10653 10654// String returns the string representation 10655func (s DescribeCacheParameterGroupsInput) String() string { 10656 return awsutil.Prettify(s) 10657} 10658 10659// GoString returns the string representation 10660func (s DescribeCacheParameterGroupsInput) GoString() string { 10661 return s.String() 10662} 10663 10664// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10665func (s *DescribeCacheParameterGroupsInput) SetCacheParameterGroupName(v string) *DescribeCacheParameterGroupsInput { 10666 s.CacheParameterGroupName = &v 10667 return s 10668} 10669 10670// SetMarker sets the Marker field's value. 10671func (s *DescribeCacheParameterGroupsInput) SetMarker(v string) *DescribeCacheParameterGroupsInput { 10672 s.Marker = &v 10673 return s 10674} 10675 10676// SetMaxRecords sets the MaxRecords field's value. 10677func (s *DescribeCacheParameterGroupsInput) SetMaxRecords(v int64) *DescribeCacheParameterGroupsInput { 10678 s.MaxRecords = &v 10679 return s 10680} 10681 10682// Represents the output of a DescribeCacheParameterGroups operation. 10683type DescribeCacheParameterGroupsOutput struct { 10684 _ struct{} `type:"structure"` 10685 10686 // A list of cache parameter groups. Each element in the list contains detailed 10687 // information about one cache parameter group. 10688 CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"` 10689 10690 // Provides an identifier to allow retrieval of paginated results. 10691 Marker *string `type:"string"` 10692} 10693 10694// String returns the string representation 10695func (s DescribeCacheParameterGroupsOutput) String() string { 10696 return awsutil.Prettify(s) 10697} 10698 10699// GoString returns the string representation 10700func (s DescribeCacheParameterGroupsOutput) GoString() string { 10701 return s.String() 10702} 10703 10704// SetCacheParameterGroups sets the CacheParameterGroups field's value. 10705func (s *DescribeCacheParameterGroupsOutput) SetCacheParameterGroups(v []*CacheParameterGroup) *DescribeCacheParameterGroupsOutput { 10706 s.CacheParameterGroups = v 10707 return s 10708} 10709 10710// SetMarker sets the Marker field's value. 10711func (s *DescribeCacheParameterGroupsOutput) SetMarker(v string) *DescribeCacheParameterGroupsOutput { 10712 s.Marker = &v 10713 return s 10714} 10715 10716// Represents the input of a DescribeCacheParameters operation. 10717type DescribeCacheParametersInput struct { 10718 _ struct{} `type:"structure"` 10719 10720 // The name of a specific cache parameter group to return details for. 10721 // 10722 // CacheParameterGroupName is a required field 10723 CacheParameterGroupName *string `type:"string" required:"true"` 10724 10725 // An optional marker returned from a prior request. Use this marker for pagination 10726 // of results from this operation. If this parameter is specified, the response 10727 // includes only records beyond the marker, up to the value specified by MaxRecords. 10728 Marker *string `type:"string"` 10729 10730 // The maximum number of records to include in the response. If more records 10731 // exist than the specified MaxRecords value, a marker is included in the response 10732 // so that the remaining results can be retrieved. 10733 // 10734 // Default: 100 10735 // 10736 // Constraints: minimum 20; maximum 100. 10737 MaxRecords *int64 `type:"integer"` 10738 10739 // The parameter types to return. 10740 // 10741 // Valid values: user | system | engine-default 10742 Source *string `type:"string"` 10743} 10744 10745// String returns the string representation 10746func (s DescribeCacheParametersInput) String() string { 10747 return awsutil.Prettify(s) 10748} 10749 10750// GoString returns the string representation 10751func (s DescribeCacheParametersInput) GoString() string { 10752 return s.String() 10753} 10754 10755// Validate inspects the fields of the type to determine if they are valid. 10756func (s *DescribeCacheParametersInput) Validate() error { 10757 invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} 10758 if s.CacheParameterGroupName == nil { 10759 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 10760 } 10761 10762 if invalidParams.Len() > 0 { 10763 return invalidParams 10764 } 10765 return nil 10766} 10767 10768// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10769func (s *DescribeCacheParametersInput) SetCacheParameterGroupName(v string) *DescribeCacheParametersInput { 10770 s.CacheParameterGroupName = &v 10771 return s 10772} 10773 10774// SetMarker sets the Marker field's value. 10775func (s *DescribeCacheParametersInput) SetMarker(v string) *DescribeCacheParametersInput { 10776 s.Marker = &v 10777 return s 10778} 10779 10780// SetMaxRecords sets the MaxRecords field's value. 10781func (s *DescribeCacheParametersInput) SetMaxRecords(v int64) *DescribeCacheParametersInput { 10782 s.MaxRecords = &v 10783 return s 10784} 10785 10786// SetSource sets the Source field's value. 10787func (s *DescribeCacheParametersInput) SetSource(v string) *DescribeCacheParametersInput { 10788 s.Source = &v 10789 return s 10790} 10791 10792// Represents the output of a DescribeCacheParameters operation. 10793type DescribeCacheParametersOutput struct { 10794 _ struct{} `type:"structure"` 10795 10796 // A list of parameters specific to a particular cache node type. Each element 10797 // in the list contains detailed information about one parameter. 10798 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 10799 10800 // Provides an identifier to allow retrieval of paginated results. 10801 Marker *string `type:"string"` 10802 10803 // A list of Parameter instances. 10804 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 10805} 10806 10807// String returns the string representation 10808func (s DescribeCacheParametersOutput) String() string { 10809 return awsutil.Prettify(s) 10810} 10811 10812// GoString returns the string representation 10813func (s DescribeCacheParametersOutput) GoString() string { 10814 return s.String() 10815} 10816 10817// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 10818func (s *DescribeCacheParametersOutput) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *DescribeCacheParametersOutput { 10819 s.CacheNodeTypeSpecificParameters = v 10820 return s 10821} 10822 10823// SetMarker sets the Marker field's value. 10824func (s *DescribeCacheParametersOutput) SetMarker(v string) *DescribeCacheParametersOutput { 10825 s.Marker = &v 10826 return s 10827} 10828 10829// SetParameters sets the Parameters field's value. 10830func (s *DescribeCacheParametersOutput) SetParameters(v []*Parameter) *DescribeCacheParametersOutput { 10831 s.Parameters = v 10832 return s 10833} 10834 10835// Represents the input of a DescribeCacheSecurityGroups operation. 10836type DescribeCacheSecurityGroupsInput struct { 10837 _ struct{} `type:"structure"` 10838 10839 // The name of the cache security group to return details for. 10840 CacheSecurityGroupName *string `type:"string"` 10841 10842 // An optional marker returned from a prior request. Use this marker for pagination 10843 // of results from this operation. If this parameter is specified, the response 10844 // includes only records beyond the marker, up to the value specified by MaxRecords. 10845 Marker *string `type:"string"` 10846 10847 // The maximum number of records to include in the response. If more records 10848 // exist than the specified MaxRecords value, a marker is included in the response 10849 // so that the remaining results can be retrieved. 10850 // 10851 // Default: 100 10852 // 10853 // Constraints: minimum 20; maximum 100. 10854 MaxRecords *int64 `type:"integer"` 10855} 10856 10857// String returns the string representation 10858func (s DescribeCacheSecurityGroupsInput) String() string { 10859 return awsutil.Prettify(s) 10860} 10861 10862// GoString returns the string representation 10863func (s DescribeCacheSecurityGroupsInput) GoString() string { 10864 return s.String() 10865} 10866 10867// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 10868func (s *DescribeCacheSecurityGroupsInput) SetCacheSecurityGroupName(v string) *DescribeCacheSecurityGroupsInput { 10869 s.CacheSecurityGroupName = &v 10870 return s 10871} 10872 10873// SetMarker sets the Marker field's value. 10874func (s *DescribeCacheSecurityGroupsInput) SetMarker(v string) *DescribeCacheSecurityGroupsInput { 10875 s.Marker = &v 10876 return s 10877} 10878 10879// SetMaxRecords sets the MaxRecords field's value. 10880func (s *DescribeCacheSecurityGroupsInput) SetMaxRecords(v int64) *DescribeCacheSecurityGroupsInput { 10881 s.MaxRecords = &v 10882 return s 10883} 10884 10885// Represents the output of a DescribeCacheSecurityGroups operation. 10886type DescribeCacheSecurityGroupsOutput struct { 10887 _ struct{} `type:"structure"` 10888 10889 // A list of cache security groups. Each element in the list contains detailed 10890 // information about one group. 10891 CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"` 10892 10893 // Provides an identifier to allow retrieval of paginated results. 10894 Marker *string `type:"string"` 10895} 10896 10897// String returns the string representation 10898func (s DescribeCacheSecurityGroupsOutput) String() string { 10899 return awsutil.Prettify(s) 10900} 10901 10902// GoString returns the string representation 10903func (s DescribeCacheSecurityGroupsOutput) GoString() string { 10904 return s.String() 10905} 10906 10907// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 10908func (s *DescribeCacheSecurityGroupsOutput) SetCacheSecurityGroups(v []*CacheSecurityGroup) *DescribeCacheSecurityGroupsOutput { 10909 s.CacheSecurityGroups = v 10910 return s 10911} 10912 10913// SetMarker sets the Marker field's value. 10914func (s *DescribeCacheSecurityGroupsOutput) SetMarker(v string) *DescribeCacheSecurityGroupsOutput { 10915 s.Marker = &v 10916 return s 10917} 10918 10919// Represents the input of a DescribeCacheSubnetGroups operation. 10920type DescribeCacheSubnetGroupsInput struct { 10921 _ struct{} `type:"structure"` 10922 10923 // The name of the cache subnet group to return details for. 10924 CacheSubnetGroupName *string `type:"string"` 10925 10926 // An optional marker returned from a prior request. Use this marker for pagination 10927 // of results from this operation. If this parameter is specified, the response 10928 // includes only records beyond the marker, up to the value specified by MaxRecords. 10929 Marker *string `type:"string"` 10930 10931 // The maximum number of records to include in the response. If more records 10932 // exist than the specified MaxRecords value, a marker is included in the response 10933 // so that the remaining results can be retrieved. 10934 // 10935 // Default: 100 10936 // 10937 // Constraints: minimum 20; maximum 100. 10938 MaxRecords *int64 `type:"integer"` 10939} 10940 10941// String returns the string representation 10942func (s DescribeCacheSubnetGroupsInput) String() string { 10943 return awsutil.Prettify(s) 10944} 10945 10946// GoString returns the string representation 10947func (s DescribeCacheSubnetGroupsInput) GoString() string { 10948 return s.String() 10949} 10950 10951// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10952func (s *DescribeCacheSubnetGroupsInput) SetCacheSubnetGroupName(v string) *DescribeCacheSubnetGroupsInput { 10953 s.CacheSubnetGroupName = &v 10954 return s 10955} 10956 10957// SetMarker sets the Marker field's value. 10958func (s *DescribeCacheSubnetGroupsInput) SetMarker(v string) *DescribeCacheSubnetGroupsInput { 10959 s.Marker = &v 10960 return s 10961} 10962 10963// SetMaxRecords sets the MaxRecords field's value. 10964func (s *DescribeCacheSubnetGroupsInput) SetMaxRecords(v int64) *DescribeCacheSubnetGroupsInput { 10965 s.MaxRecords = &v 10966 return s 10967} 10968 10969// Represents the output of a DescribeCacheSubnetGroups operation. 10970type DescribeCacheSubnetGroupsOutput struct { 10971 _ struct{} `type:"structure"` 10972 10973 // A list of cache subnet groups. Each element in the list contains detailed 10974 // information about one group. 10975 CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"` 10976 10977 // Provides an identifier to allow retrieval of paginated results. 10978 Marker *string `type:"string"` 10979} 10980 10981// String returns the string representation 10982func (s DescribeCacheSubnetGroupsOutput) String() string { 10983 return awsutil.Prettify(s) 10984} 10985 10986// GoString returns the string representation 10987func (s DescribeCacheSubnetGroupsOutput) GoString() string { 10988 return s.String() 10989} 10990 10991// SetCacheSubnetGroups sets the CacheSubnetGroups field's value. 10992func (s *DescribeCacheSubnetGroupsOutput) SetCacheSubnetGroups(v []*CacheSubnetGroup) *DescribeCacheSubnetGroupsOutput { 10993 s.CacheSubnetGroups = v 10994 return s 10995} 10996 10997// SetMarker sets the Marker field's value. 10998func (s *DescribeCacheSubnetGroupsOutput) SetMarker(v string) *DescribeCacheSubnetGroupsOutput { 10999 s.Marker = &v 11000 return s 11001} 11002 11003// Represents the input of a DescribeEngineDefaultParameters operation. 11004type DescribeEngineDefaultParametersInput struct { 11005 _ struct{} `type:"structure"` 11006 11007 // The name of the cache parameter group family. 11008 // 11009 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 11010 // | redis4.0 | redis5.0 | 11011 // 11012 // CacheParameterGroupFamily is a required field 11013 CacheParameterGroupFamily *string `type:"string" required:"true"` 11014 11015 // An optional marker returned from a prior request. Use this marker for pagination 11016 // of results from this operation. If this parameter is specified, the response 11017 // includes only records beyond the marker, up to the value specified by MaxRecords. 11018 Marker *string `type:"string"` 11019 11020 // The maximum number of records to include in the response. If more records 11021 // exist than the specified MaxRecords value, a marker is included in the response 11022 // so that the remaining results can be retrieved. 11023 // 11024 // Default: 100 11025 // 11026 // Constraints: minimum 20; maximum 100. 11027 MaxRecords *int64 `type:"integer"` 11028} 11029 11030// String returns the string representation 11031func (s DescribeEngineDefaultParametersInput) String() string { 11032 return awsutil.Prettify(s) 11033} 11034 11035// GoString returns the string representation 11036func (s DescribeEngineDefaultParametersInput) GoString() string { 11037 return s.String() 11038} 11039 11040// Validate inspects the fields of the type to determine if they are valid. 11041func (s *DescribeEngineDefaultParametersInput) Validate() error { 11042 invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} 11043 if s.CacheParameterGroupFamily == nil { 11044 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 11045 } 11046 11047 if invalidParams.Len() > 0 { 11048 return invalidParams 11049 } 11050 return nil 11051} 11052 11053// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 11054func (s *DescribeEngineDefaultParametersInput) SetCacheParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput { 11055 s.CacheParameterGroupFamily = &v 11056 return s 11057} 11058 11059// SetMarker sets the Marker field's value. 11060func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput { 11061 s.Marker = &v 11062 return s 11063} 11064 11065// SetMaxRecords sets the MaxRecords field's value. 11066func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput { 11067 s.MaxRecords = &v 11068 return s 11069} 11070 11071type DescribeEngineDefaultParametersOutput struct { 11072 _ struct{} `type:"structure"` 11073 11074 // Represents the output of a DescribeEngineDefaultParameters operation. 11075 EngineDefaults *EngineDefaults `type:"structure"` 11076} 11077 11078// String returns the string representation 11079func (s DescribeEngineDefaultParametersOutput) String() string { 11080 return awsutil.Prettify(s) 11081} 11082 11083// GoString returns the string representation 11084func (s DescribeEngineDefaultParametersOutput) GoString() string { 11085 return s.String() 11086} 11087 11088// SetEngineDefaults sets the EngineDefaults field's value. 11089func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput { 11090 s.EngineDefaults = v 11091 return s 11092} 11093 11094// Represents the input of a DescribeEvents operation. 11095type DescribeEventsInput struct { 11096 _ struct{} `type:"structure"` 11097 11098 // The number of minutes worth of events to retrieve. 11099 Duration *int64 `type:"integer"` 11100 11101 // The end of the time interval for which to retrieve events, specified in ISO 11102 // 8601 format. 11103 // 11104 // Example: 2017-03-30T07:03:49.555Z 11105 EndTime *time.Time `type:"timestamp"` 11106 11107 // An optional marker returned from a prior request. Use this marker for pagination 11108 // of results from this operation. If this parameter is specified, the response 11109 // includes only records beyond the marker, up to the value specified by MaxRecords. 11110 Marker *string `type:"string"` 11111 11112 // The maximum number of records to include in the response. If more records 11113 // exist than the specified MaxRecords value, a marker is included in the response 11114 // so that the remaining results can be retrieved. 11115 // 11116 // Default: 100 11117 // 11118 // Constraints: minimum 20; maximum 100. 11119 MaxRecords *int64 `type:"integer"` 11120 11121 // The identifier of the event source for which events are returned. If not 11122 // specified, all sources are included in the response. 11123 SourceIdentifier *string `type:"string"` 11124 11125 // The event source to retrieve events for. If no value is specified, all events 11126 // are returned. 11127 SourceType *string `type:"string" enum:"SourceType"` 11128 11129 // The beginning of the time interval to retrieve events for, specified in ISO 11130 // 8601 format. 11131 // 11132 // Example: 2017-03-30T07:03:49.555Z 11133 StartTime *time.Time `type:"timestamp"` 11134} 11135 11136// String returns the string representation 11137func (s DescribeEventsInput) String() string { 11138 return awsutil.Prettify(s) 11139} 11140 11141// GoString returns the string representation 11142func (s DescribeEventsInput) GoString() string { 11143 return s.String() 11144} 11145 11146// SetDuration sets the Duration field's value. 11147func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 11148 s.Duration = &v 11149 return s 11150} 11151 11152// SetEndTime sets the EndTime field's value. 11153func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 11154 s.EndTime = &v 11155 return s 11156} 11157 11158// SetMarker sets the Marker field's value. 11159func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 11160 s.Marker = &v 11161 return s 11162} 11163 11164// SetMaxRecords sets the MaxRecords field's value. 11165func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 11166 s.MaxRecords = &v 11167 return s 11168} 11169 11170// SetSourceIdentifier sets the SourceIdentifier field's value. 11171func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 11172 s.SourceIdentifier = &v 11173 return s 11174} 11175 11176// SetSourceType sets the SourceType field's value. 11177func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 11178 s.SourceType = &v 11179 return s 11180} 11181 11182// SetStartTime sets the StartTime field's value. 11183func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 11184 s.StartTime = &v 11185 return s 11186} 11187 11188// Represents the output of a DescribeEvents operation. 11189type DescribeEventsOutput struct { 11190 _ struct{} `type:"structure"` 11191 11192 // A list of events. Each element in the list contains detailed information 11193 // about one event. 11194 Events []*Event `locationNameList:"Event" type:"list"` 11195 11196 // Provides an identifier to allow retrieval of paginated results. 11197 Marker *string `type:"string"` 11198} 11199 11200// String returns the string representation 11201func (s DescribeEventsOutput) String() string { 11202 return awsutil.Prettify(s) 11203} 11204 11205// GoString returns the string representation 11206func (s DescribeEventsOutput) GoString() string { 11207 return s.String() 11208} 11209 11210// SetEvents sets the Events field's value. 11211func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 11212 s.Events = v 11213 return s 11214} 11215 11216// SetMarker sets the Marker field's value. 11217func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 11218 s.Marker = &v 11219 return s 11220} 11221 11222type DescribeGlobalReplicationGroupsInput struct { 11223 _ struct{} `type:"structure"` 11224 11225 // The name of the Global Datastore 11226 GlobalReplicationGroupId *string `type:"string"` 11227 11228 // An optional marker returned from a prior request. Use this marker for pagination 11229 // of results from this operation. If this parameter is specified, the response 11230 // includes only records beyond the marker, up to the value specified by MaxRecords. 11231 Marker *string `type:"string"` 11232 11233 // The maximum number of records to include in the response. If more records 11234 // exist than the specified MaxRecords value, a marker is included in the response 11235 // so that the remaining results can be retrieved. 11236 MaxRecords *int64 `type:"integer"` 11237 11238 // Returns the list of members that comprise the Global Datastore. 11239 ShowMemberInfo *bool `type:"boolean"` 11240} 11241 11242// String returns the string representation 11243func (s DescribeGlobalReplicationGroupsInput) String() string { 11244 return awsutil.Prettify(s) 11245} 11246 11247// GoString returns the string representation 11248func (s DescribeGlobalReplicationGroupsInput) GoString() string { 11249 return s.String() 11250} 11251 11252// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 11253func (s *DescribeGlobalReplicationGroupsInput) SetGlobalReplicationGroupId(v string) *DescribeGlobalReplicationGroupsInput { 11254 s.GlobalReplicationGroupId = &v 11255 return s 11256} 11257 11258// SetMarker sets the Marker field's value. 11259func (s *DescribeGlobalReplicationGroupsInput) SetMarker(v string) *DescribeGlobalReplicationGroupsInput { 11260 s.Marker = &v 11261 return s 11262} 11263 11264// SetMaxRecords sets the MaxRecords field's value. 11265func (s *DescribeGlobalReplicationGroupsInput) SetMaxRecords(v int64) *DescribeGlobalReplicationGroupsInput { 11266 s.MaxRecords = &v 11267 return s 11268} 11269 11270// SetShowMemberInfo sets the ShowMemberInfo field's value. 11271func (s *DescribeGlobalReplicationGroupsInput) SetShowMemberInfo(v bool) *DescribeGlobalReplicationGroupsInput { 11272 s.ShowMemberInfo = &v 11273 return s 11274} 11275 11276type DescribeGlobalReplicationGroupsOutput struct { 11277 _ struct{} `type:"structure"` 11278 11279 // Indicates the slot configuration and global identifier for each slice group. 11280 GlobalReplicationGroups []*GlobalReplicationGroup `locationNameList:"GlobalReplicationGroup" type:"list"` 11281 11282 // An optional marker returned from a prior request. Use this marker for pagination 11283 // of results from this operation. If this parameter is specified, the response 11284 // includes only records beyond the marker, up to the value specified by MaxRecords. 11285 // > 11286 Marker *string `type:"string"` 11287} 11288 11289// String returns the string representation 11290func (s DescribeGlobalReplicationGroupsOutput) String() string { 11291 return awsutil.Prettify(s) 11292} 11293 11294// GoString returns the string representation 11295func (s DescribeGlobalReplicationGroupsOutput) GoString() string { 11296 return s.String() 11297} 11298 11299// SetGlobalReplicationGroups sets the GlobalReplicationGroups field's value. 11300func (s *DescribeGlobalReplicationGroupsOutput) SetGlobalReplicationGroups(v []*GlobalReplicationGroup) *DescribeGlobalReplicationGroupsOutput { 11301 s.GlobalReplicationGroups = v 11302 return s 11303} 11304 11305// SetMarker sets the Marker field's value. 11306func (s *DescribeGlobalReplicationGroupsOutput) SetMarker(v string) *DescribeGlobalReplicationGroupsOutput { 11307 s.Marker = &v 11308 return s 11309} 11310 11311// Represents the input of a DescribeReplicationGroups operation. 11312type DescribeReplicationGroupsInput struct { 11313 _ struct{} `type:"structure"` 11314 11315 // An optional marker returned from a prior request. Use this marker for pagination 11316 // of results from this operation. If this parameter is specified, the response 11317 // includes only records beyond the marker, up to the value specified by MaxRecords. 11318 Marker *string `type:"string"` 11319 11320 // The maximum number of records to include in the response. If more records 11321 // exist than the specified MaxRecords value, a marker is included in the response 11322 // so that the remaining results can be retrieved. 11323 // 11324 // Default: 100 11325 // 11326 // Constraints: minimum 20; maximum 100. 11327 MaxRecords *int64 `type:"integer"` 11328 11329 // The identifier for the replication group to be described. This parameter 11330 // is not case sensitive. 11331 // 11332 // If you do not specify this parameter, information about all replication groups 11333 // is returned. 11334 ReplicationGroupId *string `type:"string"` 11335} 11336 11337// String returns the string representation 11338func (s DescribeReplicationGroupsInput) String() string { 11339 return awsutil.Prettify(s) 11340} 11341 11342// GoString returns the string representation 11343func (s DescribeReplicationGroupsInput) GoString() string { 11344 return s.String() 11345} 11346 11347// SetMarker sets the Marker field's value. 11348func (s *DescribeReplicationGroupsInput) SetMarker(v string) *DescribeReplicationGroupsInput { 11349 s.Marker = &v 11350 return s 11351} 11352 11353// SetMaxRecords sets the MaxRecords field's value. 11354func (s *DescribeReplicationGroupsInput) SetMaxRecords(v int64) *DescribeReplicationGroupsInput { 11355 s.MaxRecords = &v 11356 return s 11357} 11358 11359// SetReplicationGroupId sets the ReplicationGroupId field's value. 11360func (s *DescribeReplicationGroupsInput) SetReplicationGroupId(v string) *DescribeReplicationGroupsInput { 11361 s.ReplicationGroupId = &v 11362 return s 11363} 11364 11365// Represents the output of a DescribeReplicationGroups operation. 11366type DescribeReplicationGroupsOutput struct { 11367 _ struct{} `type:"structure"` 11368 11369 // Provides an identifier to allow retrieval of paginated results. 11370 Marker *string `type:"string"` 11371 11372 // A list of replication groups. Each item in the list contains detailed information 11373 // about one replication group. 11374 ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"` 11375} 11376 11377// String returns the string representation 11378func (s DescribeReplicationGroupsOutput) String() string { 11379 return awsutil.Prettify(s) 11380} 11381 11382// GoString returns the string representation 11383func (s DescribeReplicationGroupsOutput) GoString() string { 11384 return s.String() 11385} 11386 11387// SetMarker sets the Marker field's value. 11388func (s *DescribeReplicationGroupsOutput) SetMarker(v string) *DescribeReplicationGroupsOutput { 11389 s.Marker = &v 11390 return s 11391} 11392 11393// SetReplicationGroups sets the ReplicationGroups field's value. 11394func (s *DescribeReplicationGroupsOutput) SetReplicationGroups(v []*ReplicationGroup) *DescribeReplicationGroupsOutput { 11395 s.ReplicationGroups = v 11396 return s 11397} 11398 11399// Represents the input of a DescribeReservedCacheNodes operation. 11400type DescribeReservedCacheNodesInput struct { 11401 _ struct{} `type:"structure"` 11402 11403 // The cache node type filter value. Use this parameter to show only those reservations 11404 // matching the specified cache node type. 11405 // 11406 // The following node types are supported by ElastiCache. Generally speaking, 11407 // the current generation types provide more memory and computational power 11408 // at lower cost when compared to their equivalent previous generation counterparts. 11409 // 11410 // * General purpose: Current generation: M5 node types: cache.m5.large, 11411 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 11412 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 11413 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 11414 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 11415 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 11416 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 11417 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 11418 // 11419 // * Compute optimized: Previous generation: (not recommended) C1 node types: 11420 // cache.c1.xlarge 11421 // 11422 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 11423 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 11424 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 11425 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 11426 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 11427 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 11428 // cache.r3.8xlarge 11429 // 11430 // Additional node type info 11431 // 11432 // * All current generation instance types are created in Amazon VPC by default. 11433 // 11434 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 11435 // 11436 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 11437 // 11438 // * Redis configuration variables appendonly and appendfsync are not supported 11439 // on Redis version 2.8.22 and later. 11440 CacheNodeType *string `type:"string"` 11441 11442 // The duration filter value, specified in years or seconds. Use this parameter 11443 // to show only reservations for this duration. 11444 // 11445 // Valid Values: 1 | 3 | 31536000 | 94608000 11446 Duration *string `type:"string"` 11447 11448 // An optional marker returned from a prior request. Use this marker for pagination 11449 // of results from this operation. If this parameter is specified, the response 11450 // includes only records beyond the marker, up to the value specified by MaxRecords. 11451 Marker *string `type:"string"` 11452 11453 // The maximum number of records to include in the response. If more records 11454 // exist than the specified MaxRecords value, a marker is included in the response 11455 // so that the remaining results can be retrieved. 11456 // 11457 // Default: 100 11458 // 11459 // Constraints: minimum 20; maximum 100. 11460 MaxRecords *int64 `type:"integer"` 11461 11462 // The offering type filter value. Use this parameter to show only the available 11463 // offerings matching the specified offering type. 11464 // 11465 // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 11466 OfferingType *string `type:"string"` 11467 11468 // The product description filter value. Use this parameter to show only those 11469 // reservations matching the specified product description. 11470 ProductDescription *string `type:"string"` 11471 11472 // The reserved cache node identifier filter value. Use this parameter to show 11473 // only the reservation that matches the specified reservation ID. 11474 ReservedCacheNodeId *string `type:"string"` 11475 11476 // The offering identifier filter value. Use this parameter to show only purchased 11477 // reservations matching the specified offering identifier. 11478 ReservedCacheNodesOfferingId *string `type:"string"` 11479} 11480 11481// String returns the string representation 11482func (s DescribeReservedCacheNodesInput) String() string { 11483 return awsutil.Prettify(s) 11484} 11485 11486// GoString returns the string representation 11487func (s DescribeReservedCacheNodesInput) GoString() string { 11488 return s.String() 11489} 11490 11491// SetCacheNodeType sets the CacheNodeType field's value. 11492func (s *DescribeReservedCacheNodesInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesInput { 11493 s.CacheNodeType = &v 11494 return s 11495} 11496 11497// SetDuration sets the Duration field's value. 11498func (s *DescribeReservedCacheNodesInput) SetDuration(v string) *DescribeReservedCacheNodesInput { 11499 s.Duration = &v 11500 return s 11501} 11502 11503// SetMarker sets the Marker field's value. 11504func (s *DescribeReservedCacheNodesInput) SetMarker(v string) *DescribeReservedCacheNodesInput { 11505 s.Marker = &v 11506 return s 11507} 11508 11509// SetMaxRecords sets the MaxRecords field's value. 11510func (s *DescribeReservedCacheNodesInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesInput { 11511 s.MaxRecords = &v 11512 return s 11513} 11514 11515// SetOfferingType sets the OfferingType field's value. 11516func (s *DescribeReservedCacheNodesInput) SetOfferingType(v string) *DescribeReservedCacheNodesInput { 11517 s.OfferingType = &v 11518 return s 11519} 11520 11521// SetProductDescription sets the ProductDescription field's value. 11522func (s *DescribeReservedCacheNodesInput) SetProductDescription(v string) *DescribeReservedCacheNodesInput { 11523 s.ProductDescription = &v 11524 return s 11525} 11526 11527// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 11528func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodeId(v string) *DescribeReservedCacheNodesInput { 11529 s.ReservedCacheNodeId = &v 11530 return s 11531} 11532 11533// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 11534func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesInput { 11535 s.ReservedCacheNodesOfferingId = &v 11536 return s 11537} 11538 11539// Represents the input of a DescribeReservedCacheNodesOfferings operation. 11540type DescribeReservedCacheNodesOfferingsInput struct { 11541 _ struct{} `type:"structure"` 11542 11543 // The cache node type filter value. Use this parameter to show only the available 11544 // offerings matching the specified cache node type. 11545 // 11546 // The following node types are supported by ElastiCache. Generally speaking, 11547 // the current generation types provide more memory and computational power 11548 // at lower cost when compared to their equivalent previous generation counterparts. 11549 // 11550 // * General purpose: Current generation: M5 node types: cache.m5.large, 11551 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 11552 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 11553 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 11554 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 11555 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 11556 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 11557 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 11558 // 11559 // * Compute optimized: Previous generation: (not recommended) C1 node types: 11560 // cache.c1.xlarge 11561 // 11562 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 11563 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 11564 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 11565 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 11566 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 11567 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 11568 // cache.r3.8xlarge 11569 // 11570 // Additional node type info 11571 // 11572 // * All current generation instance types are created in Amazon VPC by default. 11573 // 11574 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 11575 // 11576 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 11577 // 11578 // * Redis configuration variables appendonly and appendfsync are not supported 11579 // on Redis version 2.8.22 and later. 11580 CacheNodeType *string `type:"string"` 11581 11582 // Duration filter value, specified in years or seconds. Use this parameter 11583 // to show only reservations for a given duration. 11584 // 11585 // Valid Values: 1 | 3 | 31536000 | 94608000 11586 Duration *string `type:"string"` 11587 11588 // An optional marker returned from a prior request. Use this marker for pagination 11589 // of results from this operation. If this parameter is specified, the response 11590 // includes only records beyond the marker, up to the value specified by MaxRecords. 11591 Marker *string `type:"string"` 11592 11593 // The maximum number of records to include in the response. If more records 11594 // exist than the specified MaxRecords value, a marker is included in the response 11595 // so that the remaining results can be retrieved. 11596 // 11597 // Default: 100 11598 // 11599 // Constraints: minimum 20; maximum 100. 11600 MaxRecords *int64 `type:"integer"` 11601 11602 // The offering type filter value. Use this parameter to show only the available 11603 // offerings matching the specified offering type. 11604 // 11605 // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 11606 OfferingType *string `type:"string"` 11607 11608 // The product description filter value. Use this parameter to show only the 11609 // available offerings matching the specified product description. 11610 ProductDescription *string `type:"string"` 11611 11612 // The offering identifier filter value. Use this parameter to show only the 11613 // available offering that matches the specified reservation identifier. 11614 // 11615 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 11616 ReservedCacheNodesOfferingId *string `type:"string"` 11617} 11618 11619// String returns the string representation 11620func (s DescribeReservedCacheNodesOfferingsInput) String() string { 11621 return awsutil.Prettify(s) 11622} 11623 11624// GoString returns the string representation 11625func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { 11626 return s.String() 11627} 11628 11629// SetCacheNodeType sets the CacheNodeType field's value. 11630func (s *DescribeReservedCacheNodesOfferingsInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesOfferingsInput { 11631 s.CacheNodeType = &v 11632 return s 11633} 11634 11635// SetDuration sets the Duration field's value. 11636func (s *DescribeReservedCacheNodesOfferingsInput) SetDuration(v string) *DescribeReservedCacheNodesOfferingsInput { 11637 s.Duration = &v 11638 return s 11639} 11640 11641// SetMarker sets the Marker field's value. 11642func (s *DescribeReservedCacheNodesOfferingsInput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsInput { 11643 s.Marker = &v 11644 return s 11645} 11646 11647// SetMaxRecords sets the MaxRecords field's value. 11648func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesOfferingsInput { 11649 s.MaxRecords = &v 11650 return s 11651} 11652 11653// SetOfferingType sets the OfferingType field's value. 11654func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { 11655 s.OfferingType = &v 11656 return s 11657} 11658 11659// SetProductDescription sets the ProductDescription field's value. 11660func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { 11661 s.ProductDescription = &v 11662 return s 11663} 11664 11665// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 11666func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { 11667 s.ReservedCacheNodesOfferingId = &v 11668 return s 11669} 11670 11671// Represents the output of a DescribeReservedCacheNodesOfferings operation. 11672type DescribeReservedCacheNodesOfferingsOutput struct { 11673 _ struct{} `type:"structure"` 11674 11675 // Provides an identifier to allow retrieval of paginated results. 11676 Marker *string `type:"string"` 11677 11678 // A list of reserved cache node offerings. Each element in the list contains 11679 // detailed information about one offering. 11680 ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` 11681} 11682 11683// String returns the string representation 11684func (s DescribeReservedCacheNodesOfferingsOutput) String() string { 11685 return awsutil.Prettify(s) 11686} 11687 11688// GoString returns the string representation 11689func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { 11690 return s.String() 11691} 11692 11693// SetMarker sets the Marker field's value. 11694func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { 11695 s.Marker = &v 11696 return s 11697} 11698 11699// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. 11700func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { 11701 s.ReservedCacheNodesOfferings = v 11702 return s 11703} 11704 11705// Represents the output of a DescribeReservedCacheNodes operation. 11706type DescribeReservedCacheNodesOutput struct { 11707 _ struct{} `type:"structure"` 11708 11709 // Provides an identifier to allow retrieval of paginated results. 11710 Marker *string `type:"string"` 11711 11712 // A list of reserved cache nodes. Each element in the list contains detailed 11713 // information about one node. 11714 ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` 11715} 11716 11717// String returns the string representation 11718func (s DescribeReservedCacheNodesOutput) String() string { 11719 return awsutil.Prettify(s) 11720} 11721 11722// GoString returns the string representation 11723func (s DescribeReservedCacheNodesOutput) GoString() string { 11724 return s.String() 11725} 11726 11727// SetMarker sets the Marker field's value. 11728func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { 11729 s.Marker = &v 11730 return s 11731} 11732 11733// SetReservedCacheNodes sets the ReservedCacheNodes field's value. 11734func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { 11735 s.ReservedCacheNodes = v 11736 return s 11737} 11738 11739type DescribeServiceUpdatesInput struct { 11740 _ struct{} `type:"structure"` 11741 11742 // An optional marker returned from a prior request. Use this marker for pagination 11743 // of results from this operation. If this parameter is specified, the response 11744 // includes only records beyond the marker, up to the value specified by MaxRecords. 11745 Marker *string `type:"string"` 11746 11747 // The maximum number of records to include in the response 11748 MaxRecords *int64 `type:"integer"` 11749 11750 // The unique ID of the service update 11751 ServiceUpdateName *string `type:"string"` 11752 11753 // The status of the service update 11754 ServiceUpdateStatus []*string `type:"list"` 11755} 11756 11757// String returns the string representation 11758func (s DescribeServiceUpdatesInput) String() string { 11759 return awsutil.Prettify(s) 11760} 11761 11762// GoString returns the string representation 11763func (s DescribeServiceUpdatesInput) GoString() string { 11764 return s.String() 11765} 11766 11767// SetMarker sets the Marker field's value. 11768func (s *DescribeServiceUpdatesInput) SetMarker(v string) *DescribeServiceUpdatesInput { 11769 s.Marker = &v 11770 return s 11771} 11772 11773// SetMaxRecords sets the MaxRecords field's value. 11774func (s *DescribeServiceUpdatesInput) SetMaxRecords(v int64) *DescribeServiceUpdatesInput { 11775 s.MaxRecords = &v 11776 return s 11777} 11778 11779// SetServiceUpdateName sets the ServiceUpdateName field's value. 11780func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { 11781 s.ServiceUpdateName = &v 11782 return s 11783} 11784 11785// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 11786func (s *DescribeServiceUpdatesInput) SetServiceUpdateStatus(v []*string) *DescribeServiceUpdatesInput { 11787 s.ServiceUpdateStatus = v 11788 return s 11789} 11790 11791type DescribeServiceUpdatesOutput struct { 11792 _ struct{} `type:"structure"` 11793 11794 // An optional marker returned from a prior request. Use this marker for pagination 11795 // of results from this operation. If this parameter is specified, the response 11796 // includes only records beyond the marker, up to the value specified by MaxRecords. 11797 Marker *string `type:"string"` 11798 11799 // A list of service updates 11800 ServiceUpdates []*ServiceUpdate `locationNameList:"ServiceUpdate" type:"list"` 11801} 11802 11803// String returns the string representation 11804func (s DescribeServiceUpdatesOutput) String() string { 11805 return awsutil.Prettify(s) 11806} 11807 11808// GoString returns the string representation 11809func (s DescribeServiceUpdatesOutput) GoString() string { 11810 return s.String() 11811} 11812 11813// SetMarker sets the Marker field's value. 11814func (s *DescribeServiceUpdatesOutput) SetMarker(v string) *DescribeServiceUpdatesOutput { 11815 s.Marker = &v 11816 return s 11817} 11818 11819// SetServiceUpdates sets the ServiceUpdates field's value. 11820func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { 11821 s.ServiceUpdates = v 11822 return s 11823} 11824 11825// Represents the input of a DescribeSnapshotsMessage operation. 11826type DescribeSnapshotsInput struct { 11827 _ struct{} `type:"structure"` 11828 11829 // A user-supplied cluster identifier. If this parameter is specified, only 11830 // snapshots associated with that specific cluster are described. 11831 CacheClusterId *string `type:"string"` 11832 11833 // An optional marker returned from a prior request. Use this marker for pagination 11834 // of results from this operation. If this parameter is specified, the response 11835 // includes only records beyond the marker, up to the value specified by MaxRecords. 11836 Marker *string `type:"string"` 11837 11838 // The maximum number of records to include in the response. If more records 11839 // exist than the specified MaxRecords value, a marker is included in the response 11840 // so that the remaining results can be retrieved. 11841 // 11842 // Default: 50 11843 // 11844 // Constraints: minimum 20; maximum 50. 11845 MaxRecords *int64 `type:"integer"` 11846 11847 // A user-supplied replication group identifier. If this parameter is specified, 11848 // only snapshots associated with that specific replication group are described. 11849 ReplicationGroupId *string `type:"string"` 11850 11851 // A Boolean value which if true, the node group (shard) configuration is included 11852 // in the snapshot description. 11853 ShowNodeGroupConfig *bool `type:"boolean"` 11854 11855 // A user-supplied name of the snapshot. If this parameter is specified, only 11856 // this snapshot are described. 11857 SnapshotName *string `type:"string"` 11858 11859 // If set to system, the output shows snapshots that were automatically created 11860 // by ElastiCache. If set to user the output shows snapshots that were manually 11861 // created. If omitted, the output shows both automatically and manually created 11862 // snapshots. 11863 SnapshotSource *string `type:"string"` 11864} 11865 11866// String returns the string representation 11867func (s DescribeSnapshotsInput) String() string { 11868 return awsutil.Prettify(s) 11869} 11870 11871// GoString returns the string representation 11872func (s DescribeSnapshotsInput) GoString() string { 11873 return s.String() 11874} 11875 11876// SetCacheClusterId sets the CacheClusterId field's value. 11877func (s *DescribeSnapshotsInput) SetCacheClusterId(v string) *DescribeSnapshotsInput { 11878 s.CacheClusterId = &v 11879 return s 11880} 11881 11882// SetMarker sets the Marker field's value. 11883func (s *DescribeSnapshotsInput) SetMarker(v string) *DescribeSnapshotsInput { 11884 s.Marker = &v 11885 return s 11886} 11887 11888// SetMaxRecords sets the MaxRecords field's value. 11889func (s *DescribeSnapshotsInput) SetMaxRecords(v int64) *DescribeSnapshotsInput { 11890 s.MaxRecords = &v 11891 return s 11892} 11893 11894// SetReplicationGroupId sets the ReplicationGroupId field's value. 11895func (s *DescribeSnapshotsInput) SetReplicationGroupId(v string) *DescribeSnapshotsInput { 11896 s.ReplicationGroupId = &v 11897 return s 11898} 11899 11900// SetShowNodeGroupConfig sets the ShowNodeGroupConfig field's value. 11901func (s *DescribeSnapshotsInput) SetShowNodeGroupConfig(v bool) *DescribeSnapshotsInput { 11902 s.ShowNodeGroupConfig = &v 11903 return s 11904} 11905 11906// SetSnapshotName sets the SnapshotName field's value. 11907func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { 11908 s.SnapshotName = &v 11909 return s 11910} 11911 11912// SetSnapshotSource sets the SnapshotSource field's value. 11913func (s *DescribeSnapshotsInput) SetSnapshotSource(v string) *DescribeSnapshotsInput { 11914 s.SnapshotSource = &v 11915 return s 11916} 11917 11918// Represents the output of a DescribeSnapshots operation. 11919type DescribeSnapshotsOutput struct { 11920 _ struct{} `type:"structure"` 11921 11922 // An optional marker returned from a prior request. Use this marker for pagination 11923 // of results from this operation. If this parameter is specified, the response 11924 // includes only records beyond the marker, up to the value specified by MaxRecords. 11925 Marker *string `type:"string"` 11926 11927 // A list of snapshots. Each item in the list contains detailed information 11928 // about one snapshot. 11929 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 11930} 11931 11932// String returns the string representation 11933func (s DescribeSnapshotsOutput) String() string { 11934 return awsutil.Prettify(s) 11935} 11936 11937// GoString returns the string representation 11938func (s DescribeSnapshotsOutput) GoString() string { 11939 return s.String() 11940} 11941 11942// SetMarker sets the Marker field's value. 11943func (s *DescribeSnapshotsOutput) SetMarker(v string) *DescribeSnapshotsOutput { 11944 s.Marker = &v 11945 return s 11946} 11947 11948// SetSnapshots sets the Snapshots field's value. 11949func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { 11950 s.Snapshots = v 11951 return s 11952} 11953 11954type DescribeUpdateActionsInput struct { 11955 _ struct{} `type:"structure"` 11956 11957 // The cache cluster IDs 11958 CacheClusterIds []*string `type:"list"` 11959 11960 // The Elasticache engine to which the update applies. Either Redis or Memcached 11961 Engine *string `type:"string"` 11962 11963 // An optional marker returned from a prior request. Use this marker for pagination 11964 // of results from this operation. If this parameter is specified, the response 11965 // includes only records beyond the marker, up to the value specified by MaxRecords. 11966 Marker *string `type:"string"` 11967 11968 // The maximum number of records to include in the response 11969 MaxRecords *int64 `type:"integer"` 11970 11971 // The replication group IDs 11972 ReplicationGroupIds []*string `type:"list"` 11973 11974 // The unique ID of the service update 11975 ServiceUpdateName *string `type:"string"` 11976 11977 // The status of the service update 11978 ServiceUpdateStatus []*string `type:"list"` 11979 11980 // The range of time specified to search for service updates that are in available 11981 // status 11982 ServiceUpdateTimeRange *TimeRangeFilter `type:"structure"` 11983 11984 // Dictates whether to include node level update status in the response 11985 ShowNodeLevelUpdateStatus *bool `type:"boolean"` 11986 11987 // The status of the update action. 11988 UpdateActionStatus []*string `type:"list"` 11989} 11990 11991// String returns the string representation 11992func (s DescribeUpdateActionsInput) String() string { 11993 return awsutil.Prettify(s) 11994} 11995 11996// GoString returns the string representation 11997func (s DescribeUpdateActionsInput) GoString() string { 11998 return s.String() 11999} 12000 12001// SetCacheClusterIds sets the CacheClusterIds field's value. 12002func (s *DescribeUpdateActionsInput) SetCacheClusterIds(v []*string) *DescribeUpdateActionsInput { 12003 s.CacheClusterIds = v 12004 return s 12005} 12006 12007// SetEngine sets the Engine field's value. 12008func (s *DescribeUpdateActionsInput) SetEngine(v string) *DescribeUpdateActionsInput { 12009 s.Engine = &v 12010 return s 12011} 12012 12013// SetMarker sets the Marker field's value. 12014func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { 12015 s.Marker = &v 12016 return s 12017} 12018 12019// SetMaxRecords sets the MaxRecords field's value. 12020func (s *DescribeUpdateActionsInput) SetMaxRecords(v int64) *DescribeUpdateActionsInput { 12021 s.MaxRecords = &v 12022 return s 12023} 12024 12025// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 12026func (s *DescribeUpdateActionsInput) SetReplicationGroupIds(v []*string) *DescribeUpdateActionsInput { 12027 s.ReplicationGroupIds = v 12028 return s 12029} 12030 12031// SetServiceUpdateName sets the ServiceUpdateName field's value. 12032func (s *DescribeUpdateActionsInput) SetServiceUpdateName(v string) *DescribeUpdateActionsInput { 12033 s.ServiceUpdateName = &v 12034 return s 12035} 12036 12037// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 12038func (s *DescribeUpdateActionsInput) SetServiceUpdateStatus(v []*string) *DescribeUpdateActionsInput { 12039 s.ServiceUpdateStatus = v 12040 return s 12041} 12042 12043// SetServiceUpdateTimeRange sets the ServiceUpdateTimeRange field's value. 12044func (s *DescribeUpdateActionsInput) SetServiceUpdateTimeRange(v *TimeRangeFilter) *DescribeUpdateActionsInput { 12045 s.ServiceUpdateTimeRange = v 12046 return s 12047} 12048 12049// SetShowNodeLevelUpdateStatus sets the ShowNodeLevelUpdateStatus field's value. 12050func (s *DescribeUpdateActionsInput) SetShowNodeLevelUpdateStatus(v bool) *DescribeUpdateActionsInput { 12051 s.ShowNodeLevelUpdateStatus = &v 12052 return s 12053} 12054 12055// SetUpdateActionStatus sets the UpdateActionStatus field's value. 12056func (s *DescribeUpdateActionsInput) SetUpdateActionStatus(v []*string) *DescribeUpdateActionsInput { 12057 s.UpdateActionStatus = v 12058 return s 12059} 12060 12061type DescribeUpdateActionsOutput struct { 12062 _ struct{} `type:"structure"` 12063 12064 // An optional marker returned from a prior request. Use this marker for pagination 12065 // of results from this operation. If this parameter is specified, the response 12066 // includes only records beyond the marker, up to the value specified by MaxRecords. 12067 Marker *string `type:"string"` 12068 12069 // Returns a list of update actions 12070 UpdateActions []*UpdateAction `locationNameList:"UpdateAction" type:"list"` 12071} 12072 12073// String returns the string representation 12074func (s DescribeUpdateActionsOutput) String() string { 12075 return awsutil.Prettify(s) 12076} 12077 12078// GoString returns the string representation 12079func (s DescribeUpdateActionsOutput) GoString() string { 12080 return s.String() 12081} 12082 12083// SetMarker sets the Marker field's value. 12084func (s *DescribeUpdateActionsOutput) SetMarker(v string) *DescribeUpdateActionsOutput { 12085 s.Marker = &v 12086 return s 12087} 12088 12089// SetUpdateActions sets the UpdateActions field's value. 12090func (s *DescribeUpdateActionsOutput) SetUpdateActions(v []*UpdateAction) *DescribeUpdateActionsOutput { 12091 s.UpdateActions = v 12092 return s 12093} 12094 12095type DisassociateGlobalReplicationGroupInput struct { 12096 _ struct{} `type:"structure"` 12097 12098 // The name of the Global Datastore 12099 // 12100 // GlobalReplicationGroupId is a required field 12101 GlobalReplicationGroupId *string `type:"string" required:"true"` 12102 12103 // The name of the secondary cluster you wish to remove from the Global Datastore 12104 // 12105 // ReplicationGroupId is a required field 12106 ReplicationGroupId *string `type:"string" required:"true"` 12107 12108 // The AWS region of secondary cluster you wish to remove from the Global Datastore 12109 // 12110 // ReplicationGroupRegion is a required field 12111 ReplicationGroupRegion *string `type:"string" required:"true"` 12112} 12113 12114// String returns the string representation 12115func (s DisassociateGlobalReplicationGroupInput) String() string { 12116 return awsutil.Prettify(s) 12117} 12118 12119// GoString returns the string representation 12120func (s DisassociateGlobalReplicationGroupInput) GoString() string { 12121 return s.String() 12122} 12123 12124// Validate inspects the fields of the type to determine if they are valid. 12125func (s *DisassociateGlobalReplicationGroupInput) Validate() error { 12126 invalidParams := request.ErrInvalidParams{Context: "DisassociateGlobalReplicationGroupInput"} 12127 if s.GlobalReplicationGroupId == nil { 12128 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12129 } 12130 if s.ReplicationGroupId == nil { 12131 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 12132 } 12133 if s.ReplicationGroupRegion == nil { 12134 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 12135 } 12136 12137 if invalidParams.Len() > 0 { 12138 return invalidParams 12139 } 12140 return nil 12141} 12142 12143// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12144func (s *DisassociateGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 12145 s.GlobalReplicationGroupId = &v 12146 return s 12147} 12148 12149// SetReplicationGroupId sets the ReplicationGroupId field's value. 12150func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 12151 s.ReplicationGroupId = &v 12152 return s 12153} 12154 12155// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 12156func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupRegion(v string) *DisassociateGlobalReplicationGroupInput { 12157 s.ReplicationGroupRegion = &v 12158 return s 12159} 12160 12161type DisassociateGlobalReplicationGroupOutput struct { 12162 _ struct{} `type:"structure"` 12163 12164 // Consists of a primary cluster that accepts writes and an associated secondary 12165 // cluster that resides in a different AWS region. The secondary cluster accepts 12166 // only reads. The primary cluster automatically replicates updates to the secondary 12167 // cluster. 12168 // 12169 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12170 // Datastore, which is what you use to associate a secondary cluster. 12171 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12172} 12173 12174// String returns the string representation 12175func (s DisassociateGlobalReplicationGroupOutput) String() string { 12176 return awsutil.Prettify(s) 12177} 12178 12179// GoString returns the string representation 12180func (s DisassociateGlobalReplicationGroupOutput) GoString() string { 12181 return s.String() 12182} 12183 12184// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12185func (s *DisassociateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DisassociateGlobalReplicationGroupOutput { 12186 s.GlobalReplicationGroup = v 12187 return s 12188} 12189 12190// Provides ownership and status information for an Amazon EC2 security group. 12191type EC2SecurityGroup struct { 12192 _ struct{} `type:"structure"` 12193 12194 // The name of the Amazon EC2 security group. 12195 EC2SecurityGroupName *string `type:"string"` 12196 12197 // The AWS account ID of the Amazon EC2 security group owner. 12198 EC2SecurityGroupOwnerId *string `type:"string"` 12199 12200 // The status of the Amazon EC2 security group. 12201 Status *string `type:"string"` 12202} 12203 12204// String returns the string representation 12205func (s EC2SecurityGroup) String() string { 12206 return awsutil.Prettify(s) 12207} 12208 12209// GoString returns the string representation 12210func (s EC2SecurityGroup) GoString() string { 12211 return s.String() 12212} 12213 12214// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 12215func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 12216 s.EC2SecurityGroupName = &v 12217 return s 12218} 12219 12220// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 12221func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 12222 s.EC2SecurityGroupOwnerId = &v 12223 return s 12224} 12225 12226// SetStatus sets the Status field's value. 12227func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 12228 s.Status = &v 12229 return s 12230} 12231 12232// Represents the information required for client programs to connect to a cache 12233// node. 12234type Endpoint struct { 12235 _ struct{} `type:"structure"` 12236 12237 // The DNS hostname of the cache node. 12238 Address *string `type:"string"` 12239 12240 // The port number that the cache engine is listening on. 12241 Port *int64 `type:"integer"` 12242} 12243 12244// String returns the string representation 12245func (s Endpoint) String() string { 12246 return awsutil.Prettify(s) 12247} 12248 12249// GoString returns the string representation 12250func (s Endpoint) GoString() string { 12251 return s.String() 12252} 12253 12254// SetAddress sets the Address field's value. 12255func (s *Endpoint) SetAddress(v string) *Endpoint { 12256 s.Address = &v 12257 return s 12258} 12259 12260// SetPort sets the Port field's value. 12261func (s *Endpoint) SetPort(v int64) *Endpoint { 12262 s.Port = &v 12263 return s 12264} 12265 12266// Represents the output of a DescribeEngineDefaultParameters operation. 12267type EngineDefaults struct { 12268 _ struct{} `type:"structure"` 12269 12270 // A list of parameters specific to a particular cache node type. Each element 12271 // in the list contains detailed information about one parameter. 12272 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 12273 12274 // Specifies the name of the cache parameter group family to which the engine 12275 // default parameters apply. 12276 // 12277 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 12278 // | redis4.0 | redis5.0 | 12279 CacheParameterGroupFamily *string `type:"string"` 12280 12281 // Provides an identifier to allow retrieval of paginated results. 12282 Marker *string `type:"string"` 12283 12284 // Contains a list of engine default parameters. 12285 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 12286} 12287 12288// String returns the string representation 12289func (s EngineDefaults) String() string { 12290 return awsutil.Prettify(s) 12291} 12292 12293// GoString returns the string representation 12294func (s EngineDefaults) GoString() string { 12295 return s.String() 12296} 12297 12298// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 12299func (s *EngineDefaults) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *EngineDefaults { 12300 s.CacheNodeTypeSpecificParameters = v 12301 return s 12302} 12303 12304// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 12305func (s *EngineDefaults) SetCacheParameterGroupFamily(v string) *EngineDefaults { 12306 s.CacheParameterGroupFamily = &v 12307 return s 12308} 12309 12310// SetMarker sets the Marker field's value. 12311func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { 12312 s.Marker = &v 12313 return s 12314} 12315 12316// SetParameters sets the Parameters field's value. 12317func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { 12318 s.Parameters = v 12319 return s 12320} 12321 12322// Represents a single occurrence of something interesting within the system. 12323// Some examples of events are creating a cluster, adding or removing a cache 12324// node, or rebooting a node. 12325type Event struct { 12326 _ struct{} `type:"structure"` 12327 12328 // The date and time when the event occurred. 12329 Date *time.Time `type:"timestamp"` 12330 12331 // The text of the event. 12332 Message *string `type:"string"` 12333 12334 // The identifier for the source of the event. For example, if the event occurred 12335 // at the cluster level, the identifier would be the name of the cluster. 12336 SourceIdentifier *string `type:"string"` 12337 12338 // Specifies the origin of this event - a cluster, a parameter group, a security 12339 // group, etc. 12340 SourceType *string `type:"string" enum:"SourceType"` 12341} 12342 12343// String returns the string representation 12344func (s Event) String() string { 12345 return awsutil.Prettify(s) 12346} 12347 12348// GoString returns the string representation 12349func (s Event) GoString() string { 12350 return s.String() 12351} 12352 12353// SetDate sets the Date field's value. 12354func (s *Event) SetDate(v time.Time) *Event { 12355 s.Date = &v 12356 return s 12357} 12358 12359// SetMessage sets the Message field's value. 12360func (s *Event) SetMessage(v string) *Event { 12361 s.Message = &v 12362 return s 12363} 12364 12365// SetSourceIdentifier sets the SourceIdentifier field's value. 12366func (s *Event) SetSourceIdentifier(v string) *Event { 12367 s.SourceIdentifier = &v 12368 return s 12369} 12370 12371// SetSourceType sets the SourceType field's value. 12372func (s *Event) SetSourceType(v string) *Event { 12373 s.SourceType = &v 12374 return s 12375} 12376 12377type FailoverGlobalReplicationGroupInput struct { 12378 _ struct{} `type:"structure"` 12379 12380 // The name of the Global Datastore 12381 // 12382 // GlobalReplicationGroupId is a required field 12383 GlobalReplicationGroupId *string `type:"string" required:"true"` 12384 12385 // The AWS region of the primary cluster of the Global Datastore 12386 // 12387 // PrimaryRegion is a required field 12388 PrimaryRegion *string `type:"string" required:"true"` 12389 12390 // The name of the primary replication group 12391 // 12392 // PrimaryReplicationGroupId is a required field 12393 PrimaryReplicationGroupId *string `type:"string" required:"true"` 12394} 12395 12396// String returns the string representation 12397func (s FailoverGlobalReplicationGroupInput) String() string { 12398 return awsutil.Prettify(s) 12399} 12400 12401// GoString returns the string representation 12402func (s FailoverGlobalReplicationGroupInput) GoString() string { 12403 return s.String() 12404} 12405 12406// Validate inspects the fields of the type to determine if they are valid. 12407func (s *FailoverGlobalReplicationGroupInput) Validate() error { 12408 invalidParams := request.ErrInvalidParams{Context: "FailoverGlobalReplicationGroupInput"} 12409 if s.GlobalReplicationGroupId == nil { 12410 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12411 } 12412 if s.PrimaryRegion == nil { 12413 invalidParams.Add(request.NewErrParamRequired("PrimaryRegion")) 12414 } 12415 if s.PrimaryReplicationGroupId == nil { 12416 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 12417 } 12418 12419 if invalidParams.Len() > 0 { 12420 return invalidParams 12421 } 12422 return nil 12423} 12424 12425// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12426func (s *FailoverGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 12427 s.GlobalReplicationGroupId = &v 12428 return s 12429} 12430 12431// SetPrimaryRegion sets the PrimaryRegion field's value. 12432func (s *FailoverGlobalReplicationGroupInput) SetPrimaryRegion(v string) *FailoverGlobalReplicationGroupInput { 12433 s.PrimaryRegion = &v 12434 return s 12435} 12436 12437// SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 12438func (s *FailoverGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 12439 s.PrimaryReplicationGroupId = &v 12440 return s 12441} 12442 12443type FailoverGlobalReplicationGroupOutput struct { 12444 _ struct{} `type:"structure"` 12445 12446 // Consists of a primary cluster that accepts writes and an associated secondary 12447 // cluster that resides in a different AWS region. The secondary cluster accepts 12448 // only reads. The primary cluster automatically replicates updates to the secondary 12449 // cluster. 12450 // 12451 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12452 // Datastore, which is what you use to associate a secondary cluster. 12453 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12454} 12455 12456// String returns the string representation 12457func (s FailoverGlobalReplicationGroupOutput) String() string { 12458 return awsutil.Prettify(s) 12459} 12460 12461// GoString returns the string representation 12462func (s FailoverGlobalReplicationGroupOutput) GoString() string { 12463 return s.String() 12464} 12465 12466// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12467func (s *FailoverGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *FailoverGlobalReplicationGroupOutput { 12468 s.GlobalReplicationGroup = v 12469 return s 12470} 12471 12472// Indicates the slot configuration and global identifier for a slice group. 12473type GlobalNodeGroup struct { 12474 _ struct{} `type:"structure"` 12475 12476 // The name of the global node group 12477 GlobalNodeGroupId *string `type:"string"` 12478 12479 // The keyspace for this node group 12480 Slots *string `type:"string"` 12481} 12482 12483// String returns the string representation 12484func (s GlobalNodeGroup) String() string { 12485 return awsutil.Prettify(s) 12486} 12487 12488// GoString returns the string representation 12489func (s GlobalNodeGroup) GoString() string { 12490 return s.String() 12491} 12492 12493// SetGlobalNodeGroupId sets the GlobalNodeGroupId field's value. 12494func (s *GlobalNodeGroup) SetGlobalNodeGroupId(v string) *GlobalNodeGroup { 12495 s.GlobalNodeGroupId = &v 12496 return s 12497} 12498 12499// SetSlots sets the Slots field's value. 12500func (s *GlobalNodeGroup) SetSlots(v string) *GlobalNodeGroup { 12501 s.Slots = &v 12502 return s 12503} 12504 12505// Consists of a primary cluster that accepts writes and an associated secondary 12506// cluster that resides in a different AWS region. The secondary cluster accepts 12507// only reads. The primary cluster automatically replicates updates to the secondary 12508// cluster. 12509// 12510// * The GlobalReplicationGroupIdSuffix represents the name of the Global 12511// Datastore, which is what you use to associate a secondary cluster. 12512type GlobalReplicationGroup struct { 12513 _ struct{} `type:"structure"` 12514 12515 // The ARN (Amazon Resource Name) of the global replication group. 12516 ARN *string `type:"string"` 12517 12518 // A flag that enables encryption at rest when set to true. 12519 // 12520 // You cannot modify the value of AtRestEncryptionEnabled after the replication 12521 // group is created. To enable encryption at rest on a replication group you 12522 // must set AtRestEncryptionEnabled to true when you create the replication 12523 // group. 12524 // 12525 // Required: Only available when creating a replication group in an Amazon VPC 12526 // using redis version 3.2.6, 4.x or later. 12527 AtRestEncryptionEnabled *bool `type:"boolean"` 12528 12529 // A flag that enables using an AuthToken (password) when issuing Redis commands. 12530 // 12531 // Default: false 12532 AuthTokenEnabled *bool `type:"boolean"` 12533 12534 // The cache node type of the Global Datastore 12535 CacheNodeType *string `type:"string"` 12536 12537 // A flag that indicates whether the Global Datastore is cluster enabled. 12538 ClusterEnabled *bool `type:"boolean"` 12539 12540 // The Elasticache engine. For Redis only. 12541 Engine *string `type:"string"` 12542 12543 // The Elasticache Redis engine version. For preview, it is Redis version 5.0.5 12544 // only. 12545 EngineVersion *string `type:"string"` 12546 12547 // Indicates the slot configuration and global identifier for each slice group. 12548 GlobalNodeGroups []*GlobalNodeGroup `locationNameList:"GlobalNodeGroup" type:"list"` 12549 12550 // The optional description of the Global Datastore 12551 GlobalReplicationGroupDescription *string `type:"string"` 12552 12553 // The name of the Global Datastore 12554 GlobalReplicationGroupId *string `type:"string"` 12555 12556 // The replication groups that comprise the Global Datastore. 12557 Members []*GlobalReplicationGroupMember `locationNameList:"GlobalReplicationGroupMember" type:"list"` 12558 12559 // The status of the Global Datastore 12560 Status *string `type:"string"` 12561 12562 // A flag that enables in-transit encryption when set to true. You cannot modify 12563 // the value of TransitEncryptionEnabled after the cluster is created. To enable 12564 // in-transit encryption on a cluster you must set TransitEncryptionEnabled 12565 // to true when you create a cluster. 12566 TransitEncryptionEnabled *bool `type:"boolean"` 12567} 12568 12569// String returns the string representation 12570func (s GlobalReplicationGroup) String() string { 12571 return awsutil.Prettify(s) 12572} 12573 12574// GoString returns the string representation 12575func (s GlobalReplicationGroup) GoString() string { 12576 return s.String() 12577} 12578 12579// SetARN sets the ARN field's value. 12580func (s *GlobalReplicationGroup) SetARN(v string) *GlobalReplicationGroup { 12581 s.ARN = &v 12582 return s 12583} 12584 12585// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 12586func (s *GlobalReplicationGroup) SetAtRestEncryptionEnabled(v bool) *GlobalReplicationGroup { 12587 s.AtRestEncryptionEnabled = &v 12588 return s 12589} 12590 12591// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 12592func (s *GlobalReplicationGroup) SetAuthTokenEnabled(v bool) *GlobalReplicationGroup { 12593 s.AuthTokenEnabled = &v 12594 return s 12595} 12596 12597// SetCacheNodeType sets the CacheNodeType field's value. 12598func (s *GlobalReplicationGroup) SetCacheNodeType(v string) *GlobalReplicationGroup { 12599 s.CacheNodeType = &v 12600 return s 12601} 12602 12603// SetClusterEnabled sets the ClusterEnabled field's value. 12604func (s *GlobalReplicationGroup) SetClusterEnabled(v bool) *GlobalReplicationGroup { 12605 s.ClusterEnabled = &v 12606 return s 12607} 12608 12609// SetEngine sets the Engine field's value. 12610func (s *GlobalReplicationGroup) SetEngine(v string) *GlobalReplicationGroup { 12611 s.Engine = &v 12612 return s 12613} 12614 12615// SetEngineVersion sets the EngineVersion field's value. 12616func (s *GlobalReplicationGroup) SetEngineVersion(v string) *GlobalReplicationGroup { 12617 s.EngineVersion = &v 12618 return s 12619} 12620 12621// SetGlobalNodeGroups sets the GlobalNodeGroups field's value. 12622func (s *GlobalReplicationGroup) SetGlobalNodeGroups(v []*GlobalNodeGroup) *GlobalReplicationGroup { 12623 s.GlobalNodeGroups = v 12624 return s 12625} 12626 12627// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 12628func (s *GlobalReplicationGroup) SetGlobalReplicationGroupDescription(v string) *GlobalReplicationGroup { 12629 s.GlobalReplicationGroupDescription = &v 12630 return s 12631} 12632 12633// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12634func (s *GlobalReplicationGroup) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroup { 12635 s.GlobalReplicationGroupId = &v 12636 return s 12637} 12638 12639// SetMembers sets the Members field's value. 12640func (s *GlobalReplicationGroup) SetMembers(v []*GlobalReplicationGroupMember) *GlobalReplicationGroup { 12641 s.Members = v 12642 return s 12643} 12644 12645// SetStatus sets the Status field's value. 12646func (s *GlobalReplicationGroup) SetStatus(v string) *GlobalReplicationGroup { 12647 s.Status = &v 12648 return s 12649} 12650 12651// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 12652func (s *GlobalReplicationGroup) SetTransitEncryptionEnabled(v bool) *GlobalReplicationGroup { 12653 s.TransitEncryptionEnabled = &v 12654 return s 12655} 12656 12657// The name of the Global Datastore and role of this replication group in the 12658// Global Datastore. 12659type GlobalReplicationGroupInfo struct { 12660 _ struct{} `type:"structure"` 12661 12662 // The name of the Global Datastore 12663 GlobalReplicationGroupId *string `type:"string"` 12664 12665 // The role of the replication group in a Global Datastore. Can be primary or 12666 // secondary. 12667 GlobalReplicationGroupMemberRole *string `type:"string"` 12668} 12669 12670// String returns the string representation 12671func (s GlobalReplicationGroupInfo) String() string { 12672 return awsutil.Prettify(s) 12673} 12674 12675// GoString returns the string representation 12676func (s GlobalReplicationGroupInfo) GoString() string { 12677 return s.String() 12678} 12679 12680// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12681func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroupInfo { 12682 s.GlobalReplicationGroupId = &v 12683 return s 12684} 12685 12686// SetGlobalReplicationGroupMemberRole sets the GlobalReplicationGroupMemberRole field's value. 12687func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupMemberRole(v string) *GlobalReplicationGroupInfo { 12688 s.GlobalReplicationGroupMemberRole = &v 12689 return s 12690} 12691 12692// A member of a Global Datastore. It contains the Replication Group Id, the 12693// AWS region and the role of the replication group. 12694type GlobalReplicationGroupMember struct { 12695 _ struct{} `type:"structure"` 12696 12697 // Indicates whether automatic failover is enabled for the replication group. 12698 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 12699 12700 // The replication group id of the Global Datastore member. 12701 ReplicationGroupId *string `type:"string"` 12702 12703 // The AWS region of the Global Datastore member. 12704 ReplicationGroupRegion *string `type:"string"` 12705 12706 // Indicates the role of the replication group, primary or secondary. 12707 Role *string `type:"string"` 12708 12709 // The status of the membership of the replication group. 12710 Status *string `type:"string"` 12711} 12712 12713// String returns the string representation 12714func (s GlobalReplicationGroupMember) String() string { 12715 return awsutil.Prettify(s) 12716} 12717 12718// GoString returns the string representation 12719func (s GlobalReplicationGroupMember) GoString() string { 12720 return s.String() 12721} 12722 12723// SetAutomaticFailover sets the AutomaticFailover field's value. 12724func (s *GlobalReplicationGroupMember) SetAutomaticFailover(v string) *GlobalReplicationGroupMember { 12725 s.AutomaticFailover = &v 12726 return s 12727} 12728 12729// SetReplicationGroupId sets the ReplicationGroupId field's value. 12730func (s *GlobalReplicationGroupMember) SetReplicationGroupId(v string) *GlobalReplicationGroupMember { 12731 s.ReplicationGroupId = &v 12732 return s 12733} 12734 12735// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 12736func (s *GlobalReplicationGroupMember) SetReplicationGroupRegion(v string) *GlobalReplicationGroupMember { 12737 s.ReplicationGroupRegion = &v 12738 return s 12739} 12740 12741// SetRole sets the Role field's value. 12742func (s *GlobalReplicationGroupMember) SetRole(v string) *GlobalReplicationGroupMember { 12743 s.Role = &v 12744 return s 12745} 12746 12747// SetStatus sets the Status field's value. 12748func (s *GlobalReplicationGroupMember) SetStatus(v string) *GlobalReplicationGroupMember { 12749 s.Status = &v 12750 return s 12751} 12752 12753type IncreaseNodeGroupsInGlobalReplicationGroupInput struct { 12754 _ struct{} `type:"structure"` 12755 12756 // Indicates that the process begins immediately. At present, the only permitted 12757 // value for this parameter is true. 12758 // 12759 // ApplyImmediately is a required field 12760 ApplyImmediately *bool `type:"boolean" required:"true"` 12761 12762 // The name of the Global Datastore 12763 // 12764 // GlobalReplicationGroupId is a required field 12765 GlobalReplicationGroupId *string `type:"string" required:"true"` 12766 12767 // The number of node groups you wish to add 12768 // 12769 // NodeGroupCount is a required field 12770 NodeGroupCount *int64 `type:"integer" required:"true"` 12771 12772 // Describes the replication group IDs, the AWS regions where they are stored 12773 // and the shard configuration for each that comprise the Global Datastore 12774 RegionalConfigurations []*RegionalConfiguration `locationNameList:"RegionalConfiguration" type:"list"` 12775} 12776 12777// String returns the string representation 12778func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 12779 return awsutil.Prettify(s) 12780} 12781 12782// GoString returns the string representation 12783func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 12784 return s.String() 12785} 12786 12787// Validate inspects the fields of the type to determine if they are valid. 12788func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 12789 invalidParams := request.ErrInvalidParams{Context: "IncreaseNodeGroupsInGlobalReplicationGroupInput"} 12790 if s.ApplyImmediately == nil { 12791 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 12792 } 12793 if s.GlobalReplicationGroupId == nil { 12794 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12795 } 12796 if s.NodeGroupCount == nil { 12797 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 12798 } 12799 if s.RegionalConfigurations != nil { 12800 for i, v := range s.RegionalConfigurations { 12801 if v == nil { 12802 continue 12803 } 12804 if err := v.Validate(); err != nil { 12805 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RegionalConfigurations", i), err.(request.ErrInvalidParams)) 12806 } 12807 } 12808 } 12809 12810 if invalidParams.Len() > 0 { 12811 return invalidParams 12812 } 12813 return nil 12814} 12815 12816// SetApplyImmediately sets the ApplyImmediately field's value. 12817func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12818 s.ApplyImmediately = &v 12819 return s 12820} 12821 12822// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12823func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12824 s.GlobalReplicationGroupId = &v 12825 return s 12826} 12827 12828// SetNodeGroupCount sets the NodeGroupCount field's value. 12829func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12830 s.NodeGroupCount = &v 12831 return s 12832} 12833 12834// SetRegionalConfigurations sets the RegionalConfigurations field's value. 12835func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetRegionalConfigurations(v []*RegionalConfiguration) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12836 s.RegionalConfigurations = v 12837 return s 12838} 12839 12840type IncreaseNodeGroupsInGlobalReplicationGroupOutput struct { 12841 _ struct{} `type:"structure"` 12842 12843 // Consists of a primary cluster that accepts writes and an associated secondary 12844 // cluster that resides in a different AWS region. The secondary cluster accepts 12845 // only reads. The primary cluster automatically replicates updates to the secondary 12846 // cluster. 12847 // 12848 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12849 // Datastore, which is what you use to associate a secondary cluster. 12850 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12851} 12852 12853// String returns the string representation 12854func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 12855 return awsutil.Prettify(s) 12856} 12857 12858// GoString returns the string representation 12859func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 12860 return s.String() 12861} 12862 12863// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12864func (s *IncreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *IncreaseNodeGroupsInGlobalReplicationGroupOutput { 12865 s.GlobalReplicationGroup = v 12866 return s 12867} 12868 12869type IncreaseReplicaCountInput struct { 12870 _ struct{} `type:"structure"` 12871 12872 // If True, the number of replica nodes is increased immediately. ApplyImmediately=False 12873 // is not currently supported. 12874 // 12875 // ApplyImmediately is a required field 12876 ApplyImmediately *bool `type:"boolean" required:"true"` 12877 12878 // The number of read replica nodes you want at the completion of this operation. 12879 // For Redis (cluster mode disabled) replication groups, this is the number 12880 // of replica nodes in the replication group. For Redis (cluster mode enabled) 12881 // replication groups, this is the number of replica nodes in each of the replication 12882 // group's node groups. 12883 NewReplicaCount *int64 `type:"integer"` 12884 12885 // A list of ConfigureShard objects that can be used to configure each shard 12886 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 12887 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 12888 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 12889 12890 // The id of the replication group to which you want to add replica nodes. 12891 // 12892 // ReplicationGroupId is a required field 12893 ReplicationGroupId *string `type:"string" required:"true"` 12894} 12895 12896// String returns the string representation 12897func (s IncreaseReplicaCountInput) String() string { 12898 return awsutil.Prettify(s) 12899} 12900 12901// GoString returns the string representation 12902func (s IncreaseReplicaCountInput) GoString() string { 12903 return s.String() 12904} 12905 12906// Validate inspects the fields of the type to determine if they are valid. 12907func (s *IncreaseReplicaCountInput) Validate() error { 12908 invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicaCountInput"} 12909 if s.ApplyImmediately == nil { 12910 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 12911 } 12912 if s.ReplicationGroupId == nil { 12913 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 12914 } 12915 if s.ReplicaConfiguration != nil { 12916 for i, v := range s.ReplicaConfiguration { 12917 if v == nil { 12918 continue 12919 } 12920 if err := v.Validate(); err != nil { 12921 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 12922 } 12923 } 12924 } 12925 12926 if invalidParams.Len() > 0 { 12927 return invalidParams 12928 } 12929 return nil 12930} 12931 12932// SetApplyImmediately sets the ApplyImmediately field's value. 12933func (s *IncreaseReplicaCountInput) SetApplyImmediately(v bool) *IncreaseReplicaCountInput { 12934 s.ApplyImmediately = &v 12935 return s 12936} 12937 12938// SetNewReplicaCount sets the NewReplicaCount field's value. 12939func (s *IncreaseReplicaCountInput) SetNewReplicaCount(v int64) *IncreaseReplicaCountInput { 12940 s.NewReplicaCount = &v 12941 return s 12942} 12943 12944// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 12945func (s *IncreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *IncreaseReplicaCountInput { 12946 s.ReplicaConfiguration = v 12947 return s 12948} 12949 12950// SetReplicationGroupId sets the ReplicationGroupId field's value. 12951func (s *IncreaseReplicaCountInput) SetReplicationGroupId(v string) *IncreaseReplicaCountInput { 12952 s.ReplicationGroupId = &v 12953 return s 12954} 12955 12956type IncreaseReplicaCountOutput struct { 12957 _ struct{} `type:"structure"` 12958 12959 // Contains all of the attributes of a specific Redis replication group. 12960 ReplicationGroup *ReplicationGroup `type:"structure"` 12961} 12962 12963// String returns the string representation 12964func (s IncreaseReplicaCountOutput) String() string { 12965 return awsutil.Prettify(s) 12966} 12967 12968// GoString returns the string representation 12969func (s IncreaseReplicaCountOutput) GoString() string { 12970 return s.String() 12971} 12972 12973// SetReplicationGroup sets the ReplicationGroup field's value. 12974func (s *IncreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *IncreaseReplicaCountOutput { 12975 s.ReplicationGroup = v 12976 return s 12977} 12978 12979// The input parameters for the ListAllowedNodeTypeModifications operation. 12980type ListAllowedNodeTypeModificationsInput struct { 12981 _ struct{} `type:"structure"` 12982 12983 // The name of the cluster you want to scale up to a larger node instanced type. 12984 // ElastiCache uses the cluster id to identify the current node type of this 12985 // cluster and from that to create a list of node types you can scale up to. 12986 // 12987 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 12988 CacheClusterId *string `type:"string"` 12989 12990 // The name of the replication group want to scale up to a larger node type. 12991 // ElastiCache uses the replication group id to identify the current node type 12992 // being used by this replication group, and from that to create a list of node 12993 // types you can scale up to. 12994 // 12995 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 12996 ReplicationGroupId *string `type:"string"` 12997} 12998 12999// String returns the string representation 13000func (s ListAllowedNodeTypeModificationsInput) String() string { 13001 return awsutil.Prettify(s) 13002} 13003 13004// GoString returns the string representation 13005func (s ListAllowedNodeTypeModificationsInput) GoString() string { 13006 return s.String() 13007} 13008 13009// SetCacheClusterId sets the CacheClusterId field's value. 13010func (s *ListAllowedNodeTypeModificationsInput) SetCacheClusterId(v string) *ListAllowedNodeTypeModificationsInput { 13011 s.CacheClusterId = &v 13012 return s 13013} 13014 13015// SetReplicationGroupId sets the ReplicationGroupId field's value. 13016func (s *ListAllowedNodeTypeModificationsInput) SetReplicationGroupId(v string) *ListAllowedNodeTypeModificationsInput { 13017 s.ReplicationGroupId = &v 13018 return s 13019} 13020 13021// Represents the allowed node types you can use to modify your cluster or replication 13022// group. 13023type ListAllowedNodeTypeModificationsOutput struct { 13024 _ struct{} `type:"structure"` 13025 13026 // A string list, each element of which specifies a cache node type which you 13027 // can use to scale your cluster or replication group. When scaling down a Redis 13028 // cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, 13029 // use a value from this list for the CacheNodeType parameter. 13030 ScaleDownModifications []*string `type:"list"` 13031 13032 // A string list, each element of which specifies a cache node type which you 13033 // can use to scale your cluster or replication group. 13034 // 13035 // When scaling up a Redis cluster or replication group using ModifyCacheCluster 13036 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 13037 // parameter. 13038 ScaleUpModifications []*string `type:"list"` 13039} 13040 13041// String returns the string representation 13042func (s ListAllowedNodeTypeModificationsOutput) String() string { 13043 return awsutil.Prettify(s) 13044} 13045 13046// GoString returns the string representation 13047func (s ListAllowedNodeTypeModificationsOutput) GoString() string { 13048 return s.String() 13049} 13050 13051// SetScaleDownModifications sets the ScaleDownModifications field's value. 13052func (s *ListAllowedNodeTypeModificationsOutput) SetScaleDownModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 13053 s.ScaleDownModifications = v 13054 return s 13055} 13056 13057// SetScaleUpModifications sets the ScaleUpModifications field's value. 13058func (s *ListAllowedNodeTypeModificationsOutput) SetScaleUpModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 13059 s.ScaleUpModifications = v 13060 return s 13061} 13062 13063// The input parameters for the ListTagsForResource operation. 13064type ListTagsForResourceInput struct { 13065 _ struct{} `type:"structure"` 13066 13067 // The Amazon Resource Name (ARN) of the resource for which you want the list 13068 // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 13069 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 13070 // 13071 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 13072 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 13073 // 13074 // ResourceName is a required field 13075 ResourceName *string `type:"string" required:"true"` 13076} 13077 13078// String returns the string representation 13079func (s ListTagsForResourceInput) String() string { 13080 return awsutil.Prettify(s) 13081} 13082 13083// GoString returns the string representation 13084func (s ListTagsForResourceInput) GoString() string { 13085 return s.String() 13086} 13087 13088// Validate inspects the fields of the type to determine if they are valid. 13089func (s *ListTagsForResourceInput) Validate() error { 13090 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 13091 if s.ResourceName == nil { 13092 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 13093 } 13094 13095 if invalidParams.Len() > 0 { 13096 return invalidParams 13097 } 13098 return nil 13099} 13100 13101// SetResourceName sets the ResourceName field's value. 13102func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { 13103 s.ResourceName = &v 13104 return s 13105} 13106 13107// Represents the input of a ModifyCacheCluster operation. 13108type ModifyCacheClusterInput struct { 13109 _ struct{} `type:"structure"` 13110 13111 // Specifies whether the new nodes in this Memcached cluster are all created 13112 // in a single Availability Zone or created across multiple Availability Zones. 13113 // 13114 // Valid values: single-az | cross-az. 13115 // 13116 // This option is only supported for Memcached clusters. 13117 // 13118 // You cannot specify single-az if the Memcached cluster already has cache nodes 13119 // in different Availability Zones. If cross-az is specified, existing Memcached 13120 // nodes remain in their current Availability Zone. 13121 // 13122 // Only newly created nodes are located in different Availability Zones. 13123 AZMode *string `type:"string" enum:"AZMode"` 13124 13125 // If true, this parameter causes the modifications in this request and any 13126 // pending modifications to be applied, asynchronously and as soon as possible, 13127 // regardless of the PreferredMaintenanceWindow setting for the cluster. 13128 // 13129 // If false, changes to the cluster are applied on the next maintenance reboot, 13130 // or the next failure reboot, whichever occurs first. 13131 // 13132 // If you perform a ModifyCacheCluster before a pending modification is applied, 13133 // the pending modification is replaced by the newer modification. 13134 // 13135 // Valid values: true | false 13136 // 13137 // Default: false 13138 ApplyImmediately *bool `type:"boolean"` 13139 13140 // Reserved parameter. The password used to access a password protected server. 13141 // This parameter must be specified with the auth-token-update parameter. Password 13142 // constraints: 13143 // 13144 // * Must be only printable ASCII characters 13145 // 13146 // * Must be at least 16 characters and no more than 128 characters in length 13147 // 13148 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 13149 // 13150 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 13151 AuthToken *string `type:"string"` 13152 13153 // Specifies the strategy to use to update the AUTH token. This parameter must 13154 // be specified with the auth-token parameter. Possible values: 13155 // 13156 // * Rotate 13157 // 13158 // * Set 13159 // 13160 // For more information, see Authenticating Users with Redis AUTH (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 13161 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 13162 13163 // This parameter is currently disabled. 13164 AutoMinorVersionUpgrade *bool `type:"boolean"` 13165 13166 // The cluster identifier. This value is stored as a lowercase string. 13167 // 13168 // CacheClusterId is a required field 13169 CacheClusterId *string `type:"string" required:"true"` 13170 13171 // A list of cache node IDs to be removed. A node ID is a numeric identifier 13172 // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less 13173 // than the existing number of cache nodes. The number of cache node IDs supplied 13174 // in this parameter must match the difference between the existing number of 13175 // cache nodes in the cluster or pending cache nodes, whichever is greater, 13176 // and the value of NumCacheNodes in the request. 13177 // 13178 // For example: If you have 3 active cache nodes, 7 pending cache nodes, and 13179 // the number of cache nodes in this ModifyCacheCluster call is 5, you must 13180 // list 2 (7 - 5) cache node IDs to remove. 13181 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 13182 13183 // A valid cache node type that you want to scale this cluster up to. 13184 CacheNodeType *string `type:"string"` 13185 13186 // The name of the cache parameter group to apply to this cluster. This change 13187 // is asynchronously applied as soon as possible for parameters when the ApplyImmediately 13188 // parameter is specified as true for this request. 13189 CacheParameterGroupName *string `type:"string"` 13190 13191 // A list of cache security group names to authorize on this cluster. This change 13192 // is asynchronously applied as soon as possible. 13193 // 13194 // You can use this parameter only with clusters that are created outside of 13195 // an Amazon Virtual Private Cloud (Amazon VPC). 13196 // 13197 // Constraints: Must contain no more than 255 alphanumeric characters. Must 13198 // not be "Default". 13199 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 13200 13201 // The upgraded version of the cache engine to be run on the cache nodes. 13202 // 13203 // Important: You can upgrade to a newer engine version (see Selecting a Cache 13204 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 13205 // but you cannot downgrade to an earlier engine version. If you want to use 13206 // an earlier engine version, you must delete the existing cluster and create 13207 // it anew with the earlier engine version. 13208 EngineVersion *string `type:"string"` 13209 13210 // The list of Availability Zones where the new Memcached cache nodes are created. 13211 // 13212 // This parameter is only valid when NumCacheNodes in the request is greater 13213 // than the sum of the number of active cache nodes and the number of cache 13214 // nodes pending creation (which may be zero). The number of Availability Zones 13215 // supplied in this list must match the cache nodes being added in this request. 13216 // 13217 // This option is only supported on Memcached clusters. 13218 // 13219 // Scenarios: 13220 // 13221 // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify 13222 // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones 13223 // for the two new nodes. 13224 // 13225 // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from 13226 // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 13227 // ((3 + 2) + 1) and optionally specify an Availability Zone for the new 13228 // node. 13229 // 13230 // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 13231 // to cancel all pending operations. 13232 // 13233 // The Availability Zone placement of nodes pending creation cannot be modified. 13234 // If you wish to cancel any nodes pending creation, add 0 nodes by setting 13235 // NumCacheNodes to the number of current nodes. 13236 // 13237 // If cross-az is specified, existing Memcached nodes remain in their current 13238 // Availability Zone. Only newly created nodes can be located in different Availability 13239 // Zones. For guidance on how to move existing Memcached nodes to different 13240 // Availability Zones, see the Availability Zone Considerations section of Cache 13241 // Node Considerations for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 13242 // 13243 // Impact of new add/remove requests upon pending requests 13244 // 13245 // * Scenario-1 Pending Action: Delete New Request: Delete Result: The new 13246 // delete, pending or immediate, replaces the pending delete. 13247 // 13248 // * Scenario-2 Pending Action: Delete New Request: Create Result: The new 13249 // create, pending or immediate, replaces the pending delete. 13250 // 13251 // * Scenario-3 Pending Action: Create New Request: Delete Result: The new 13252 // delete, pending or immediate, replaces the pending create. 13253 // 13254 // * Scenario-4 Pending Action: Create New Request: Create Result: The new 13255 // create is added to the pending create. Important: If the new create request 13256 // is Apply Immediately - Yes, all creates are performed immediately. If 13257 // the new create request is Apply Immediately - No, all creates are pending. 13258 NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 13259 13260 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 13261 // are sent. 13262 // 13263 // The Amazon SNS topic owner must be same as the cluster owner. 13264 NotificationTopicArn *string `type:"string"` 13265 13266 // The status of the Amazon SNS notification topic. Notifications are sent only 13267 // if the status is active. 13268 // 13269 // Valid values: active | inactive 13270 NotificationTopicStatus *string `type:"string"` 13271 13272 // The number of cache nodes that the cluster should have. If the value for 13273 // NumCacheNodes is greater than the sum of the number of current cache nodes 13274 // and the number of cache nodes pending creation (which may be zero), more 13275 // nodes are added. If the value is less than the number of existing cache nodes, 13276 // nodes are removed. If the value is equal to the number of current cache nodes, 13277 // any pending add or remove requests are canceled. 13278 // 13279 // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter 13280 // to provide the IDs of the specific cache nodes to remove. 13281 // 13282 // For clusters running Redis, this value must be 1. For clusters running Memcached, 13283 // this value must be between 1 and 20. 13284 // 13285 // Adding or removing Memcached cache nodes can be applied immediately or as 13286 // a pending operation (see ApplyImmediately). 13287 // 13288 // A pending operation to modify the number of cache nodes in a cluster during 13289 // its maintenance window, whether by adding or removing nodes in accordance 13290 // with the scale out architecture, is not queued. The customer's latest request 13291 // to add or remove nodes to the cluster overrides any previous pending operations 13292 // to modify the number of cache nodes in the cluster. For example, a request 13293 // to remove 2 nodes would override a previous pending operation to remove 3 13294 // nodes. Similarly, a request to add 2 nodes would override a previous pending 13295 // operation to remove 3 nodes and vice versa. As Memcached cache nodes may 13296 // now be provisioned in different Availability Zones with flexible cache node 13297 // placement, a request to add nodes does not automatically override a previous 13298 // pending operation to add nodes. The customer can modify the previous pending 13299 // operation to add more nodes or explicitly cancel the pending request and 13300 // retry the new request. To cancel pending operations to modify the number 13301 // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes 13302 // equal to the number of cache nodes currently in the cluster. 13303 NumCacheNodes *int64 `type:"integer"` 13304 13305 // Specifies the weekly time range during which maintenance on the cluster is 13306 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 13307 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 13308 // 13309 // Valid values for ddd are: 13310 // 13311 // * sun 13312 // 13313 // * mon 13314 // 13315 // * tue 13316 // 13317 // * wed 13318 // 13319 // * thu 13320 // 13321 // * fri 13322 // 13323 // * sat 13324 // 13325 // Example: sun:23:00-mon:01:30 13326 PreferredMaintenanceWindow *string `type:"string"` 13327 13328 // Specifies the VPC Security Groups associated with the cluster. 13329 // 13330 // This parameter can be used only with clusters that are created in an Amazon 13331 // Virtual Private Cloud (Amazon VPC). 13332 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 13333 13334 // The number of days for which ElastiCache retains automatic cluster snapshots 13335 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 13336 // a snapshot that was taken today is retained for 5 days before being deleted. 13337 // 13338 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 13339 // off. 13340 SnapshotRetentionLimit *int64 `type:"integer"` 13341 13342 // The daily time range (in UTC) during which ElastiCache begins taking a daily 13343 // snapshot of your cluster. 13344 SnapshotWindow *string `type:"string"` 13345} 13346 13347// String returns the string representation 13348func (s ModifyCacheClusterInput) String() string { 13349 return awsutil.Prettify(s) 13350} 13351 13352// GoString returns the string representation 13353func (s ModifyCacheClusterInput) GoString() string { 13354 return s.String() 13355} 13356 13357// Validate inspects the fields of the type to determine if they are valid. 13358func (s *ModifyCacheClusterInput) Validate() error { 13359 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} 13360 if s.CacheClusterId == nil { 13361 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 13362 } 13363 13364 if invalidParams.Len() > 0 { 13365 return invalidParams 13366 } 13367 return nil 13368} 13369 13370// SetAZMode sets the AZMode field's value. 13371func (s *ModifyCacheClusterInput) SetAZMode(v string) *ModifyCacheClusterInput { 13372 s.AZMode = &v 13373 return s 13374} 13375 13376// SetApplyImmediately sets the ApplyImmediately field's value. 13377func (s *ModifyCacheClusterInput) SetApplyImmediately(v bool) *ModifyCacheClusterInput { 13378 s.ApplyImmediately = &v 13379 return s 13380} 13381 13382// SetAuthToken sets the AuthToken field's value. 13383func (s *ModifyCacheClusterInput) SetAuthToken(v string) *ModifyCacheClusterInput { 13384 s.AuthToken = &v 13385 return s 13386} 13387 13388// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 13389func (s *ModifyCacheClusterInput) SetAuthTokenUpdateStrategy(v string) *ModifyCacheClusterInput { 13390 s.AuthTokenUpdateStrategy = &v 13391 return s 13392} 13393 13394// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 13395func (s *ModifyCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *ModifyCacheClusterInput { 13396 s.AutoMinorVersionUpgrade = &v 13397 return s 13398} 13399 13400// SetCacheClusterId sets the CacheClusterId field's value. 13401func (s *ModifyCacheClusterInput) SetCacheClusterId(v string) *ModifyCacheClusterInput { 13402 s.CacheClusterId = &v 13403 return s 13404} 13405 13406// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 13407func (s *ModifyCacheClusterInput) SetCacheNodeIdsToRemove(v []*string) *ModifyCacheClusterInput { 13408 s.CacheNodeIdsToRemove = v 13409 return s 13410} 13411 13412// SetCacheNodeType sets the CacheNodeType field's value. 13413func (s *ModifyCacheClusterInput) SetCacheNodeType(v string) *ModifyCacheClusterInput { 13414 s.CacheNodeType = &v 13415 return s 13416} 13417 13418// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13419func (s *ModifyCacheClusterInput) SetCacheParameterGroupName(v string) *ModifyCacheClusterInput { 13420 s.CacheParameterGroupName = &v 13421 return s 13422} 13423 13424// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 13425func (s *ModifyCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *ModifyCacheClusterInput { 13426 s.CacheSecurityGroupNames = v 13427 return s 13428} 13429 13430// SetEngineVersion sets the EngineVersion field's value. 13431func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheClusterInput { 13432 s.EngineVersion = &v 13433 return s 13434} 13435 13436// SetNewAvailabilityZones sets the NewAvailabilityZones field's value. 13437func (s *ModifyCacheClusterInput) SetNewAvailabilityZones(v []*string) *ModifyCacheClusterInput { 13438 s.NewAvailabilityZones = v 13439 return s 13440} 13441 13442// SetNotificationTopicArn sets the NotificationTopicArn field's value. 13443func (s *ModifyCacheClusterInput) SetNotificationTopicArn(v string) *ModifyCacheClusterInput { 13444 s.NotificationTopicArn = &v 13445 return s 13446} 13447 13448// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 13449func (s *ModifyCacheClusterInput) SetNotificationTopicStatus(v string) *ModifyCacheClusterInput { 13450 s.NotificationTopicStatus = &v 13451 return s 13452} 13453 13454// SetNumCacheNodes sets the NumCacheNodes field's value. 13455func (s *ModifyCacheClusterInput) SetNumCacheNodes(v int64) *ModifyCacheClusterInput { 13456 s.NumCacheNodes = &v 13457 return s 13458} 13459 13460// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 13461func (s *ModifyCacheClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyCacheClusterInput { 13462 s.PreferredMaintenanceWindow = &v 13463 return s 13464} 13465 13466// SetSecurityGroupIds sets the SecurityGroupIds field's value. 13467func (s *ModifyCacheClusterInput) SetSecurityGroupIds(v []*string) *ModifyCacheClusterInput { 13468 s.SecurityGroupIds = v 13469 return s 13470} 13471 13472// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 13473func (s *ModifyCacheClusterInput) SetSnapshotRetentionLimit(v int64) *ModifyCacheClusterInput { 13474 s.SnapshotRetentionLimit = &v 13475 return s 13476} 13477 13478// SetSnapshotWindow sets the SnapshotWindow field's value. 13479func (s *ModifyCacheClusterInput) SetSnapshotWindow(v string) *ModifyCacheClusterInput { 13480 s.SnapshotWindow = &v 13481 return s 13482} 13483 13484type ModifyCacheClusterOutput struct { 13485 _ struct{} `type:"structure"` 13486 13487 // Contains all of the attributes of a specific cluster. 13488 CacheCluster *CacheCluster `type:"structure"` 13489} 13490 13491// String returns the string representation 13492func (s ModifyCacheClusterOutput) String() string { 13493 return awsutil.Prettify(s) 13494} 13495 13496// GoString returns the string representation 13497func (s ModifyCacheClusterOutput) GoString() string { 13498 return s.String() 13499} 13500 13501// SetCacheCluster sets the CacheCluster field's value. 13502func (s *ModifyCacheClusterOutput) SetCacheCluster(v *CacheCluster) *ModifyCacheClusterOutput { 13503 s.CacheCluster = v 13504 return s 13505} 13506 13507// Represents the input of a ModifyCacheParameterGroup operation. 13508type ModifyCacheParameterGroupInput struct { 13509 _ struct{} `type:"structure"` 13510 13511 // The name of the cache parameter group to modify. 13512 // 13513 // CacheParameterGroupName is a required field 13514 CacheParameterGroupName *string `type:"string" required:"true"` 13515 13516 // An array of parameter names and values for the parameter update. You must 13517 // supply at least one parameter name and value; subsequent arguments are optional. 13518 // A maximum of 20 parameters may be modified per request. 13519 // 13520 // ParameterNameValues is a required field 13521 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` 13522} 13523 13524// String returns the string representation 13525func (s ModifyCacheParameterGroupInput) String() string { 13526 return awsutil.Prettify(s) 13527} 13528 13529// GoString returns the string representation 13530func (s ModifyCacheParameterGroupInput) GoString() string { 13531 return s.String() 13532} 13533 13534// Validate inspects the fields of the type to determine if they are valid. 13535func (s *ModifyCacheParameterGroupInput) Validate() error { 13536 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} 13537 if s.CacheParameterGroupName == nil { 13538 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 13539 } 13540 if s.ParameterNameValues == nil { 13541 invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) 13542 } 13543 13544 if invalidParams.Len() > 0 { 13545 return invalidParams 13546 } 13547 return nil 13548} 13549 13550// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13551func (s *ModifyCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ModifyCacheParameterGroupInput { 13552 s.CacheParameterGroupName = &v 13553 return s 13554} 13555 13556// SetParameterNameValues sets the ParameterNameValues field's value. 13557func (s *ModifyCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ModifyCacheParameterGroupInput { 13558 s.ParameterNameValues = v 13559 return s 13560} 13561 13562// Represents the input of a ModifyCacheSubnetGroup operation. 13563type ModifyCacheSubnetGroupInput struct { 13564 _ struct{} `type:"structure"` 13565 13566 // A description of the cache subnet group. 13567 CacheSubnetGroupDescription *string `type:"string"` 13568 13569 // The name for the cache subnet group. This value is stored as a lowercase 13570 // string. 13571 // 13572 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 13573 // 13574 // Example: mysubnetgroup 13575 // 13576 // CacheSubnetGroupName is a required field 13577 CacheSubnetGroupName *string `type:"string" required:"true"` 13578 13579 // The EC2 subnet IDs for the cache subnet group. 13580 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"` 13581} 13582 13583// String returns the string representation 13584func (s ModifyCacheSubnetGroupInput) String() string { 13585 return awsutil.Prettify(s) 13586} 13587 13588// GoString returns the string representation 13589func (s ModifyCacheSubnetGroupInput) GoString() string { 13590 return s.String() 13591} 13592 13593// Validate inspects the fields of the type to determine if they are valid. 13594func (s *ModifyCacheSubnetGroupInput) Validate() error { 13595 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} 13596 if s.CacheSubnetGroupName == nil { 13597 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 13598 } 13599 13600 if invalidParams.Len() > 0 { 13601 return invalidParams 13602 } 13603 return nil 13604} 13605 13606// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 13607func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *ModifyCacheSubnetGroupInput { 13608 s.CacheSubnetGroupDescription = &v 13609 return s 13610} 13611 13612// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 13613func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *ModifyCacheSubnetGroupInput { 13614 s.CacheSubnetGroupName = &v 13615 return s 13616} 13617 13618// SetSubnetIds sets the SubnetIds field's value. 13619func (s *ModifyCacheSubnetGroupInput) SetSubnetIds(v []*string) *ModifyCacheSubnetGroupInput { 13620 s.SubnetIds = v 13621 return s 13622} 13623 13624type ModifyCacheSubnetGroupOutput struct { 13625 _ struct{} `type:"structure"` 13626 13627 // Represents the output of one of the following operations: 13628 // 13629 // * CreateCacheSubnetGroup 13630 // 13631 // * ModifyCacheSubnetGroup 13632 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 13633} 13634 13635// String returns the string representation 13636func (s ModifyCacheSubnetGroupOutput) String() string { 13637 return awsutil.Prettify(s) 13638} 13639 13640// GoString returns the string representation 13641func (s ModifyCacheSubnetGroupOutput) GoString() string { 13642 return s.String() 13643} 13644 13645// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 13646func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *ModifyCacheSubnetGroupOutput { 13647 s.CacheSubnetGroup = v 13648 return s 13649} 13650 13651type ModifyGlobalReplicationGroupInput struct { 13652 _ struct{} `type:"structure"` 13653 13654 // This parameter causes the modifications in this request and any pending modifications 13655 // to be applied, asynchronously and as soon as possible. Modifications to Global 13656 // Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. 13657 // 13658 // ApplyImmediately is a required field 13659 ApplyImmediately *bool `type:"boolean" required:"true"` 13660 13661 // Determines whether a read replica is automatically promoted to read/write 13662 // primary if the existing primary encounters a failure. 13663 AutomaticFailoverEnabled *bool `type:"boolean"` 13664 13665 // A valid cache node type that you want to scale this Global Datastore to. 13666 CacheNodeType *string `type:"string"` 13667 13668 // The upgraded version of the cache engine to be run on the clusters in the 13669 // Global Datastore. 13670 EngineVersion *string `type:"string"` 13671 13672 // A description of the Global Datastore 13673 GlobalReplicationGroupDescription *string `type:"string"` 13674 13675 // The name of the Global Datastore 13676 // 13677 // GlobalReplicationGroupId is a required field 13678 GlobalReplicationGroupId *string `type:"string" required:"true"` 13679} 13680 13681// String returns the string representation 13682func (s ModifyGlobalReplicationGroupInput) String() string { 13683 return awsutil.Prettify(s) 13684} 13685 13686// GoString returns the string representation 13687func (s ModifyGlobalReplicationGroupInput) GoString() string { 13688 return s.String() 13689} 13690 13691// Validate inspects the fields of the type to determine if they are valid. 13692func (s *ModifyGlobalReplicationGroupInput) Validate() error { 13693 invalidParams := request.ErrInvalidParams{Context: "ModifyGlobalReplicationGroupInput"} 13694 if s.ApplyImmediately == nil { 13695 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 13696 } 13697 if s.GlobalReplicationGroupId == nil { 13698 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 13699 } 13700 13701 if invalidParams.Len() > 0 { 13702 return invalidParams 13703 } 13704 return nil 13705} 13706 13707// SetApplyImmediately sets the ApplyImmediately field's value. 13708func (s *ModifyGlobalReplicationGroupInput) SetApplyImmediately(v bool) *ModifyGlobalReplicationGroupInput { 13709 s.ApplyImmediately = &v 13710 return s 13711} 13712 13713// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 13714func (s *ModifyGlobalReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyGlobalReplicationGroupInput { 13715 s.AutomaticFailoverEnabled = &v 13716 return s 13717} 13718 13719// SetCacheNodeType sets the CacheNodeType field's value. 13720func (s *ModifyGlobalReplicationGroupInput) SetCacheNodeType(v string) *ModifyGlobalReplicationGroupInput { 13721 s.CacheNodeType = &v 13722 return s 13723} 13724 13725// SetEngineVersion sets the EngineVersion field's value. 13726func (s *ModifyGlobalReplicationGroupInput) SetEngineVersion(v string) *ModifyGlobalReplicationGroupInput { 13727 s.EngineVersion = &v 13728 return s 13729} 13730 13731// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 13732func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *ModifyGlobalReplicationGroupInput { 13733 s.GlobalReplicationGroupDescription = &v 13734 return s 13735} 13736 13737// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 13738func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *ModifyGlobalReplicationGroupInput { 13739 s.GlobalReplicationGroupId = &v 13740 return s 13741} 13742 13743type ModifyGlobalReplicationGroupOutput struct { 13744 _ struct{} `type:"structure"` 13745 13746 // Consists of a primary cluster that accepts writes and an associated secondary 13747 // cluster that resides in a different AWS region. The secondary cluster accepts 13748 // only reads. The primary cluster automatically replicates updates to the secondary 13749 // cluster. 13750 // 13751 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 13752 // Datastore, which is what you use to associate a secondary cluster. 13753 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 13754} 13755 13756// String returns the string representation 13757func (s ModifyGlobalReplicationGroupOutput) String() string { 13758 return awsutil.Prettify(s) 13759} 13760 13761// GoString returns the string representation 13762func (s ModifyGlobalReplicationGroupOutput) GoString() string { 13763 return s.String() 13764} 13765 13766// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 13767func (s *ModifyGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *ModifyGlobalReplicationGroupOutput { 13768 s.GlobalReplicationGroup = v 13769 return s 13770} 13771 13772// Represents the input of a ModifyReplicationGroups operation. 13773type ModifyReplicationGroupInput struct { 13774 _ struct{} `type:"structure"` 13775 13776 // If true, this parameter causes the modifications in this request and any 13777 // pending modifications to be applied, asynchronously and as soon as possible, 13778 // regardless of the PreferredMaintenanceWindow setting for the replication 13779 // group. 13780 // 13781 // If false, changes to the nodes in the replication group are applied on the 13782 // next maintenance reboot, or the next failure reboot, whichever occurs first. 13783 // 13784 // Valid values: true | false 13785 // 13786 // Default: false 13787 ApplyImmediately *bool `type:"boolean"` 13788 13789 // Reserved parameter. The password used to access a password protected server. 13790 // This parameter must be specified with the auth-token-update-strategy parameter. 13791 // Password constraints: 13792 // 13793 // * Must be only printable ASCII characters 13794 // 13795 // * Must be at least 16 characters and no more than 128 characters in length 13796 // 13797 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 13798 // 13799 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 13800 AuthToken *string `type:"string"` 13801 13802 // Specifies the strategy to use to update the AUTH token. This parameter must 13803 // be specified with the auth-token parameter. Possible values: 13804 // 13805 // * Rotate 13806 // 13807 // * Set 13808 // 13809 // For more information, see Authenticating Users with Redis AUTH (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 13810 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 13811 13812 // This parameter is currently disabled. 13813 AutoMinorVersionUpgrade *bool `type:"boolean"` 13814 13815 // Determines whether a read replica is automatically promoted to read/write 13816 // primary if the existing primary encounters a failure. 13817 // 13818 // Valid values: true | false 13819 // 13820 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 13821 // on: 13822 // 13823 // * Redis versions earlier than 2.8.6. 13824 // 13825 // * Redis (cluster mode disabled): T1 node types. 13826 // 13827 // * Redis (cluster mode enabled): T1 node types. 13828 AutomaticFailoverEnabled *bool `type:"boolean"` 13829 13830 // A valid cache node type that you want to scale this replication group to. 13831 CacheNodeType *string `type:"string"` 13832 13833 // The name of the cache parameter group to apply to all of the clusters in 13834 // this replication group. This change is asynchronously applied as soon as 13835 // possible for parameters when the ApplyImmediately parameter is specified 13836 // as true for this request. 13837 CacheParameterGroupName *string `type:"string"` 13838 13839 // A list of cache security group names to authorize for the clusters in this 13840 // replication group. This change is asynchronously applied as soon as possible. 13841 // 13842 // This parameter can be used only with replication group containing clusters 13843 // running outside of an Amazon Virtual Private Cloud (Amazon VPC). 13844 // 13845 // Constraints: Must contain no more than 255 alphanumeric characters. Must 13846 // not be Default. 13847 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 13848 13849 // The upgraded version of the cache engine to be run on the clusters in the 13850 // replication group. 13851 // 13852 // Important: You can upgrade to a newer engine version (see Selecting a Cache 13853 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 13854 // but you cannot downgrade to an earlier engine version. If you want to use 13855 // an earlier engine version, you must delete the existing replication group 13856 // and create it anew with the earlier engine version. 13857 EngineVersion *string `type:"string"` 13858 13859 MultiAZEnabled *bool `type:"boolean"` 13860 13861 // Deprecated. This parameter is not used. 13862 // 13863 // Deprecated: NodeGroupId has been deprecated 13864 NodeGroupId *string `deprecated:"true" type:"string"` 13865 13866 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 13867 // are sent. 13868 // 13869 // The Amazon SNS topic owner must be same as the replication group owner. 13870 NotificationTopicArn *string `type:"string"` 13871 13872 // The status of the Amazon SNS notification topic for the replication group. 13873 // Notifications are sent only if the status is active. 13874 // 13875 // Valid values: active | inactive 13876 NotificationTopicStatus *string `type:"string"` 13877 13878 // Specifies the weekly time range during which maintenance on the cluster is 13879 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 13880 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 13881 // 13882 // Valid values for ddd are: 13883 // 13884 // * sun 13885 // 13886 // * mon 13887 // 13888 // * tue 13889 // 13890 // * wed 13891 // 13892 // * thu 13893 // 13894 // * fri 13895 // 13896 // * sat 13897 // 13898 // Example: sun:23:00-mon:01:30 13899 PreferredMaintenanceWindow *string `type:"string"` 13900 13901 // For replication groups with a single primary, if this parameter is specified, 13902 // ElastiCache promotes the specified cluster in the specified replication group 13903 // to the primary role. The nodes of all other clusters in the replication group 13904 // are read replicas. 13905 PrimaryClusterId *string `type:"string"` 13906 13907 // A description for the replication group. Maximum length is 255 characters. 13908 ReplicationGroupDescription *string `type:"string"` 13909 13910 // The identifier of the replication group to modify. 13911 // 13912 // ReplicationGroupId is a required field 13913 ReplicationGroupId *string `type:"string" required:"true"` 13914 13915 // Specifies the VPC Security Groups associated with the clusters in the replication 13916 // group. 13917 // 13918 // This parameter can be used only with replication group containing clusters 13919 // running in an Amazon Virtual Private Cloud (Amazon VPC). 13920 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 13921 13922 // The number of days for which ElastiCache retains automatic node group (shard) 13923 // snapshots before deleting them. For example, if you set SnapshotRetentionLimit 13924 // to 5, a snapshot that was taken today is retained for 5 days before being 13925 // deleted. 13926 // 13927 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 13928 // are turned off. 13929 SnapshotRetentionLimit *int64 `type:"integer"` 13930 13931 // The daily time range (in UTC) during which ElastiCache begins taking a daily 13932 // snapshot of the node group (shard) specified by SnapshottingClusterId. 13933 // 13934 // Example: 05:00-09:00 13935 // 13936 // If you do not specify this parameter, ElastiCache automatically chooses an 13937 // appropriate time range. 13938 SnapshotWindow *string `type:"string"` 13939 13940 // The cluster ID that is used as the daily snapshot source for the replication 13941 // group. This parameter cannot be set for Redis (cluster mode enabled) replication 13942 // groups. 13943 SnapshottingClusterId *string `type:"string"` 13944} 13945 13946// String returns the string representation 13947func (s ModifyReplicationGroupInput) String() string { 13948 return awsutil.Prettify(s) 13949} 13950 13951// GoString returns the string representation 13952func (s ModifyReplicationGroupInput) GoString() string { 13953 return s.String() 13954} 13955 13956// Validate inspects the fields of the type to determine if they are valid. 13957func (s *ModifyReplicationGroupInput) Validate() error { 13958 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} 13959 if s.ReplicationGroupId == nil { 13960 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 13961 } 13962 13963 if invalidParams.Len() > 0 { 13964 return invalidParams 13965 } 13966 return nil 13967} 13968 13969// SetApplyImmediately sets the ApplyImmediately field's value. 13970func (s *ModifyReplicationGroupInput) SetApplyImmediately(v bool) *ModifyReplicationGroupInput { 13971 s.ApplyImmediately = &v 13972 return s 13973} 13974 13975// SetAuthToken sets the AuthToken field's value. 13976func (s *ModifyReplicationGroupInput) SetAuthToken(v string) *ModifyReplicationGroupInput { 13977 s.AuthToken = &v 13978 return s 13979} 13980 13981// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 13982func (s *ModifyReplicationGroupInput) SetAuthTokenUpdateStrategy(v string) *ModifyReplicationGroupInput { 13983 s.AuthTokenUpdateStrategy = &v 13984 return s 13985} 13986 13987// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 13988func (s *ModifyReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationGroupInput { 13989 s.AutoMinorVersionUpgrade = &v 13990 return s 13991} 13992 13993// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 13994func (s *ModifyReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyReplicationGroupInput { 13995 s.AutomaticFailoverEnabled = &v 13996 return s 13997} 13998 13999// SetCacheNodeType sets the CacheNodeType field's value. 14000func (s *ModifyReplicationGroupInput) SetCacheNodeType(v string) *ModifyReplicationGroupInput { 14001 s.CacheNodeType = &v 14002 return s 14003} 14004 14005// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 14006func (s *ModifyReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyReplicationGroupInput { 14007 s.CacheParameterGroupName = &v 14008 return s 14009} 14010 14011// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 14012func (s *ModifyReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *ModifyReplicationGroupInput { 14013 s.CacheSecurityGroupNames = v 14014 return s 14015} 14016 14017// SetEngineVersion sets the EngineVersion field's value. 14018func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicationGroupInput { 14019 s.EngineVersion = &v 14020 return s 14021} 14022 14023// SetMultiAZEnabled sets the MultiAZEnabled field's value. 14024func (s *ModifyReplicationGroupInput) SetMultiAZEnabled(v bool) *ModifyReplicationGroupInput { 14025 s.MultiAZEnabled = &v 14026 return s 14027} 14028 14029// SetNodeGroupId sets the NodeGroupId field's value. 14030func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { 14031 s.NodeGroupId = &v 14032 return s 14033} 14034 14035// SetNotificationTopicArn sets the NotificationTopicArn field's value. 14036func (s *ModifyReplicationGroupInput) SetNotificationTopicArn(v string) *ModifyReplicationGroupInput { 14037 s.NotificationTopicArn = &v 14038 return s 14039} 14040 14041// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 14042func (s *ModifyReplicationGroupInput) SetNotificationTopicStatus(v string) *ModifyReplicationGroupInput { 14043 s.NotificationTopicStatus = &v 14044 return s 14045} 14046 14047// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 14048func (s *ModifyReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationGroupInput { 14049 s.PreferredMaintenanceWindow = &v 14050 return s 14051} 14052 14053// SetPrimaryClusterId sets the PrimaryClusterId field's value. 14054func (s *ModifyReplicationGroupInput) SetPrimaryClusterId(v string) *ModifyReplicationGroupInput { 14055 s.PrimaryClusterId = &v 14056 return s 14057} 14058 14059// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 14060func (s *ModifyReplicationGroupInput) SetReplicationGroupDescription(v string) *ModifyReplicationGroupInput { 14061 s.ReplicationGroupDescription = &v 14062 return s 14063} 14064 14065// SetReplicationGroupId sets the ReplicationGroupId field's value. 14066func (s *ModifyReplicationGroupInput) SetReplicationGroupId(v string) *ModifyReplicationGroupInput { 14067 s.ReplicationGroupId = &v 14068 return s 14069} 14070 14071// SetSecurityGroupIds sets the SecurityGroupIds field's value. 14072func (s *ModifyReplicationGroupInput) SetSecurityGroupIds(v []*string) *ModifyReplicationGroupInput { 14073 s.SecurityGroupIds = v 14074 return s 14075} 14076 14077// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 14078func (s *ModifyReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *ModifyReplicationGroupInput { 14079 s.SnapshotRetentionLimit = &v 14080 return s 14081} 14082 14083// SetSnapshotWindow sets the SnapshotWindow field's value. 14084func (s *ModifyReplicationGroupInput) SetSnapshotWindow(v string) *ModifyReplicationGroupInput { 14085 s.SnapshotWindow = &v 14086 return s 14087} 14088 14089// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 14090func (s *ModifyReplicationGroupInput) SetSnapshottingClusterId(v string) *ModifyReplicationGroupInput { 14091 s.SnapshottingClusterId = &v 14092 return s 14093} 14094 14095type ModifyReplicationGroupOutput struct { 14096 _ struct{} `type:"structure"` 14097 14098 // Contains all of the attributes of a specific Redis replication group. 14099 ReplicationGroup *ReplicationGroup `type:"structure"` 14100} 14101 14102// String returns the string representation 14103func (s ModifyReplicationGroupOutput) String() string { 14104 return awsutil.Prettify(s) 14105} 14106 14107// GoString returns the string representation 14108func (s ModifyReplicationGroupOutput) GoString() string { 14109 return s.String() 14110} 14111 14112// SetReplicationGroup sets the ReplicationGroup field's value. 14113func (s *ModifyReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupOutput { 14114 s.ReplicationGroup = v 14115 return s 14116} 14117 14118// Represents the input for a ModifyReplicationGroupShardConfiguration operation. 14119type ModifyReplicationGroupShardConfigurationInput struct { 14120 _ struct{} `type:"structure"` 14121 14122 // Indicates that the shard reconfiguration process begins immediately. At present, 14123 // the only permitted value for this parameter is true. 14124 // 14125 // Value: true 14126 // 14127 // ApplyImmediately is a required field 14128 ApplyImmediately *bool `type:"boolean" required:"true"` 14129 14130 // The number of node groups (shards) that results from the modification of 14131 // the shard configuration. 14132 // 14133 // NodeGroupCount is a required field 14134 NodeGroupCount *int64 `type:"integer" required:"true"` 14135 14136 // If the value of NodeGroupCount is less than the current number of node groups 14137 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 14138 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 14139 // 14140 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 14141 // from the cluster. 14142 NodeGroupsToRemove []*string `locationNameList:"NodeGroupToRemove" type:"list"` 14143 14144 // If the value of NodeGroupCount is less than the current number of node groups 14145 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 14146 // NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. 14147 // 14148 // ElastiCache for Redis will attempt to remove all node groups except those 14149 // listed by NodeGroupsToRetain from the cluster. 14150 NodeGroupsToRetain []*string `locationNameList:"NodeGroupToRetain" type:"list"` 14151 14152 // The name of the Redis (cluster mode enabled) cluster (replication group) 14153 // on which the shards are to be configured. 14154 // 14155 // ReplicationGroupId is a required field 14156 ReplicationGroupId *string `type:"string" required:"true"` 14157 14158 // Specifies the preferred availability zones for each node group in the cluster. 14159 // If the value of NodeGroupCount is greater than the current number of node 14160 // groups (shards), you can use this parameter to specify the preferred availability 14161 // zones of the cluster's shards. If you omit this parameter ElastiCache selects 14162 // availability zones for you. 14163 // 14164 // You can specify this parameter only if the value of NodeGroupCount is greater 14165 // than the current number of node groups (shards). 14166 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list"` 14167} 14168 14169// String returns the string representation 14170func (s ModifyReplicationGroupShardConfigurationInput) String() string { 14171 return awsutil.Prettify(s) 14172} 14173 14174// GoString returns the string representation 14175func (s ModifyReplicationGroupShardConfigurationInput) GoString() string { 14176 return s.String() 14177} 14178 14179// Validate inspects the fields of the type to determine if they are valid. 14180func (s *ModifyReplicationGroupShardConfigurationInput) Validate() error { 14181 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupShardConfigurationInput"} 14182 if s.ApplyImmediately == nil { 14183 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 14184 } 14185 if s.NodeGroupCount == nil { 14186 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 14187 } 14188 if s.ReplicationGroupId == nil { 14189 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 14190 } 14191 if s.ReshardingConfiguration != nil { 14192 for i, v := range s.ReshardingConfiguration { 14193 if v == nil { 14194 continue 14195 } 14196 if err := v.Validate(); err != nil { 14197 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 14198 } 14199 } 14200 } 14201 14202 if invalidParams.Len() > 0 { 14203 return invalidParams 14204 } 14205 return nil 14206} 14207 14208// SetApplyImmediately sets the ApplyImmediately field's value. 14209func (s *ModifyReplicationGroupShardConfigurationInput) SetApplyImmediately(v bool) *ModifyReplicationGroupShardConfigurationInput { 14210 s.ApplyImmediately = &v 14211 return s 14212} 14213 14214// SetNodeGroupCount sets the NodeGroupCount field's value. 14215func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupCount(v int64) *ModifyReplicationGroupShardConfigurationInput { 14216 s.NodeGroupCount = &v 14217 return s 14218} 14219 14220// SetNodeGroupsToRemove sets the NodeGroupsToRemove field's value. 14221func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRemove(v []*string) *ModifyReplicationGroupShardConfigurationInput { 14222 s.NodeGroupsToRemove = v 14223 return s 14224} 14225 14226// SetNodeGroupsToRetain sets the NodeGroupsToRetain field's value. 14227func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v []*string) *ModifyReplicationGroupShardConfigurationInput { 14228 s.NodeGroupsToRetain = v 14229 return s 14230} 14231 14232// SetReplicationGroupId sets the ReplicationGroupId field's value. 14233func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { 14234 s.ReplicationGroupId = &v 14235 return s 14236} 14237 14238// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 14239func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { 14240 s.ReshardingConfiguration = v 14241 return s 14242} 14243 14244type ModifyReplicationGroupShardConfigurationOutput struct { 14245 _ struct{} `type:"structure"` 14246 14247 // Contains all of the attributes of a specific Redis replication group. 14248 ReplicationGroup *ReplicationGroup `type:"structure"` 14249} 14250 14251// String returns the string representation 14252func (s ModifyReplicationGroupShardConfigurationOutput) String() string { 14253 return awsutil.Prettify(s) 14254} 14255 14256// GoString returns the string representation 14257func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { 14258 return s.String() 14259} 14260 14261// SetReplicationGroup sets the ReplicationGroup field's value. 14262func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { 14263 s.ReplicationGroup = v 14264 return s 14265} 14266 14267// Represents a collection of cache nodes in a replication group. One node in 14268// the node group is the read/write primary node. All the other nodes are read-only 14269// Replica nodes. 14270type NodeGroup struct { 14271 _ struct{} `type:"structure"` 14272 14273 // The identifier for the node group (shard). A Redis (cluster mode disabled) 14274 // replication group contains only 1 node group; therefore, the node group ID 14275 // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 14276 // node groups numbered 0001 to 0090. Optionally, the user can provide the id 14277 // for a node group. 14278 NodeGroupId *string `type:"string"` 14279 14280 // A list containing information about individual nodes within the node group 14281 // (shard). 14282 NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` 14283 14284 // The endpoint of the primary node in this node group (shard). 14285 PrimaryEndpoint *Endpoint `type:"structure"` 14286 14287 // The endpoint of the replica nodes in this node group (shard). 14288 ReaderEndpoint *Endpoint `type:"structure"` 14289 14290 // The keyspace for this node group (shard). 14291 Slots *string `type:"string"` 14292 14293 // The current state of this replication group - creating, available, etc. 14294 Status *string `type:"string"` 14295} 14296 14297// String returns the string representation 14298func (s NodeGroup) String() string { 14299 return awsutil.Prettify(s) 14300} 14301 14302// GoString returns the string representation 14303func (s NodeGroup) GoString() string { 14304 return s.String() 14305} 14306 14307// SetNodeGroupId sets the NodeGroupId field's value. 14308func (s *NodeGroup) SetNodeGroupId(v string) *NodeGroup { 14309 s.NodeGroupId = &v 14310 return s 14311} 14312 14313// SetNodeGroupMembers sets the NodeGroupMembers field's value. 14314func (s *NodeGroup) SetNodeGroupMembers(v []*NodeGroupMember) *NodeGroup { 14315 s.NodeGroupMembers = v 14316 return s 14317} 14318 14319// SetPrimaryEndpoint sets the PrimaryEndpoint field's value. 14320func (s *NodeGroup) SetPrimaryEndpoint(v *Endpoint) *NodeGroup { 14321 s.PrimaryEndpoint = v 14322 return s 14323} 14324 14325// SetReaderEndpoint sets the ReaderEndpoint field's value. 14326func (s *NodeGroup) SetReaderEndpoint(v *Endpoint) *NodeGroup { 14327 s.ReaderEndpoint = v 14328 return s 14329} 14330 14331// SetSlots sets the Slots field's value. 14332func (s *NodeGroup) SetSlots(v string) *NodeGroup { 14333 s.Slots = &v 14334 return s 14335} 14336 14337// SetStatus sets the Status field's value. 14338func (s *NodeGroup) SetStatus(v string) *NodeGroup { 14339 s.Status = &v 14340 return s 14341} 14342 14343// Node group (shard) configuration options. Each node group (shard) configuration 14344// has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, 14345// ReplicaCount. 14346type NodeGroupConfiguration struct { 14347 _ struct{} `type:"structure"` 14348 14349 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 14350 // for the node group these configuration values apply to. 14351 NodeGroupId *string `min:"1" type:"string"` 14352 14353 // The Availability Zone where the primary node of this node group (shard) is 14354 // launched. 14355 PrimaryAvailabilityZone *string `type:"string"` 14356 14357 // A list of Availability Zones to be used for the read replicas. The number 14358 // of Availability Zones in this list must match the value of ReplicaCount or 14359 // ReplicasPerNodeGroup if not specified. 14360 ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 14361 14362 // The number of read replica nodes in this node group (shard). 14363 ReplicaCount *int64 `type:"integer"` 14364 14365 // A string that specifies the keyspace for a particular node group. Keyspaces 14366 // range from 0 to 16,383. The string is in the format startkey-endkey. 14367 // 14368 // Example: "0-3999" 14369 Slots *string `type:"string"` 14370} 14371 14372// String returns the string representation 14373func (s NodeGroupConfiguration) String() string { 14374 return awsutil.Prettify(s) 14375} 14376 14377// GoString returns the string representation 14378func (s NodeGroupConfiguration) GoString() string { 14379 return s.String() 14380} 14381 14382// Validate inspects the fields of the type to determine if they are valid. 14383func (s *NodeGroupConfiguration) Validate() error { 14384 invalidParams := request.ErrInvalidParams{Context: "NodeGroupConfiguration"} 14385 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 14386 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 14387 } 14388 14389 if invalidParams.Len() > 0 { 14390 return invalidParams 14391 } 14392 return nil 14393} 14394 14395// SetNodeGroupId sets the NodeGroupId field's value. 14396func (s *NodeGroupConfiguration) SetNodeGroupId(v string) *NodeGroupConfiguration { 14397 s.NodeGroupId = &v 14398 return s 14399} 14400 14401// SetPrimaryAvailabilityZone sets the PrimaryAvailabilityZone field's value. 14402func (s *NodeGroupConfiguration) SetPrimaryAvailabilityZone(v string) *NodeGroupConfiguration { 14403 s.PrimaryAvailabilityZone = &v 14404 return s 14405} 14406 14407// SetReplicaAvailabilityZones sets the ReplicaAvailabilityZones field's value. 14408func (s *NodeGroupConfiguration) SetReplicaAvailabilityZones(v []*string) *NodeGroupConfiguration { 14409 s.ReplicaAvailabilityZones = v 14410 return s 14411} 14412 14413// SetReplicaCount sets the ReplicaCount field's value. 14414func (s *NodeGroupConfiguration) SetReplicaCount(v int64) *NodeGroupConfiguration { 14415 s.ReplicaCount = &v 14416 return s 14417} 14418 14419// SetSlots sets the Slots field's value. 14420func (s *NodeGroupConfiguration) SetSlots(v string) *NodeGroupConfiguration { 14421 s.Slots = &v 14422 return s 14423} 14424 14425// Represents a single node within a node group (shard). 14426type NodeGroupMember struct { 14427 _ struct{} `type:"structure"` 14428 14429 // The ID of the cluster to which the node belongs. 14430 CacheClusterId *string `type:"string"` 14431 14432 // The ID of the node within its cluster. A node ID is a numeric identifier 14433 // (0001, 0002, etc.). 14434 CacheNodeId *string `type:"string"` 14435 14436 // The role that is currently assigned to the node - primary or replica. This 14437 // member is only applicable for Redis (cluster mode disabled) replication groups. 14438 CurrentRole *string `type:"string"` 14439 14440 // The name of the Availability Zone in which the node is located. 14441 PreferredAvailabilityZone *string `type:"string"` 14442 14443 // The information required for client programs to connect to a node for read 14444 // operations. The read endpoint is only applicable on Redis (cluster mode disabled) 14445 // clusters. 14446 ReadEndpoint *Endpoint `type:"structure"` 14447} 14448 14449// String returns the string representation 14450func (s NodeGroupMember) String() string { 14451 return awsutil.Prettify(s) 14452} 14453 14454// GoString returns the string representation 14455func (s NodeGroupMember) GoString() string { 14456 return s.String() 14457} 14458 14459// SetCacheClusterId sets the CacheClusterId field's value. 14460func (s *NodeGroupMember) SetCacheClusterId(v string) *NodeGroupMember { 14461 s.CacheClusterId = &v 14462 return s 14463} 14464 14465// SetCacheNodeId sets the CacheNodeId field's value. 14466func (s *NodeGroupMember) SetCacheNodeId(v string) *NodeGroupMember { 14467 s.CacheNodeId = &v 14468 return s 14469} 14470 14471// SetCurrentRole sets the CurrentRole field's value. 14472func (s *NodeGroupMember) SetCurrentRole(v string) *NodeGroupMember { 14473 s.CurrentRole = &v 14474 return s 14475} 14476 14477// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 14478func (s *NodeGroupMember) SetPreferredAvailabilityZone(v string) *NodeGroupMember { 14479 s.PreferredAvailabilityZone = &v 14480 return s 14481} 14482 14483// SetReadEndpoint sets the ReadEndpoint field's value. 14484func (s *NodeGroupMember) SetReadEndpoint(v *Endpoint) *NodeGroupMember { 14485 s.ReadEndpoint = v 14486 return s 14487} 14488 14489// The status of the service update on the node group member 14490type NodeGroupMemberUpdateStatus struct { 14491 _ struct{} `type:"structure"` 14492 14493 // The cache cluster ID 14494 CacheClusterId *string `type:"string"` 14495 14496 // The node ID of the cache cluster 14497 CacheNodeId *string `type:"string"` 14498 14499 // The deletion date of the node 14500 NodeDeletionDate *time.Time `type:"timestamp"` 14501 14502 // The end date of the update for a node 14503 NodeUpdateEndDate *time.Time `type:"timestamp"` 14504 14505 // Reflects whether the update was initiated by the customer or automatically 14506 // applied 14507 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 14508 14509 // The date when the update is triggered 14510 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 14511 14512 // The start date of the update for a node 14513 NodeUpdateStartDate *time.Time `type:"timestamp"` 14514 14515 // The update status of the node 14516 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 14517 14518 // The date when the NodeUpdateStatus was last modified 14519 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 14520} 14521 14522// String returns the string representation 14523func (s NodeGroupMemberUpdateStatus) String() string { 14524 return awsutil.Prettify(s) 14525} 14526 14527// GoString returns the string representation 14528func (s NodeGroupMemberUpdateStatus) GoString() string { 14529 return s.String() 14530} 14531 14532// SetCacheClusterId sets the CacheClusterId field's value. 14533func (s *NodeGroupMemberUpdateStatus) SetCacheClusterId(v string) *NodeGroupMemberUpdateStatus { 14534 s.CacheClusterId = &v 14535 return s 14536} 14537 14538// SetCacheNodeId sets the CacheNodeId field's value. 14539func (s *NodeGroupMemberUpdateStatus) SetCacheNodeId(v string) *NodeGroupMemberUpdateStatus { 14540 s.CacheNodeId = &v 14541 return s 14542} 14543 14544// SetNodeDeletionDate sets the NodeDeletionDate field's value. 14545func (s *NodeGroupMemberUpdateStatus) SetNodeDeletionDate(v time.Time) *NodeGroupMemberUpdateStatus { 14546 s.NodeDeletionDate = &v 14547 return s 14548} 14549 14550// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 14551func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateEndDate(v time.Time) *NodeGroupMemberUpdateStatus { 14552 s.NodeUpdateEndDate = &v 14553 return s 14554} 14555 14556// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 14557func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedBy(v string) *NodeGroupMemberUpdateStatus { 14558 s.NodeUpdateInitiatedBy = &v 14559 return s 14560} 14561 14562// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 14563func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *NodeGroupMemberUpdateStatus { 14564 s.NodeUpdateInitiatedDate = &v 14565 return s 14566} 14567 14568// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 14569func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStartDate(v time.Time) *NodeGroupMemberUpdateStatus { 14570 s.NodeUpdateStartDate = &v 14571 return s 14572} 14573 14574// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 14575func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatus(v string) *NodeGroupMemberUpdateStatus { 14576 s.NodeUpdateStatus = &v 14577 return s 14578} 14579 14580// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 14581func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *NodeGroupMemberUpdateStatus { 14582 s.NodeUpdateStatusModifiedDate = &v 14583 return s 14584} 14585 14586// The status of the service update on the node group 14587type NodeGroupUpdateStatus struct { 14588 _ struct{} `type:"structure"` 14589 14590 // The ID of the node group 14591 NodeGroupId *string `type:"string"` 14592 14593 // The status of the service update on the node group member 14594 NodeGroupMemberUpdateStatus []*NodeGroupMemberUpdateStatus `locationNameList:"NodeGroupMemberUpdateStatus" type:"list"` 14595} 14596 14597// String returns the string representation 14598func (s NodeGroupUpdateStatus) String() string { 14599 return awsutil.Prettify(s) 14600} 14601 14602// GoString returns the string representation 14603func (s NodeGroupUpdateStatus) GoString() string { 14604 return s.String() 14605} 14606 14607// SetNodeGroupId sets the NodeGroupId field's value. 14608func (s *NodeGroupUpdateStatus) SetNodeGroupId(v string) *NodeGroupUpdateStatus { 14609 s.NodeGroupId = &v 14610 return s 14611} 14612 14613// SetNodeGroupMemberUpdateStatus sets the NodeGroupMemberUpdateStatus field's value. 14614func (s *NodeGroupUpdateStatus) SetNodeGroupMemberUpdateStatus(v []*NodeGroupMemberUpdateStatus) *NodeGroupUpdateStatus { 14615 s.NodeGroupMemberUpdateStatus = v 14616 return s 14617} 14618 14619// Represents an individual cache node in a snapshot of a cluster. 14620type NodeSnapshot struct { 14621 _ struct{} `type:"structure"` 14622 14623 // A unique identifier for the source cluster. 14624 CacheClusterId *string `type:"string"` 14625 14626 // The date and time when the cache node was created in the source cluster. 14627 CacheNodeCreateTime *time.Time `type:"timestamp"` 14628 14629 // The cache node identifier for the node in the source cluster. 14630 CacheNodeId *string `type:"string"` 14631 14632 // The size of the cache on the source cache node. 14633 CacheSize *string `type:"string"` 14634 14635 // The configuration for the source node group (shard). 14636 NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` 14637 14638 // A unique identifier for the source node group (shard). 14639 NodeGroupId *string `type:"string"` 14640 14641 // The date and time when the source node's metadata and cache data set was 14642 // obtained for the snapshot. 14643 SnapshotCreateTime *time.Time `type:"timestamp"` 14644} 14645 14646// String returns the string representation 14647func (s NodeSnapshot) String() string { 14648 return awsutil.Prettify(s) 14649} 14650 14651// GoString returns the string representation 14652func (s NodeSnapshot) GoString() string { 14653 return s.String() 14654} 14655 14656// SetCacheClusterId sets the CacheClusterId field's value. 14657func (s *NodeSnapshot) SetCacheClusterId(v string) *NodeSnapshot { 14658 s.CacheClusterId = &v 14659 return s 14660} 14661 14662// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 14663func (s *NodeSnapshot) SetCacheNodeCreateTime(v time.Time) *NodeSnapshot { 14664 s.CacheNodeCreateTime = &v 14665 return s 14666} 14667 14668// SetCacheNodeId sets the CacheNodeId field's value. 14669func (s *NodeSnapshot) SetCacheNodeId(v string) *NodeSnapshot { 14670 s.CacheNodeId = &v 14671 return s 14672} 14673 14674// SetCacheSize sets the CacheSize field's value. 14675func (s *NodeSnapshot) SetCacheSize(v string) *NodeSnapshot { 14676 s.CacheSize = &v 14677 return s 14678} 14679 14680// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 14681func (s *NodeSnapshot) SetNodeGroupConfiguration(v *NodeGroupConfiguration) *NodeSnapshot { 14682 s.NodeGroupConfiguration = v 14683 return s 14684} 14685 14686// SetNodeGroupId sets the NodeGroupId field's value. 14687func (s *NodeSnapshot) SetNodeGroupId(v string) *NodeSnapshot { 14688 s.NodeGroupId = &v 14689 return s 14690} 14691 14692// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 14693func (s *NodeSnapshot) SetSnapshotCreateTime(v time.Time) *NodeSnapshot { 14694 s.SnapshotCreateTime = &v 14695 return s 14696} 14697 14698// Describes a notification topic and its status. Notification topics are used 14699// for publishing ElastiCache events to subscribers using Amazon Simple Notification 14700// Service (SNS). 14701type NotificationConfiguration struct { 14702 _ struct{} `type:"structure"` 14703 14704 // The Amazon Resource Name (ARN) that identifies the topic. 14705 TopicArn *string `type:"string"` 14706 14707 // The current state of the topic. 14708 TopicStatus *string `type:"string"` 14709} 14710 14711// String returns the string representation 14712func (s NotificationConfiguration) String() string { 14713 return awsutil.Prettify(s) 14714} 14715 14716// GoString returns the string representation 14717func (s NotificationConfiguration) GoString() string { 14718 return s.String() 14719} 14720 14721// SetTopicArn sets the TopicArn field's value. 14722func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { 14723 s.TopicArn = &v 14724 return s 14725} 14726 14727// SetTopicStatus sets the TopicStatus field's value. 14728func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { 14729 s.TopicStatus = &v 14730 return s 14731} 14732 14733// Describes an individual setting that controls some aspect of ElastiCache 14734// behavior. 14735type Parameter struct { 14736 _ struct{} `type:"structure"` 14737 14738 // The valid range of values for the parameter. 14739 AllowedValues *string `type:"string"` 14740 14741 // Indicates whether a change to the parameter is applied immediately or requires 14742 // a reboot for the change to be applied. You can force a reboot or wait until 14743 // the next maintenance window's reboot. For more information, see Rebooting 14744 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 14745 ChangeType *string `type:"string" enum:"ChangeType"` 14746 14747 // The valid data type for the parameter. 14748 DataType *string `type:"string"` 14749 14750 // A description of the parameter. 14751 Description *string `type:"string"` 14752 14753 // Indicates whether (true) or not (false) the parameter can be modified. Some 14754 // parameters have security or operational implications that prevent them from 14755 // being changed. 14756 IsModifiable *bool `type:"boolean"` 14757 14758 // The earliest cache engine version to which the parameter can apply. 14759 MinimumEngineVersion *string `type:"string"` 14760 14761 // The name of the parameter. 14762 ParameterName *string `type:"string"` 14763 14764 // The value of the parameter. 14765 ParameterValue *string `type:"string"` 14766 14767 // The source of the parameter. 14768 Source *string `type:"string"` 14769} 14770 14771// String returns the string representation 14772func (s Parameter) String() string { 14773 return awsutil.Prettify(s) 14774} 14775 14776// GoString returns the string representation 14777func (s Parameter) GoString() string { 14778 return s.String() 14779} 14780 14781// SetAllowedValues sets the AllowedValues field's value. 14782func (s *Parameter) SetAllowedValues(v string) *Parameter { 14783 s.AllowedValues = &v 14784 return s 14785} 14786 14787// SetChangeType sets the ChangeType field's value. 14788func (s *Parameter) SetChangeType(v string) *Parameter { 14789 s.ChangeType = &v 14790 return s 14791} 14792 14793// SetDataType sets the DataType field's value. 14794func (s *Parameter) SetDataType(v string) *Parameter { 14795 s.DataType = &v 14796 return s 14797} 14798 14799// SetDescription sets the Description field's value. 14800func (s *Parameter) SetDescription(v string) *Parameter { 14801 s.Description = &v 14802 return s 14803} 14804 14805// SetIsModifiable sets the IsModifiable field's value. 14806func (s *Parameter) SetIsModifiable(v bool) *Parameter { 14807 s.IsModifiable = &v 14808 return s 14809} 14810 14811// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 14812func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 14813 s.MinimumEngineVersion = &v 14814 return s 14815} 14816 14817// SetParameterName sets the ParameterName field's value. 14818func (s *Parameter) SetParameterName(v string) *Parameter { 14819 s.ParameterName = &v 14820 return s 14821} 14822 14823// SetParameterValue sets the ParameterValue field's value. 14824func (s *Parameter) SetParameterValue(v string) *Parameter { 14825 s.ParameterValue = &v 14826 return s 14827} 14828 14829// SetSource sets the Source field's value. 14830func (s *Parameter) SetSource(v string) *Parameter { 14831 s.Source = &v 14832 return s 14833} 14834 14835// Describes a name-value pair that is used to update the value of a parameter. 14836type ParameterNameValue struct { 14837 _ struct{} `type:"structure"` 14838 14839 // The name of the parameter. 14840 ParameterName *string `type:"string"` 14841 14842 // The value of the parameter. 14843 ParameterValue *string `type:"string"` 14844} 14845 14846// String returns the string representation 14847func (s ParameterNameValue) String() string { 14848 return awsutil.Prettify(s) 14849} 14850 14851// GoString returns the string representation 14852func (s ParameterNameValue) GoString() string { 14853 return s.String() 14854} 14855 14856// SetParameterName sets the ParameterName field's value. 14857func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { 14858 s.ParameterName = &v 14859 return s 14860} 14861 14862// SetParameterValue sets the ParameterValue field's value. 14863func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { 14864 s.ParameterValue = &v 14865 return s 14866} 14867 14868// A group of settings that are applied to the cluster in the future, or that 14869// are currently being applied. 14870type PendingModifiedValues struct { 14871 _ struct{} `type:"structure"` 14872 14873 // The auth token status 14874 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 14875 14876 // A list of cache node IDs that are being removed (or will be removed) from 14877 // the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.). 14878 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 14879 14880 // The cache node type that this cluster or replication group is scaled to. 14881 CacheNodeType *string `type:"string"` 14882 14883 // The new cache engine version that the cluster runs. 14884 EngineVersion *string `type:"string"` 14885 14886 // The new number of cache nodes for the cluster. 14887 // 14888 // For clusters running Redis, this value must be 1. For clusters running Memcached, 14889 // this value must be between 1 and 20. 14890 NumCacheNodes *int64 `type:"integer"` 14891} 14892 14893// String returns the string representation 14894func (s PendingModifiedValues) String() string { 14895 return awsutil.Prettify(s) 14896} 14897 14898// GoString returns the string representation 14899func (s PendingModifiedValues) GoString() string { 14900 return s.String() 14901} 14902 14903// SetAuthTokenStatus sets the AuthTokenStatus field's value. 14904func (s *PendingModifiedValues) SetAuthTokenStatus(v string) *PendingModifiedValues { 14905 s.AuthTokenStatus = &v 14906 return s 14907} 14908 14909// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 14910func (s *PendingModifiedValues) SetCacheNodeIdsToRemove(v []*string) *PendingModifiedValues { 14911 s.CacheNodeIdsToRemove = v 14912 return s 14913} 14914 14915// SetCacheNodeType sets the CacheNodeType field's value. 14916func (s *PendingModifiedValues) SetCacheNodeType(v string) *PendingModifiedValues { 14917 s.CacheNodeType = &v 14918 return s 14919} 14920 14921// SetEngineVersion sets the EngineVersion field's value. 14922func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { 14923 s.EngineVersion = &v 14924 return s 14925} 14926 14927// SetNumCacheNodes sets the NumCacheNodes field's value. 14928func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues { 14929 s.NumCacheNodes = &v 14930 return s 14931} 14932 14933// Update action that has been processed for the corresponding apply/stop request 14934type ProcessedUpdateAction struct { 14935 _ struct{} `type:"structure"` 14936 14937 // The ID of the cache cluster 14938 CacheClusterId *string `type:"string"` 14939 14940 // The ID of the replication group 14941 ReplicationGroupId *string `type:"string"` 14942 14943 // The unique ID of the service update 14944 ServiceUpdateName *string `type:"string"` 14945 14946 // The status of the update action on the Redis cluster 14947 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 14948} 14949 14950// String returns the string representation 14951func (s ProcessedUpdateAction) String() string { 14952 return awsutil.Prettify(s) 14953} 14954 14955// GoString returns the string representation 14956func (s ProcessedUpdateAction) GoString() string { 14957 return s.String() 14958} 14959 14960// SetCacheClusterId sets the CacheClusterId field's value. 14961func (s *ProcessedUpdateAction) SetCacheClusterId(v string) *ProcessedUpdateAction { 14962 s.CacheClusterId = &v 14963 return s 14964} 14965 14966// SetReplicationGroupId sets the ReplicationGroupId field's value. 14967func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { 14968 s.ReplicationGroupId = &v 14969 return s 14970} 14971 14972// SetServiceUpdateName sets the ServiceUpdateName field's value. 14973func (s *ProcessedUpdateAction) SetServiceUpdateName(v string) *ProcessedUpdateAction { 14974 s.ServiceUpdateName = &v 14975 return s 14976} 14977 14978// SetUpdateActionStatus sets the UpdateActionStatus field's value. 14979func (s *ProcessedUpdateAction) SetUpdateActionStatus(v string) *ProcessedUpdateAction { 14980 s.UpdateActionStatus = &v 14981 return s 14982} 14983 14984// Represents the input of a PurchaseReservedCacheNodesOffering operation. 14985type PurchaseReservedCacheNodesOfferingInput struct { 14986 _ struct{} `type:"structure"` 14987 14988 // The number of cache node instances to reserve. 14989 // 14990 // Default: 1 14991 CacheNodeCount *int64 `type:"integer"` 14992 14993 // A customer-specified identifier to track this reservation. 14994 // 14995 // The Reserved Cache Node ID is an unique customer-specified identifier to 14996 // track this reservation. If this parameter is not specified, ElastiCache automatically 14997 // generates an identifier for the reservation. 14998 // 14999 // Example: myreservationID 15000 ReservedCacheNodeId *string `type:"string"` 15001 15002 // The ID of the reserved cache node offering to purchase. 15003 // 15004 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 15005 // 15006 // ReservedCacheNodesOfferingId is a required field 15007 ReservedCacheNodesOfferingId *string `type:"string" required:"true"` 15008} 15009 15010// String returns the string representation 15011func (s PurchaseReservedCacheNodesOfferingInput) String() string { 15012 return awsutil.Prettify(s) 15013} 15014 15015// GoString returns the string representation 15016func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { 15017 return s.String() 15018} 15019 15020// Validate inspects the fields of the type to determine if they are valid. 15021func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { 15022 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} 15023 if s.ReservedCacheNodesOfferingId == nil { 15024 invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) 15025 } 15026 15027 if invalidParams.Len() > 0 { 15028 return invalidParams 15029 } 15030 return nil 15031} 15032 15033// SetCacheNodeCount sets the CacheNodeCount field's value. 15034func (s *PurchaseReservedCacheNodesOfferingInput) SetCacheNodeCount(v int64) *PurchaseReservedCacheNodesOfferingInput { 15035 s.CacheNodeCount = &v 15036 return s 15037} 15038 15039// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 15040func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodeId(v string) *PurchaseReservedCacheNodesOfferingInput { 15041 s.ReservedCacheNodeId = &v 15042 return s 15043} 15044 15045// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 15046func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodesOfferingId(v string) *PurchaseReservedCacheNodesOfferingInput { 15047 s.ReservedCacheNodesOfferingId = &v 15048 return s 15049} 15050 15051type PurchaseReservedCacheNodesOfferingOutput struct { 15052 _ struct{} `type:"structure"` 15053 15054 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 15055 ReservedCacheNode *ReservedCacheNode `type:"structure"` 15056} 15057 15058// String returns the string representation 15059func (s PurchaseReservedCacheNodesOfferingOutput) String() string { 15060 return awsutil.Prettify(s) 15061} 15062 15063// GoString returns the string representation 15064func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { 15065 return s.String() 15066} 15067 15068// SetReservedCacheNode sets the ReservedCacheNode field's value. 15069func (s *PurchaseReservedCacheNodesOfferingOutput) SetReservedCacheNode(v *ReservedCacheNode) *PurchaseReservedCacheNodesOfferingOutput { 15070 s.ReservedCacheNode = v 15071 return s 15072} 15073 15074type RebalanceSlotsInGlobalReplicationGroupInput struct { 15075 _ struct{} `type:"structure"` 15076 15077 // If True, redistribution is applied immediately. 15078 // 15079 // ApplyImmediately is a required field 15080 ApplyImmediately *bool `type:"boolean" required:"true"` 15081 15082 // The name of the Global Datastore 15083 // 15084 // GlobalReplicationGroupId is a required field 15085 GlobalReplicationGroupId *string `type:"string" required:"true"` 15086} 15087 15088// String returns the string representation 15089func (s RebalanceSlotsInGlobalReplicationGroupInput) String() string { 15090 return awsutil.Prettify(s) 15091} 15092 15093// GoString returns the string representation 15094func (s RebalanceSlotsInGlobalReplicationGroupInput) GoString() string { 15095 return s.String() 15096} 15097 15098// Validate inspects the fields of the type to determine if they are valid. 15099func (s *RebalanceSlotsInGlobalReplicationGroupInput) Validate() error { 15100 invalidParams := request.ErrInvalidParams{Context: "RebalanceSlotsInGlobalReplicationGroupInput"} 15101 if s.ApplyImmediately == nil { 15102 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 15103 } 15104 if s.GlobalReplicationGroupId == nil { 15105 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 15106 } 15107 15108 if invalidParams.Len() > 0 { 15109 return invalidParams 15110 } 15111 return nil 15112} 15113 15114// SetApplyImmediately sets the ApplyImmediately field's value. 15115func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *RebalanceSlotsInGlobalReplicationGroupInput { 15116 s.ApplyImmediately = &v 15117 return s 15118} 15119 15120// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15121func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *RebalanceSlotsInGlobalReplicationGroupInput { 15122 s.GlobalReplicationGroupId = &v 15123 return s 15124} 15125 15126type RebalanceSlotsInGlobalReplicationGroupOutput struct { 15127 _ struct{} `type:"structure"` 15128 15129 // Consists of a primary cluster that accepts writes and an associated secondary 15130 // cluster that resides in a different AWS region. The secondary cluster accepts 15131 // only reads. The primary cluster automatically replicates updates to the secondary 15132 // cluster. 15133 // 15134 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 15135 // Datastore, which is what you use to associate a secondary cluster. 15136 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 15137} 15138 15139// String returns the string representation 15140func (s RebalanceSlotsInGlobalReplicationGroupOutput) String() string { 15141 return awsutil.Prettify(s) 15142} 15143 15144// GoString returns the string representation 15145func (s RebalanceSlotsInGlobalReplicationGroupOutput) GoString() string { 15146 return s.String() 15147} 15148 15149// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 15150func (s *RebalanceSlotsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *RebalanceSlotsInGlobalReplicationGroupOutput { 15151 s.GlobalReplicationGroup = v 15152 return s 15153} 15154 15155// Represents the input of a RebootCacheCluster operation. 15156type RebootCacheClusterInput struct { 15157 _ struct{} `type:"structure"` 15158 15159 // The cluster identifier. This parameter is stored as a lowercase string. 15160 // 15161 // CacheClusterId is a required field 15162 CacheClusterId *string `type:"string" required:"true"` 15163 15164 // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 15165 // 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs. 15166 // 15167 // CacheNodeIdsToReboot is a required field 15168 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` 15169} 15170 15171// String returns the string representation 15172func (s RebootCacheClusterInput) String() string { 15173 return awsutil.Prettify(s) 15174} 15175 15176// GoString returns the string representation 15177func (s RebootCacheClusterInput) GoString() string { 15178 return s.String() 15179} 15180 15181// Validate inspects the fields of the type to determine if they are valid. 15182func (s *RebootCacheClusterInput) Validate() error { 15183 invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} 15184 if s.CacheClusterId == nil { 15185 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 15186 } 15187 if s.CacheNodeIdsToReboot == nil { 15188 invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) 15189 } 15190 15191 if invalidParams.Len() > 0 { 15192 return invalidParams 15193 } 15194 return nil 15195} 15196 15197// SetCacheClusterId sets the CacheClusterId field's value. 15198func (s *RebootCacheClusterInput) SetCacheClusterId(v string) *RebootCacheClusterInput { 15199 s.CacheClusterId = &v 15200 return s 15201} 15202 15203// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 15204func (s *RebootCacheClusterInput) SetCacheNodeIdsToReboot(v []*string) *RebootCacheClusterInput { 15205 s.CacheNodeIdsToReboot = v 15206 return s 15207} 15208 15209type RebootCacheClusterOutput struct { 15210 _ struct{} `type:"structure"` 15211 15212 // Contains all of the attributes of a specific cluster. 15213 CacheCluster *CacheCluster `type:"structure"` 15214} 15215 15216// String returns the string representation 15217func (s RebootCacheClusterOutput) String() string { 15218 return awsutil.Prettify(s) 15219} 15220 15221// GoString returns the string representation 15222func (s RebootCacheClusterOutput) GoString() string { 15223 return s.String() 15224} 15225 15226// SetCacheCluster sets the CacheCluster field's value. 15227func (s *RebootCacheClusterOutput) SetCacheCluster(v *CacheCluster) *RebootCacheClusterOutput { 15228 s.CacheCluster = v 15229 return s 15230} 15231 15232// Contains the specific price and frequency of a recurring charges for a reserved 15233// cache node, or for a reserved cache node offering. 15234type RecurringCharge struct { 15235 _ struct{} `type:"structure"` 15236 15237 // The monetary amount of the recurring charge. 15238 RecurringChargeAmount *float64 `type:"double"` 15239 15240 // The frequency of the recurring charge. 15241 RecurringChargeFrequency *string `type:"string"` 15242} 15243 15244// String returns the string representation 15245func (s RecurringCharge) String() string { 15246 return awsutil.Prettify(s) 15247} 15248 15249// GoString returns the string representation 15250func (s RecurringCharge) GoString() string { 15251 return s.String() 15252} 15253 15254// SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 15255func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 15256 s.RecurringChargeAmount = &v 15257 return s 15258} 15259 15260// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 15261func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 15262 s.RecurringChargeFrequency = &v 15263 return s 15264} 15265 15266// A list of the replication groups 15267type RegionalConfiguration struct { 15268 _ struct{} `type:"structure"` 15269 15270 // The name of the secondary cluster 15271 // 15272 // ReplicationGroupId is a required field 15273 ReplicationGroupId *string `type:"string" required:"true"` 15274 15275 // The AWS region where the cluster is stored 15276 // 15277 // ReplicationGroupRegion is a required field 15278 ReplicationGroupRegion *string `type:"string" required:"true"` 15279 15280 // A list of PreferredAvailabilityZones objects that specifies the configuration 15281 // of a node group in the resharded cluster. 15282 // 15283 // ReshardingConfiguration is a required field 15284 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list" required:"true"` 15285} 15286 15287// String returns the string representation 15288func (s RegionalConfiguration) String() string { 15289 return awsutil.Prettify(s) 15290} 15291 15292// GoString returns the string representation 15293func (s RegionalConfiguration) GoString() string { 15294 return s.String() 15295} 15296 15297// Validate inspects the fields of the type to determine if they are valid. 15298func (s *RegionalConfiguration) Validate() error { 15299 invalidParams := request.ErrInvalidParams{Context: "RegionalConfiguration"} 15300 if s.ReplicationGroupId == nil { 15301 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 15302 } 15303 if s.ReplicationGroupRegion == nil { 15304 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 15305 } 15306 if s.ReshardingConfiguration == nil { 15307 invalidParams.Add(request.NewErrParamRequired("ReshardingConfiguration")) 15308 } 15309 if s.ReshardingConfiguration != nil { 15310 for i, v := range s.ReshardingConfiguration { 15311 if v == nil { 15312 continue 15313 } 15314 if err := v.Validate(); err != nil { 15315 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 15316 } 15317 } 15318 } 15319 15320 if invalidParams.Len() > 0 { 15321 return invalidParams 15322 } 15323 return nil 15324} 15325 15326// SetReplicationGroupId sets the ReplicationGroupId field's value. 15327func (s *RegionalConfiguration) SetReplicationGroupId(v string) *RegionalConfiguration { 15328 s.ReplicationGroupId = &v 15329 return s 15330} 15331 15332// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 15333func (s *RegionalConfiguration) SetReplicationGroupRegion(v string) *RegionalConfiguration { 15334 s.ReplicationGroupRegion = &v 15335 return s 15336} 15337 15338// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 15339func (s *RegionalConfiguration) SetReshardingConfiguration(v []*ReshardingConfiguration) *RegionalConfiguration { 15340 s.ReshardingConfiguration = v 15341 return s 15342} 15343 15344// Represents the input of a RemoveTagsFromResource operation. 15345type RemoveTagsFromResourceInput struct { 15346 _ struct{} `type:"structure"` 15347 15348 // The Amazon Resource Name (ARN) of the resource from which you want the tags 15349 // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 15350 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 15351 // 15352 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 15353 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 15354 // 15355 // ResourceName is a required field 15356 ResourceName *string `type:"string" required:"true"` 15357 15358 // A list of TagKeys identifying the tags you want removed from the named resource. 15359 // 15360 // TagKeys is a required field 15361 TagKeys []*string `type:"list" required:"true"` 15362} 15363 15364// String returns the string representation 15365func (s RemoveTagsFromResourceInput) String() string { 15366 return awsutil.Prettify(s) 15367} 15368 15369// GoString returns the string representation 15370func (s RemoveTagsFromResourceInput) GoString() string { 15371 return s.String() 15372} 15373 15374// Validate inspects the fields of the type to determine if they are valid. 15375func (s *RemoveTagsFromResourceInput) Validate() error { 15376 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} 15377 if s.ResourceName == nil { 15378 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 15379 } 15380 if s.TagKeys == nil { 15381 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 15382 } 15383 15384 if invalidParams.Len() > 0 { 15385 return invalidParams 15386 } 15387 return nil 15388} 15389 15390// SetResourceName sets the ResourceName field's value. 15391func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { 15392 s.ResourceName = &v 15393 return s 15394} 15395 15396// SetTagKeys sets the TagKeys field's value. 15397func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { 15398 s.TagKeys = v 15399 return s 15400} 15401 15402// Contains all of the attributes of a specific Redis replication group. 15403type ReplicationGroup struct { 15404 _ struct{} `type:"structure"` 15405 15406 // The ARN (Amazon Resource Name) of the replication group. 15407 ARN *string `type:"string"` 15408 15409 // A flag that enables encryption at-rest when set to true. 15410 // 15411 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 15412 // is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled 15413 // to true when you create a cluster. 15414 // 15415 // Required: Only available when creating a replication group in an Amazon VPC 15416 // using redis version 3.2.6, 4.x or later. 15417 // 15418 // Default: false 15419 AtRestEncryptionEnabled *bool `type:"boolean"` 15420 15421 // A flag that enables using an AuthToken (password) when issuing Redis commands. 15422 // 15423 // Default: false 15424 AuthTokenEnabled *bool `type:"boolean"` 15425 15426 // The date the auth token was last modified 15427 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 15428 15429 // Indicates the status of Multi-AZ with automatic failover for this Redis replication 15430 // group. 15431 // 15432 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 15433 // on: 15434 // 15435 // * Redis versions earlier than 2.8.6. 15436 // 15437 // * Redis (cluster mode disabled): T1 node types. 15438 // 15439 // * Redis (cluster mode enabled): T1 node types. 15440 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 15441 15442 // The name of the compute and memory capacity node type for each node in the 15443 // replication group. 15444 CacheNodeType *string `type:"string"` 15445 15446 // A flag indicating whether or not this replication group is cluster enabled; 15447 // i.e., whether its data can be partitioned across multiple shards (API/CLI: 15448 // node groups). 15449 // 15450 // Valid values: true | false 15451 ClusterEnabled *bool `type:"boolean"` 15452 15453 // The configuration endpoint for this replication group. Use the configuration 15454 // endpoint to connect to this replication group. 15455 ConfigurationEndpoint *Endpoint `type:"structure"` 15456 15457 // The user supplied description of the replication group. 15458 Description *string `type:"string"` 15459 15460 // The name of the Global Datastore and role of this replication group in the 15461 // Global Datastore. 15462 GlobalReplicationGroupInfo *GlobalReplicationGroupInfo `type:"structure"` 15463 15464 // The ID of the KMS key used to encrypt the disk in the cluster. 15465 KmsKeyId *string `type:"string"` 15466 15467 // The names of all the cache clusters that are part of this replication group. 15468 MemberClusters []*string `locationNameList:"ClusterId" type:"list"` 15469 15470 MultiAZ *string `type:"string" enum:"MultiAZStatus"` 15471 15472 // A list of node groups in this replication group. For Redis (cluster mode 15473 // disabled) replication groups, this is a single-element list. For Redis (cluster 15474 // mode enabled) replication groups, the list contains an entry for each node 15475 // group (shard). 15476 NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"` 15477 15478 // A group of settings to be applied to the replication group, either immediately 15479 // or during the next maintenance window. 15480 PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"` 15481 15482 // The identifier for the replication group. 15483 ReplicationGroupId *string `type:"string"` 15484 15485 // The number of days for which ElastiCache retains automatic cluster snapshots 15486 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 15487 // a snapshot that was taken today is retained for 5 days before being deleted. 15488 // 15489 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 15490 // off. 15491 SnapshotRetentionLimit *int64 `type:"integer"` 15492 15493 // The daily time range (in UTC) during which ElastiCache begins taking a daily 15494 // snapshot of your node group (shard). 15495 // 15496 // Example: 05:00-09:00 15497 // 15498 // If you do not specify this parameter, ElastiCache automatically chooses an 15499 // appropriate time range. 15500 // 15501 // This parameter is only valid if the Engine parameter is redis. 15502 SnapshotWindow *string `type:"string"` 15503 15504 // The cluster ID that is used as the daily snapshot source for the replication 15505 // group. 15506 SnapshottingClusterId *string `type:"string"` 15507 15508 // The current state of this replication group - creating, available, modifying, 15509 // deleting, create-failed, snapshotting. 15510 Status *string `type:"string"` 15511 15512 // A flag that enables in-transit encryption when set to true. 15513 // 15514 // You cannot modify the value of TransitEncryptionEnabled after the cluster 15515 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 15516 // to true when you create a cluster. 15517 // 15518 // Required: Only available when creating a replication group in an Amazon VPC 15519 // using redis version 3.2.6, 4.x or later. 15520 // 15521 // Default: false 15522 TransitEncryptionEnabled *bool `type:"boolean"` 15523} 15524 15525// String returns the string representation 15526func (s ReplicationGroup) String() string { 15527 return awsutil.Prettify(s) 15528} 15529 15530// GoString returns the string representation 15531func (s ReplicationGroup) GoString() string { 15532 return s.String() 15533} 15534 15535// SetARN sets the ARN field's value. 15536func (s *ReplicationGroup) SetARN(v string) *ReplicationGroup { 15537 s.ARN = &v 15538 return s 15539} 15540 15541// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 15542func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { 15543 s.AtRestEncryptionEnabled = &v 15544 return s 15545} 15546 15547// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 15548func (s *ReplicationGroup) SetAuthTokenEnabled(v bool) *ReplicationGroup { 15549 s.AuthTokenEnabled = &v 15550 return s 15551} 15552 15553// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 15554func (s *ReplicationGroup) SetAuthTokenLastModifiedDate(v time.Time) *ReplicationGroup { 15555 s.AuthTokenLastModifiedDate = &v 15556 return s 15557} 15558 15559// SetAutomaticFailover sets the AutomaticFailover field's value. 15560func (s *ReplicationGroup) SetAutomaticFailover(v string) *ReplicationGroup { 15561 s.AutomaticFailover = &v 15562 return s 15563} 15564 15565// SetCacheNodeType sets the CacheNodeType field's value. 15566func (s *ReplicationGroup) SetCacheNodeType(v string) *ReplicationGroup { 15567 s.CacheNodeType = &v 15568 return s 15569} 15570 15571// SetClusterEnabled sets the ClusterEnabled field's value. 15572func (s *ReplicationGroup) SetClusterEnabled(v bool) *ReplicationGroup { 15573 s.ClusterEnabled = &v 15574 return s 15575} 15576 15577// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 15578func (s *ReplicationGroup) SetConfigurationEndpoint(v *Endpoint) *ReplicationGroup { 15579 s.ConfigurationEndpoint = v 15580 return s 15581} 15582 15583// SetDescription sets the Description field's value. 15584func (s *ReplicationGroup) SetDescription(v string) *ReplicationGroup { 15585 s.Description = &v 15586 return s 15587} 15588 15589// SetGlobalReplicationGroupInfo sets the GlobalReplicationGroupInfo field's value. 15590func (s *ReplicationGroup) SetGlobalReplicationGroupInfo(v *GlobalReplicationGroupInfo) *ReplicationGroup { 15591 s.GlobalReplicationGroupInfo = v 15592 return s 15593} 15594 15595// SetKmsKeyId sets the KmsKeyId field's value. 15596func (s *ReplicationGroup) SetKmsKeyId(v string) *ReplicationGroup { 15597 s.KmsKeyId = &v 15598 return s 15599} 15600 15601// SetMemberClusters sets the MemberClusters field's value. 15602func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { 15603 s.MemberClusters = v 15604 return s 15605} 15606 15607// SetMultiAZ sets the MultiAZ field's value. 15608func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { 15609 s.MultiAZ = &v 15610 return s 15611} 15612 15613// SetNodeGroups sets the NodeGroups field's value. 15614func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { 15615 s.NodeGroups = v 15616 return s 15617} 15618 15619// SetPendingModifiedValues sets the PendingModifiedValues field's value. 15620func (s *ReplicationGroup) SetPendingModifiedValues(v *ReplicationGroupPendingModifiedValues) *ReplicationGroup { 15621 s.PendingModifiedValues = v 15622 return s 15623} 15624 15625// SetReplicationGroupId sets the ReplicationGroupId field's value. 15626func (s *ReplicationGroup) SetReplicationGroupId(v string) *ReplicationGroup { 15627 s.ReplicationGroupId = &v 15628 return s 15629} 15630 15631// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 15632func (s *ReplicationGroup) SetSnapshotRetentionLimit(v int64) *ReplicationGroup { 15633 s.SnapshotRetentionLimit = &v 15634 return s 15635} 15636 15637// SetSnapshotWindow sets the SnapshotWindow field's value. 15638func (s *ReplicationGroup) SetSnapshotWindow(v string) *ReplicationGroup { 15639 s.SnapshotWindow = &v 15640 return s 15641} 15642 15643// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 15644func (s *ReplicationGroup) SetSnapshottingClusterId(v string) *ReplicationGroup { 15645 s.SnapshottingClusterId = &v 15646 return s 15647} 15648 15649// SetStatus sets the Status field's value. 15650func (s *ReplicationGroup) SetStatus(v string) *ReplicationGroup { 15651 s.Status = &v 15652 return s 15653} 15654 15655// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 15656func (s *ReplicationGroup) SetTransitEncryptionEnabled(v bool) *ReplicationGroup { 15657 s.TransitEncryptionEnabled = &v 15658 return s 15659} 15660 15661// The settings to be applied to the Redis replication group, either immediately 15662// or during the next maintenance window. 15663type ReplicationGroupPendingModifiedValues struct { 15664 _ struct{} `type:"structure"` 15665 15666 // The auth token status 15667 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 15668 15669 // Indicates the status of Multi-AZ with automatic failover for this Redis replication 15670 // group. 15671 // 15672 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 15673 // on: 15674 // 15675 // * Redis versions earlier than 2.8.6. 15676 // 15677 // * Redis (cluster mode disabled): T1 node types. 15678 // 15679 // * Redis (cluster mode enabled): T1 node types. 15680 AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` 15681 15682 // The primary cluster ID that is applied immediately (if --apply-immediately 15683 // was specified), or during the next maintenance window. 15684 PrimaryClusterId *string `type:"string"` 15685 15686 // The status of an online resharding operation. 15687 Resharding *ReshardingStatus `type:"structure"` 15688} 15689 15690// String returns the string representation 15691func (s ReplicationGroupPendingModifiedValues) String() string { 15692 return awsutil.Prettify(s) 15693} 15694 15695// GoString returns the string representation 15696func (s ReplicationGroupPendingModifiedValues) GoString() string { 15697 return s.String() 15698} 15699 15700// SetAuthTokenStatus sets the AuthTokenStatus field's value. 15701func (s *ReplicationGroupPendingModifiedValues) SetAuthTokenStatus(v string) *ReplicationGroupPendingModifiedValues { 15702 s.AuthTokenStatus = &v 15703 return s 15704} 15705 15706// SetAutomaticFailoverStatus sets the AutomaticFailoverStatus field's value. 15707func (s *ReplicationGroupPendingModifiedValues) SetAutomaticFailoverStatus(v string) *ReplicationGroupPendingModifiedValues { 15708 s.AutomaticFailoverStatus = &v 15709 return s 15710} 15711 15712// SetPrimaryClusterId sets the PrimaryClusterId field's value. 15713func (s *ReplicationGroupPendingModifiedValues) SetPrimaryClusterId(v string) *ReplicationGroupPendingModifiedValues { 15714 s.PrimaryClusterId = &v 15715 return s 15716} 15717 15718// SetResharding sets the Resharding field's value. 15719func (s *ReplicationGroupPendingModifiedValues) SetResharding(v *ReshardingStatus) *ReplicationGroupPendingModifiedValues { 15720 s.Resharding = v 15721 return s 15722} 15723 15724// Represents the output of a PurchaseReservedCacheNodesOffering operation. 15725type ReservedCacheNode struct { 15726 _ struct{} `type:"structure"` 15727 15728 // The number of cache nodes that have been reserved. 15729 CacheNodeCount *int64 `type:"integer"` 15730 15731 // The cache node type for the reserved cache nodes. 15732 // 15733 // The following node types are supported by ElastiCache. Generally speaking, 15734 // the current generation types provide more memory and computational power 15735 // at lower cost when compared to their equivalent previous generation counterparts. 15736 // 15737 // * General purpose: Current generation: M5 node types: cache.m5.large, 15738 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 15739 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 15740 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 15741 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 15742 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 15743 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 15744 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 15745 // 15746 // * Compute optimized: Previous generation: (not recommended) C1 node types: 15747 // cache.c1.xlarge 15748 // 15749 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 15750 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 15751 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 15752 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 15753 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 15754 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 15755 // cache.r3.8xlarge 15756 // 15757 // Additional node type info 15758 // 15759 // * All current generation instance types are created in Amazon VPC by default. 15760 // 15761 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 15762 // 15763 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 15764 // 15765 // * Redis configuration variables appendonly and appendfsync are not supported 15766 // on Redis version 2.8.22 and later. 15767 CacheNodeType *string `type:"string"` 15768 15769 // The duration of the reservation in seconds. 15770 Duration *int64 `type:"integer"` 15771 15772 // The fixed price charged for this reserved cache node. 15773 FixedPrice *float64 `type:"double"` 15774 15775 // The offering type of this reserved cache node. 15776 OfferingType *string `type:"string"` 15777 15778 // The description of the reserved cache node. 15779 ProductDescription *string `type:"string"` 15780 15781 // The recurring price charged to run this reserved cache node. 15782 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 15783 15784 // The Amazon Resource Name (ARN) of the reserved cache node. 15785 // 15786 // Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582 15787 ReservationARN *string `type:"string"` 15788 15789 // The unique identifier for the reservation. 15790 ReservedCacheNodeId *string `type:"string"` 15791 15792 // The offering identifier. 15793 ReservedCacheNodesOfferingId *string `type:"string"` 15794 15795 // The time the reservation started. 15796 StartTime *time.Time `type:"timestamp"` 15797 15798 // The state of the reserved cache node. 15799 State *string `type:"string"` 15800 15801 // The hourly price charged for this reserved cache node. 15802 UsagePrice *float64 `type:"double"` 15803} 15804 15805// String returns the string representation 15806func (s ReservedCacheNode) String() string { 15807 return awsutil.Prettify(s) 15808} 15809 15810// GoString returns the string representation 15811func (s ReservedCacheNode) GoString() string { 15812 return s.String() 15813} 15814 15815// SetCacheNodeCount sets the CacheNodeCount field's value. 15816func (s *ReservedCacheNode) SetCacheNodeCount(v int64) *ReservedCacheNode { 15817 s.CacheNodeCount = &v 15818 return s 15819} 15820 15821// SetCacheNodeType sets the CacheNodeType field's value. 15822func (s *ReservedCacheNode) SetCacheNodeType(v string) *ReservedCacheNode { 15823 s.CacheNodeType = &v 15824 return s 15825} 15826 15827// SetDuration sets the Duration field's value. 15828func (s *ReservedCacheNode) SetDuration(v int64) *ReservedCacheNode { 15829 s.Duration = &v 15830 return s 15831} 15832 15833// SetFixedPrice sets the FixedPrice field's value. 15834func (s *ReservedCacheNode) SetFixedPrice(v float64) *ReservedCacheNode { 15835 s.FixedPrice = &v 15836 return s 15837} 15838 15839// SetOfferingType sets the OfferingType field's value. 15840func (s *ReservedCacheNode) SetOfferingType(v string) *ReservedCacheNode { 15841 s.OfferingType = &v 15842 return s 15843} 15844 15845// SetProductDescription sets the ProductDescription field's value. 15846func (s *ReservedCacheNode) SetProductDescription(v string) *ReservedCacheNode { 15847 s.ProductDescription = &v 15848 return s 15849} 15850 15851// SetRecurringCharges sets the RecurringCharges field's value. 15852func (s *ReservedCacheNode) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNode { 15853 s.RecurringCharges = v 15854 return s 15855} 15856 15857// SetReservationARN sets the ReservationARN field's value. 15858func (s *ReservedCacheNode) SetReservationARN(v string) *ReservedCacheNode { 15859 s.ReservationARN = &v 15860 return s 15861} 15862 15863// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 15864func (s *ReservedCacheNode) SetReservedCacheNodeId(v string) *ReservedCacheNode { 15865 s.ReservedCacheNodeId = &v 15866 return s 15867} 15868 15869// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 15870func (s *ReservedCacheNode) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNode { 15871 s.ReservedCacheNodesOfferingId = &v 15872 return s 15873} 15874 15875// SetStartTime sets the StartTime field's value. 15876func (s *ReservedCacheNode) SetStartTime(v time.Time) *ReservedCacheNode { 15877 s.StartTime = &v 15878 return s 15879} 15880 15881// SetState sets the State field's value. 15882func (s *ReservedCacheNode) SetState(v string) *ReservedCacheNode { 15883 s.State = &v 15884 return s 15885} 15886 15887// SetUsagePrice sets the UsagePrice field's value. 15888func (s *ReservedCacheNode) SetUsagePrice(v float64) *ReservedCacheNode { 15889 s.UsagePrice = &v 15890 return s 15891} 15892 15893// Describes all of the attributes of a reserved cache node offering. 15894type ReservedCacheNodesOffering struct { 15895 _ struct{} `type:"structure"` 15896 15897 // The cache node type for the reserved cache node. 15898 // 15899 // The following node types are supported by ElastiCache. Generally speaking, 15900 // the current generation types provide more memory and computational power 15901 // at lower cost when compared to their equivalent previous generation counterparts. 15902 // 15903 // * General purpose: Current generation: M5 node types: cache.m5.large, 15904 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 15905 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 15906 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 15907 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 15908 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 15909 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 15910 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 15911 // 15912 // * Compute optimized: Previous generation: (not recommended) C1 node types: 15913 // cache.c1.xlarge 15914 // 15915 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 15916 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 15917 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 15918 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 15919 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 15920 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 15921 // cache.r3.8xlarge 15922 // 15923 // Additional node type info 15924 // 15925 // * All current generation instance types are created in Amazon VPC by default. 15926 // 15927 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 15928 // 15929 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 15930 // 15931 // * Redis configuration variables appendonly and appendfsync are not supported 15932 // on Redis version 2.8.22 and later. 15933 CacheNodeType *string `type:"string"` 15934 15935 // The duration of the offering. in seconds. 15936 Duration *int64 `type:"integer"` 15937 15938 // The fixed price charged for this offering. 15939 FixedPrice *float64 `type:"double"` 15940 15941 // The offering type. 15942 OfferingType *string `type:"string"` 15943 15944 // The cache engine used by the offering. 15945 ProductDescription *string `type:"string"` 15946 15947 // The recurring price charged to run this reserved cache node. 15948 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 15949 15950 // A unique identifier for the reserved cache node offering. 15951 ReservedCacheNodesOfferingId *string `type:"string"` 15952 15953 // The hourly price charged for this offering. 15954 UsagePrice *float64 `type:"double"` 15955} 15956 15957// String returns the string representation 15958func (s ReservedCacheNodesOffering) String() string { 15959 return awsutil.Prettify(s) 15960} 15961 15962// GoString returns the string representation 15963func (s ReservedCacheNodesOffering) GoString() string { 15964 return s.String() 15965} 15966 15967// SetCacheNodeType sets the CacheNodeType field's value. 15968func (s *ReservedCacheNodesOffering) SetCacheNodeType(v string) *ReservedCacheNodesOffering { 15969 s.CacheNodeType = &v 15970 return s 15971} 15972 15973// SetDuration sets the Duration field's value. 15974func (s *ReservedCacheNodesOffering) SetDuration(v int64) *ReservedCacheNodesOffering { 15975 s.Duration = &v 15976 return s 15977} 15978 15979// SetFixedPrice sets the FixedPrice field's value. 15980func (s *ReservedCacheNodesOffering) SetFixedPrice(v float64) *ReservedCacheNodesOffering { 15981 s.FixedPrice = &v 15982 return s 15983} 15984 15985// SetOfferingType sets the OfferingType field's value. 15986func (s *ReservedCacheNodesOffering) SetOfferingType(v string) *ReservedCacheNodesOffering { 15987 s.OfferingType = &v 15988 return s 15989} 15990 15991// SetProductDescription sets the ProductDescription field's value. 15992func (s *ReservedCacheNodesOffering) SetProductDescription(v string) *ReservedCacheNodesOffering { 15993 s.ProductDescription = &v 15994 return s 15995} 15996 15997// SetRecurringCharges sets the RecurringCharges field's value. 15998func (s *ReservedCacheNodesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNodesOffering { 15999 s.RecurringCharges = v 16000 return s 16001} 16002 16003// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 16004func (s *ReservedCacheNodesOffering) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNodesOffering { 16005 s.ReservedCacheNodesOfferingId = &v 16006 return s 16007} 16008 16009// SetUsagePrice sets the UsagePrice field's value. 16010func (s *ReservedCacheNodesOffering) SetUsagePrice(v float64) *ReservedCacheNodesOffering { 16011 s.UsagePrice = &v 16012 return s 16013} 16014 16015// Represents the input of a ResetCacheParameterGroup operation. 16016type ResetCacheParameterGroupInput struct { 16017 _ struct{} `type:"structure"` 16018 16019 // The name of the cache parameter group to reset. 16020 // 16021 // CacheParameterGroupName is a required field 16022 CacheParameterGroupName *string `type:"string" required:"true"` 16023 16024 // An array of parameter names to reset to their default values. If ResetAllParameters 16025 // is true, do not use ParameterNameValues. If ResetAllParameters is false, 16026 // you must specify the name of at least one parameter to reset. 16027 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` 16028 16029 // If true, all parameters in the cache parameter group are reset to their default 16030 // values. If false, only the parameters listed by ParameterNameValues are reset 16031 // to their default values. 16032 // 16033 // Valid values: true | false 16034 ResetAllParameters *bool `type:"boolean"` 16035} 16036 16037// String returns the string representation 16038func (s ResetCacheParameterGroupInput) String() string { 16039 return awsutil.Prettify(s) 16040} 16041 16042// GoString returns the string representation 16043func (s ResetCacheParameterGroupInput) GoString() string { 16044 return s.String() 16045} 16046 16047// Validate inspects the fields of the type to determine if they are valid. 16048func (s *ResetCacheParameterGroupInput) Validate() error { 16049 invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} 16050 if s.CacheParameterGroupName == nil { 16051 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 16052 } 16053 16054 if invalidParams.Len() > 0 { 16055 return invalidParams 16056 } 16057 return nil 16058} 16059 16060// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16061func (s *ResetCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ResetCacheParameterGroupInput { 16062 s.CacheParameterGroupName = &v 16063 return s 16064} 16065 16066// SetParameterNameValues sets the ParameterNameValues field's value. 16067func (s *ResetCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ResetCacheParameterGroupInput { 16068 s.ParameterNameValues = v 16069 return s 16070} 16071 16072// SetResetAllParameters sets the ResetAllParameters field's value. 16073func (s *ResetCacheParameterGroupInput) SetResetAllParameters(v bool) *ResetCacheParameterGroupInput { 16074 s.ResetAllParameters = &v 16075 return s 16076} 16077 16078// A list of PreferredAvailabilityZones objects that specifies the configuration 16079// of a node group in the resharded cluster. 16080type ReshardingConfiguration struct { 16081 _ struct{} `type:"structure"` 16082 16083 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 16084 // for the node group these configuration values apply to. 16085 NodeGroupId *string `min:"1" type:"string"` 16086 16087 // A list of preferred availability zones for the nodes in this cluster. 16088 PreferredAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 16089} 16090 16091// String returns the string representation 16092func (s ReshardingConfiguration) String() string { 16093 return awsutil.Prettify(s) 16094} 16095 16096// GoString returns the string representation 16097func (s ReshardingConfiguration) GoString() string { 16098 return s.String() 16099} 16100 16101// Validate inspects the fields of the type to determine if they are valid. 16102func (s *ReshardingConfiguration) Validate() error { 16103 invalidParams := request.ErrInvalidParams{Context: "ReshardingConfiguration"} 16104 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 16105 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 16106 } 16107 16108 if invalidParams.Len() > 0 { 16109 return invalidParams 16110 } 16111 return nil 16112} 16113 16114// SetNodeGroupId sets the NodeGroupId field's value. 16115func (s *ReshardingConfiguration) SetNodeGroupId(v string) *ReshardingConfiguration { 16116 s.NodeGroupId = &v 16117 return s 16118} 16119 16120// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 16121func (s *ReshardingConfiguration) SetPreferredAvailabilityZones(v []*string) *ReshardingConfiguration { 16122 s.PreferredAvailabilityZones = v 16123 return s 16124} 16125 16126// The status of an online resharding operation. 16127type ReshardingStatus struct { 16128 _ struct{} `type:"structure"` 16129 16130 // Represents the progress of an online resharding operation. 16131 SlotMigration *SlotMigration `type:"structure"` 16132} 16133 16134// String returns the string representation 16135func (s ReshardingStatus) String() string { 16136 return awsutil.Prettify(s) 16137} 16138 16139// GoString returns the string representation 16140func (s ReshardingStatus) GoString() string { 16141 return s.String() 16142} 16143 16144// SetSlotMigration sets the SlotMigration field's value. 16145func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { 16146 s.SlotMigration = v 16147 return s 16148} 16149 16150// Represents the input of a RevokeCacheSecurityGroupIngress operation. 16151type RevokeCacheSecurityGroupIngressInput struct { 16152 _ struct{} `type:"structure"` 16153 16154 // The name of the cache security group to revoke ingress from. 16155 // 16156 // CacheSecurityGroupName is a required field 16157 CacheSecurityGroupName *string `type:"string" required:"true"` 16158 16159 // The name of the Amazon EC2 security group to revoke access from. 16160 // 16161 // EC2SecurityGroupName is a required field 16162 EC2SecurityGroupName *string `type:"string" required:"true"` 16163 16164 // The AWS account number of the Amazon EC2 security group owner. Note that 16165 // this is not the same thing as an AWS access key ID - you must provide a valid 16166 // AWS account number for this parameter. 16167 // 16168 // EC2SecurityGroupOwnerId is a required field 16169 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 16170} 16171 16172// String returns the string representation 16173func (s RevokeCacheSecurityGroupIngressInput) String() string { 16174 return awsutil.Prettify(s) 16175} 16176 16177// GoString returns the string representation 16178func (s RevokeCacheSecurityGroupIngressInput) GoString() string { 16179 return s.String() 16180} 16181 16182// Validate inspects the fields of the type to determine if they are valid. 16183func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { 16184 invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} 16185 if s.CacheSecurityGroupName == nil { 16186 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 16187 } 16188 if s.EC2SecurityGroupName == nil { 16189 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 16190 } 16191 if s.EC2SecurityGroupOwnerId == nil { 16192 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 16193 } 16194 16195 if invalidParams.Len() > 0 { 16196 return invalidParams 16197 } 16198 return nil 16199} 16200 16201// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 16202func (s *RevokeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 16203 s.CacheSecurityGroupName = &v 16204 return s 16205} 16206 16207// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 16208func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 16209 s.EC2SecurityGroupName = &v 16210 return s 16211} 16212 16213// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 16214func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeCacheSecurityGroupIngressInput { 16215 s.EC2SecurityGroupOwnerId = &v 16216 return s 16217} 16218 16219type RevokeCacheSecurityGroupIngressOutput struct { 16220 _ struct{} `type:"structure"` 16221 16222 // Represents the output of one of the following operations: 16223 // 16224 // * AuthorizeCacheSecurityGroupIngress 16225 // 16226 // * CreateCacheSecurityGroup 16227 // 16228 // * RevokeCacheSecurityGroupIngress 16229 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 16230} 16231 16232// String returns the string representation 16233func (s RevokeCacheSecurityGroupIngressOutput) String() string { 16234 return awsutil.Prettify(s) 16235} 16236 16237// GoString returns the string representation 16238func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { 16239 return s.String() 16240} 16241 16242// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 16243func (s *RevokeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *RevokeCacheSecurityGroupIngressOutput { 16244 s.CacheSecurityGroup = v 16245 return s 16246} 16247 16248// Represents a single cache security group and its status. 16249type SecurityGroupMembership struct { 16250 _ struct{} `type:"structure"` 16251 16252 // The identifier of the cache security group. 16253 SecurityGroupId *string `type:"string"` 16254 16255 // The status of the cache security group membership. The status changes whenever 16256 // a cache security group is modified, or when the cache security groups assigned 16257 // to a cluster are modified. 16258 Status *string `type:"string"` 16259} 16260 16261// String returns the string representation 16262func (s SecurityGroupMembership) String() string { 16263 return awsutil.Prettify(s) 16264} 16265 16266// GoString returns the string representation 16267func (s SecurityGroupMembership) GoString() string { 16268 return s.String() 16269} 16270 16271// SetSecurityGroupId sets the SecurityGroupId field's value. 16272func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { 16273 s.SecurityGroupId = &v 16274 return s 16275} 16276 16277// SetStatus sets the Status field's value. 16278func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { 16279 s.Status = &v 16280 return s 16281} 16282 16283// An update that you can apply to your Redis clusters. 16284type ServiceUpdate struct { 16285 _ struct{} `type:"structure"` 16286 16287 // Indicates whether the service update will be automatically applied once the 16288 // recommended apply-by date has expired. 16289 AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` 16290 16291 // The Elasticache engine to which the update applies. Either Redis or Memcached 16292 Engine *string `type:"string"` 16293 16294 // The Elasticache engine version to which the update applies. Either Redis 16295 // or Memcached engine version 16296 EngineVersion *string `type:"string"` 16297 16298 // The estimated length of time the service update will take 16299 EstimatedUpdateTime *string `type:"string"` 16300 16301 // Provides details of the service update 16302 ServiceUpdateDescription *string `type:"string"` 16303 16304 // The date after which the service update is no longer available 16305 ServiceUpdateEndDate *time.Time `type:"timestamp"` 16306 16307 // The unique ID of the service update 16308 ServiceUpdateName *string `type:"string"` 16309 16310 // The recommendend date to apply the service update in order to ensure compliance. 16311 // For information on compliance, see Self-Service Security Updates for Compliance 16312 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 16313 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 16314 16315 // The date when the service update is initially available 16316 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 16317 16318 // The severity of the service update 16319 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 16320 16321 // The status of the service update 16322 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 16323 16324 // Reflects the nature of the service update 16325 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 16326} 16327 16328// String returns the string representation 16329func (s ServiceUpdate) String() string { 16330 return awsutil.Prettify(s) 16331} 16332 16333// GoString returns the string representation 16334func (s ServiceUpdate) GoString() string { 16335 return s.String() 16336} 16337 16338// SetAutoUpdateAfterRecommendedApplyByDate sets the AutoUpdateAfterRecommendedApplyByDate field's value. 16339func (s *ServiceUpdate) SetAutoUpdateAfterRecommendedApplyByDate(v bool) *ServiceUpdate { 16340 s.AutoUpdateAfterRecommendedApplyByDate = &v 16341 return s 16342} 16343 16344// SetEngine sets the Engine field's value. 16345func (s *ServiceUpdate) SetEngine(v string) *ServiceUpdate { 16346 s.Engine = &v 16347 return s 16348} 16349 16350// SetEngineVersion sets the EngineVersion field's value. 16351func (s *ServiceUpdate) SetEngineVersion(v string) *ServiceUpdate { 16352 s.EngineVersion = &v 16353 return s 16354} 16355 16356// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 16357func (s *ServiceUpdate) SetEstimatedUpdateTime(v string) *ServiceUpdate { 16358 s.EstimatedUpdateTime = &v 16359 return s 16360} 16361 16362// SetServiceUpdateDescription sets the ServiceUpdateDescription field's value. 16363func (s *ServiceUpdate) SetServiceUpdateDescription(v string) *ServiceUpdate { 16364 s.ServiceUpdateDescription = &v 16365 return s 16366} 16367 16368// SetServiceUpdateEndDate sets the ServiceUpdateEndDate field's value. 16369func (s *ServiceUpdate) SetServiceUpdateEndDate(v time.Time) *ServiceUpdate { 16370 s.ServiceUpdateEndDate = &v 16371 return s 16372} 16373 16374// SetServiceUpdateName sets the ServiceUpdateName field's value. 16375func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { 16376 s.ServiceUpdateName = &v 16377 return s 16378} 16379 16380// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 16381func (s *ServiceUpdate) SetServiceUpdateRecommendedApplyByDate(v time.Time) *ServiceUpdate { 16382 s.ServiceUpdateRecommendedApplyByDate = &v 16383 return s 16384} 16385 16386// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 16387func (s *ServiceUpdate) SetServiceUpdateReleaseDate(v time.Time) *ServiceUpdate { 16388 s.ServiceUpdateReleaseDate = &v 16389 return s 16390} 16391 16392// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 16393func (s *ServiceUpdate) SetServiceUpdateSeverity(v string) *ServiceUpdate { 16394 s.ServiceUpdateSeverity = &v 16395 return s 16396} 16397 16398// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 16399func (s *ServiceUpdate) SetServiceUpdateStatus(v string) *ServiceUpdate { 16400 s.ServiceUpdateStatus = &v 16401 return s 16402} 16403 16404// SetServiceUpdateType sets the ServiceUpdateType field's value. 16405func (s *ServiceUpdate) SetServiceUpdateType(v string) *ServiceUpdate { 16406 s.ServiceUpdateType = &v 16407 return s 16408} 16409 16410// Represents the progress of an online resharding operation. 16411type SlotMigration struct { 16412 _ struct{} `type:"structure"` 16413 16414 // The percentage of the slot migration that is complete. 16415 ProgressPercentage *float64 `type:"double"` 16416} 16417 16418// String returns the string representation 16419func (s SlotMigration) String() string { 16420 return awsutil.Prettify(s) 16421} 16422 16423// GoString returns the string representation 16424func (s SlotMigration) GoString() string { 16425 return s.String() 16426} 16427 16428// SetProgressPercentage sets the ProgressPercentage field's value. 16429func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { 16430 s.ProgressPercentage = &v 16431 return s 16432} 16433 16434// Represents a copy of an entire Redis cluster as of the time when the snapshot 16435// was taken. 16436type Snapshot struct { 16437 _ struct{} `type:"structure"` 16438 16439 // The ARN (Amazon Resource Name) of the snapshot. 16440 ARN *string `type:"string"` 16441 16442 // This parameter is currently disabled. 16443 AutoMinorVersionUpgrade *bool `type:"boolean"` 16444 16445 // Indicates the status of Multi-AZ with automatic failover for the source Redis 16446 // replication group. 16447 // 16448 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 16449 // on: 16450 // 16451 // * Redis versions earlier than 2.8.6. 16452 // 16453 // * Redis (cluster mode disabled): T1 node types. 16454 // 16455 // * Redis (cluster mode enabled): T1 node types. 16456 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 16457 16458 // The date and time when the source cluster was created. 16459 CacheClusterCreateTime *time.Time `type:"timestamp"` 16460 16461 // The user-supplied identifier of the source cluster. 16462 CacheClusterId *string `type:"string"` 16463 16464 // The name of the compute and memory capacity node type for the source cluster. 16465 // 16466 // The following node types are supported by ElastiCache. Generally speaking, 16467 // the current generation types provide more memory and computational power 16468 // at lower cost when compared to their equivalent previous generation counterparts. 16469 // 16470 // * General purpose: Current generation: M5 node types: cache.m5.large, 16471 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 16472 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 16473 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 16474 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 16475 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 16476 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 16477 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 16478 // 16479 // * Compute optimized: Previous generation: (not recommended) C1 node types: 16480 // cache.c1.xlarge 16481 // 16482 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 16483 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 16484 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 16485 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 16486 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 16487 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 16488 // cache.r3.8xlarge 16489 // 16490 // Additional node type info 16491 // 16492 // * All current generation instance types are created in Amazon VPC by default. 16493 // 16494 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 16495 // 16496 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 16497 // 16498 // * Redis configuration variables appendonly and appendfsync are not supported 16499 // on Redis version 2.8.22 and later. 16500 CacheNodeType *string `type:"string"` 16501 16502 // The cache parameter group that is associated with the source cluster. 16503 CacheParameterGroupName *string `type:"string"` 16504 16505 // The name of the cache subnet group associated with the source cluster. 16506 CacheSubnetGroupName *string `type:"string"` 16507 16508 // The name of the cache engine (memcached or redis) used by the source cluster. 16509 Engine *string `type:"string"` 16510 16511 // The version of the cache engine version that is used by the source cluster. 16512 EngineVersion *string `type:"string"` 16513 16514 // The ID of the KMS key used to encrypt the snapshot. 16515 KmsKeyId *string `type:"string"` 16516 16517 // A list of the cache nodes in the source cluster. 16518 NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"` 16519 16520 // The number of cache nodes in the source cluster. 16521 // 16522 // For clusters running Redis, this value must be 1. For clusters running Memcached, 16523 // this value must be between 1 and 20. 16524 NumCacheNodes *int64 `type:"integer"` 16525 16526 // The number of node groups (shards) in this snapshot. When restoring from 16527 // a snapshot, the number of node groups (shards) in the snapshot and in the 16528 // restored replication group must be the same. 16529 NumNodeGroups *int64 `type:"integer"` 16530 16531 // The port number used by each cache nodes in the source cluster. 16532 Port *int64 `type:"integer"` 16533 16534 // The name of the Availability Zone in which the source cluster is located. 16535 PreferredAvailabilityZone *string `type:"string"` 16536 16537 // Specifies the weekly time range during which maintenance on the cluster is 16538 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 16539 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 16540 // 16541 // Valid values for ddd are: 16542 // 16543 // * sun 16544 // 16545 // * mon 16546 // 16547 // * tue 16548 // 16549 // * wed 16550 // 16551 // * thu 16552 // 16553 // * fri 16554 // 16555 // * sat 16556 // 16557 // Example: sun:23:00-mon:01:30 16558 PreferredMaintenanceWindow *string `type:"string"` 16559 16560 // A description of the source replication group. 16561 ReplicationGroupDescription *string `type:"string"` 16562 16563 // The unique identifier of the source replication group. 16564 ReplicationGroupId *string `type:"string"` 16565 16566 // The name of a snapshot. For an automatic snapshot, the name is system-generated. 16567 // For a manual snapshot, this is the user-provided name. 16568 SnapshotName *string `type:"string"` 16569 16570 // For an automatic snapshot, the number of days for which ElastiCache retains 16571 // the snapshot before deleting it. 16572 // 16573 // For manual snapshots, this field reflects the SnapshotRetentionLimit for 16574 // the source cluster when the snapshot was created. This field is otherwise 16575 // ignored: Manual snapshots do not expire, and can only be deleted using the 16576 // DeleteSnapshot operation. 16577 // 16578 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 16579 // are turned off. 16580 SnapshotRetentionLimit *int64 `type:"integer"` 16581 16582 // Indicates whether the snapshot is from an automatic backup (automated) or 16583 // was created manually (manual). 16584 SnapshotSource *string `type:"string"` 16585 16586 // The status of the snapshot. Valid values: creating | available | restoring 16587 // | copying | deleting. 16588 SnapshotStatus *string `type:"string"` 16589 16590 // The daily time range during which ElastiCache takes daily snapshots of the 16591 // source cluster. 16592 SnapshotWindow *string `type:"string"` 16593 16594 // The Amazon Resource Name (ARN) for the topic used by the source cluster for 16595 // publishing notifications. 16596 TopicArn *string `type:"string"` 16597 16598 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 16599 // group for the source cluster. 16600 VpcId *string `type:"string"` 16601} 16602 16603// String returns the string representation 16604func (s Snapshot) String() string { 16605 return awsutil.Prettify(s) 16606} 16607 16608// GoString returns the string representation 16609func (s Snapshot) GoString() string { 16610 return s.String() 16611} 16612 16613// SetARN sets the ARN field's value. 16614func (s *Snapshot) SetARN(v string) *Snapshot { 16615 s.ARN = &v 16616 return s 16617} 16618 16619// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 16620func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { 16621 s.AutoMinorVersionUpgrade = &v 16622 return s 16623} 16624 16625// SetAutomaticFailover sets the AutomaticFailover field's value. 16626func (s *Snapshot) SetAutomaticFailover(v string) *Snapshot { 16627 s.AutomaticFailover = &v 16628 return s 16629} 16630 16631// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 16632func (s *Snapshot) SetCacheClusterCreateTime(v time.Time) *Snapshot { 16633 s.CacheClusterCreateTime = &v 16634 return s 16635} 16636 16637// SetCacheClusterId sets the CacheClusterId field's value. 16638func (s *Snapshot) SetCacheClusterId(v string) *Snapshot { 16639 s.CacheClusterId = &v 16640 return s 16641} 16642 16643// SetCacheNodeType sets the CacheNodeType field's value. 16644func (s *Snapshot) SetCacheNodeType(v string) *Snapshot { 16645 s.CacheNodeType = &v 16646 return s 16647} 16648 16649// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16650func (s *Snapshot) SetCacheParameterGroupName(v string) *Snapshot { 16651 s.CacheParameterGroupName = &v 16652 return s 16653} 16654 16655// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 16656func (s *Snapshot) SetCacheSubnetGroupName(v string) *Snapshot { 16657 s.CacheSubnetGroupName = &v 16658 return s 16659} 16660 16661// SetEngine sets the Engine field's value. 16662func (s *Snapshot) SetEngine(v string) *Snapshot { 16663 s.Engine = &v 16664 return s 16665} 16666 16667// SetEngineVersion sets the EngineVersion field's value. 16668func (s *Snapshot) SetEngineVersion(v string) *Snapshot { 16669 s.EngineVersion = &v 16670 return s 16671} 16672 16673// SetKmsKeyId sets the KmsKeyId field's value. 16674func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { 16675 s.KmsKeyId = &v 16676 return s 16677} 16678 16679// SetNodeSnapshots sets the NodeSnapshots field's value. 16680func (s *Snapshot) SetNodeSnapshots(v []*NodeSnapshot) *Snapshot { 16681 s.NodeSnapshots = v 16682 return s 16683} 16684 16685// SetNumCacheNodes sets the NumCacheNodes field's value. 16686func (s *Snapshot) SetNumCacheNodes(v int64) *Snapshot { 16687 s.NumCacheNodes = &v 16688 return s 16689} 16690 16691// SetNumNodeGroups sets the NumNodeGroups field's value. 16692func (s *Snapshot) SetNumNodeGroups(v int64) *Snapshot { 16693 s.NumNodeGroups = &v 16694 return s 16695} 16696 16697// SetPort sets the Port field's value. 16698func (s *Snapshot) SetPort(v int64) *Snapshot { 16699 s.Port = &v 16700 return s 16701} 16702 16703// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 16704func (s *Snapshot) SetPreferredAvailabilityZone(v string) *Snapshot { 16705 s.PreferredAvailabilityZone = &v 16706 return s 16707} 16708 16709// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 16710func (s *Snapshot) SetPreferredMaintenanceWindow(v string) *Snapshot { 16711 s.PreferredMaintenanceWindow = &v 16712 return s 16713} 16714 16715// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 16716func (s *Snapshot) SetReplicationGroupDescription(v string) *Snapshot { 16717 s.ReplicationGroupDescription = &v 16718 return s 16719} 16720 16721// SetReplicationGroupId sets the ReplicationGroupId field's value. 16722func (s *Snapshot) SetReplicationGroupId(v string) *Snapshot { 16723 s.ReplicationGroupId = &v 16724 return s 16725} 16726 16727// SetSnapshotName sets the SnapshotName field's value. 16728func (s *Snapshot) SetSnapshotName(v string) *Snapshot { 16729 s.SnapshotName = &v 16730 return s 16731} 16732 16733// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 16734func (s *Snapshot) SetSnapshotRetentionLimit(v int64) *Snapshot { 16735 s.SnapshotRetentionLimit = &v 16736 return s 16737} 16738 16739// SetSnapshotSource sets the SnapshotSource field's value. 16740func (s *Snapshot) SetSnapshotSource(v string) *Snapshot { 16741 s.SnapshotSource = &v 16742 return s 16743} 16744 16745// SetSnapshotStatus sets the SnapshotStatus field's value. 16746func (s *Snapshot) SetSnapshotStatus(v string) *Snapshot { 16747 s.SnapshotStatus = &v 16748 return s 16749} 16750 16751// SetSnapshotWindow sets the SnapshotWindow field's value. 16752func (s *Snapshot) SetSnapshotWindow(v string) *Snapshot { 16753 s.SnapshotWindow = &v 16754 return s 16755} 16756 16757// SetTopicArn sets the TopicArn field's value. 16758func (s *Snapshot) SetTopicArn(v string) *Snapshot { 16759 s.TopicArn = &v 16760 return s 16761} 16762 16763// SetVpcId sets the VpcId field's value. 16764func (s *Snapshot) SetVpcId(v string) *Snapshot { 16765 s.VpcId = &v 16766 return s 16767} 16768 16769type StartMigrationInput struct { 16770 _ struct{} `type:"structure"` 16771 16772 // List of endpoints from which data should be migrated. For Redis (cluster 16773 // mode disabled), list should have only one element. 16774 // 16775 // CustomerNodeEndpointList is a required field 16776 CustomerNodeEndpointList []*CustomerNodeEndpoint `type:"list" required:"true"` 16777 16778 // The ID of the replication group to which data should be migrated. 16779 // 16780 // ReplicationGroupId is a required field 16781 ReplicationGroupId *string `type:"string" required:"true"` 16782} 16783 16784// String returns the string representation 16785func (s StartMigrationInput) String() string { 16786 return awsutil.Prettify(s) 16787} 16788 16789// GoString returns the string representation 16790func (s StartMigrationInput) GoString() string { 16791 return s.String() 16792} 16793 16794// Validate inspects the fields of the type to determine if they are valid. 16795func (s *StartMigrationInput) Validate() error { 16796 invalidParams := request.ErrInvalidParams{Context: "StartMigrationInput"} 16797 if s.CustomerNodeEndpointList == nil { 16798 invalidParams.Add(request.NewErrParamRequired("CustomerNodeEndpointList")) 16799 } 16800 if s.ReplicationGroupId == nil { 16801 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16802 } 16803 16804 if invalidParams.Len() > 0 { 16805 return invalidParams 16806 } 16807 return nil 16808} 16809 16810// SetCustomerNodeEndpointList sets the CustomerNodeEndpointList field's value. 16811func (s *StartMigrationInput) SetCustomerNodeEndpointList(v []*CustomerNodeEndpoint) *StartMigrationInput { 16812 s.CustomerNodeEndpointList = v 16813 return s 16814} 16815 16816// SetReplicationGroupId sets the ReplicationGroupId field's value. 16817func (s *StartMigrationInput) SetReplicationGroupId(v string) *StartMigrationInput { 16818 s.ReplicationGroupId = &v 16819 return s 16820} 16821 16822type StartMigrationOutput struct { 16823 _ struct{} `type:"structure"` 16824 16825 // Contains all of the attributes of a specific Redis replication group. 16826 ReplicationGroup *ReplicationGroup `type:"structure"` 16827} 16828 16829// String returns the string representation 16830func (s StartMigrationOutput) String() string { 16831 return awsutil.Prettify(s) 16832} 16833 16834// GoString returns the string representation 16835func (s StartMigrationOutput) GoString() string { 16836 return s.String() 16837} 16838 16839// SetReplicationGroup sets the ReplicationGroup field's value. 16840func (s *StartMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *StartMigrationOutput { 16841 s.ReplicationGroup = v 16842 return s 16843} 16844 16845// Represents the subnet associated with a cluster. This parameter refers to 16846// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with 16847// ElastiCache. 16848type Subnet struct { 16849 _ struct{} `type:"structure"` 16850 16851 // The Availability Zone associated with the subnet. 16852 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 16853 16854 // The unique identifier for the subnet. 16855 SubnetIdentifier *string `type:"string"` 16856} 16857 16858// String returns the string representation 16859func (s Subnet) String() string { 16860 return awsutil.Prettify(s) 16861} 16862 16863// GoString returns the string representation 16864func (s Subnet) GoString() string { 16865 return s.String() 16866} 16867 16868// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 16869func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 16870 s.SubnetAvailabilityZone = v 16871 return s 16872} 16873 16874// SetSubnetIdentifier sets the SubnetIdentifier field's value. 16875func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 16876 s.SubnetIdentifier = &v 16877 return s 16878} 16879 16880// A cost allocation Tag that can be added to an ElastiCache cluster or replication 16881// group. Tags are composed of a Key/Value pair. A tag with a null Value is 16882// permitted. 16883type Tag struct { 16884 _ struct{} `type:"structure"` 16885 16886 // The key for the tag. May not be null. 16887 Key *string `type:"string"` 16888 16889 // The tag's value. May be null. 16890 Value *string `type:"string"` 16891} 16892 16893// String returns the string representation 16894func (s Tag) String() string { 16895 return awsutil.Prettify(s) 16896} 16897 16898// GoString returns the string representation 16899func (s Tag) GoString() string { 16900 return s.String() 16901} 16902 16903// SetKey sets the Key field's value. 16904func (s *Tag) SetKey(v string) *Tag { 16905 s.Key = &v 16906 return s 16907} 16908 16909// SetValue sets the Value field's value. 16910func (s *Tag) SetValue(v string) *Tag { 16911 s.Value = &v 16912 return s 16913} 16914 16915// Represents the output from the AddTagsToResource, ListTagsForResource, and 16916// RemoveTagsFromResource operations. 16917type TagListMessage struct { 16918 _ struct{} `type:"structure"` 16919 16920 // A list of cost allocation tags as key-value pairs. 16921 TagList []*Tag `locationNameList:"Tag" type:"list"` 16922} 16923 16924// String returns the string representation 16925func (s TagListMessage) String() string { 16926 return awsutil.Prettify(s) 16927} 16928 16929// GoString returns the string representation 16930func (s TagListMessage) GoString() string { 16931 return s.String() 16932} 16933 16934// SetTagList sets the TagList field's value. 16935func (s *TagListMessage) SetTagList(v []*Tag) *TagListMessage { 16936 s.TagList = v 16937 return s 16938} 16939 16940type TestFailoverInput struct { 16941 _ struct{} `type:"structure"` 16942 16943 // The name of the node group (called shard in the console) in this replication 16944 // group on which automatic failover is to be tested. You may test automatic 16945 // failover on up to 5 node groups in any rolling 24-hour period. 16946 // 16947 // NodeGroupId is a required field 16948 NodeGroupId *string `min:"1" type:"string" required:"true"` 16949 16950 // The name of the replication group (console: cluster) whose automatic failover 16951 // is being tested by this operation. 16952 // 16953 // ReplicationGroupId is a required field 16954 ReplicationGroupId *string `type:"string" required:"true"` 16955} 16956 16957// String returns the string representation 16958func (s TestFailoverInput) String() string { 16959 return awsutil.Prettify(s) 16960} 16961 16962// GoString returns the string representation 16963func (s TestFailoverInput) GoString() string { 16964 return s.String() 16965} 16966 16967// Validate inspects the fields of the type to determine if they are valid. 16968func (s *TestFailoverInput) Validate() error { 16969 invalidParams := request.ErrInvalidParams{Context: "TestFailoverInput"} 16970 if s.NodeGroupId == nil { 16971 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 16972 } 16973 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 16974 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 16975 } 16976 if s.ReplicationGroupId == nil { 16977 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16978 } 16979 16980 if invalidParams.Len() > 0 { 16981 return invalidParams 16982 } 16983 return nil 16984} 16985 16986// SetNodeGroupId sets the NodeGroupId field's value. 16987func (s *TestFailoverInput) SetNodeGroupId(v string) *TestFailoverInput { 16988 s.NodeGroupId = &v 16989 return s 16990} 16991 16992// SetReplicationGroupId sets the ReplicationGroupId field's value. 16993func (s *TestFailoverInput) SetReplicationGroupId(v string) *TestFailoverInput { 16994 s.ReplicationGroupId = &v 16995 return s 16996} 16997 16998type TestFailoverOutput struct { 16999 _ struct{} `type:"structure"` 17000 17001 // Contains all of the attributes of a specific Redis replication group. 17002 ReplicationGroup *ReplicationGroup `type:"structure"` 17003} 17004 17005// String returns the string representation 17006func (s TestFailoverOutput) String() string { 17007 return awsutil.Prettify(s) 17008} 17009 17010// GoString returns the string representation 17011func (s TestFailoverOutput) GoString() string { 17012 return s.String() 17013} 17014 17015// SetReplicationGroup sets the ReplicationGroup field's value. 17016func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailoverOutput { 17017 s.ReplicationGroup = v 17018 return s 17019} 17020 17021// Filters update actions from the service updates that are in available status 17022// during the time range. 17023type TimeRangeFilter struct { 17024 _ struct{} `type:"structure"` 17025 17026 // The end time of the time range filter 17027 EndTime *time.Time `type:"timestamp"` 17028 17029 // The start time of the time range filter 17030 StartTime *time.Time `type:"timestamp"` 17031} 17032 17033// String returns the string representation 17034func (s TimeRangeFilter) String() string { 17035 return awsutil.Prettify(s) 17036} 17037 17038// GoString returns the string representation 17039func (s TimeRangeFilter) GoString() string { 17040 return s.String() 17041} 17042 17043// SetEndTime sets the EndTime field's value. 17044func (s *TimeRangeFilter) SetEndTime(v time.Time) *TimeRangeFilter { 17045 s.EndTime = &v 17046 return s 17047} 17048 17049// SetStartTime sets the StartTime field's value. 17050func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { 17051 s.StartTime = &v 17052 return s 17053} 17054 17055// Update action that has failed to be processed for the corresponding apply/stop 17056// request 17057type UnprocessedUpdateAction struct { 17058 _ struct{} `type:"structure"` 17059 17060 // The ID of the cache cluster 17061 CacheClusterId *string `type:"string"` 17062 17063 // The error message that describes the reason the request was not processed 17064 ErrorMessage *string `type:"string"` 17065 17066 // The error type for requests that are not processed 17067 ErrorType *string `type:"string"` 17068 17069 // The replication group ID 17070 ReplicationGroupId *string `type:"string"` 17071 17072 // The unique ID of the service update 17073 ServiceUpdateName *string `type:"string"` 17074} 17075 17076// String returns the string representation 17077func (s UnprocessedUpdateAction) String() string { 17078 return awsutil.Prettify(s) 17079} 17080 17081// GoString returns the string representation 17082func (s UnprocessedUpdateAction) GoString() string { 17083 return s.String() 17084} 17085 17086// SetCacheClusterId sets the CacheClusterId field's value. 17087func (s *UnprocessedUpdateAction) SetCacheClusterId(v string) *UnprocessedUpdateAction { 17088 s.CacheClusterId = &v 17089 return s 17090} 17091 17092// SetErrorMessage sets the ErrorMessage field's value. 17093func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { 17094 s.ErrorMessage = &v 17095 return s 17096} 17097 17098// SetErrorType sets the ErrorType field's value. 17099func (s *UnprocessedUpdateAction) SetErrorType(v string) *UnprocessedUpdateAction { 17100 s.ErrorType = &v 17101 return s 17102} 17103 17104// SetReplicationGroupId sets the ReplicationGroupId field's value. 17105func (s *UnprocessedUpdateAction) SetReplicationGroupId(v string) *UnprocessedUpdateAction { 17106 s.ReplicationGroupId = &v 17107 return s 17108} 17109 17110// SetServiceUpdateName sets the ServiceUpdateName field's value. 17111func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpdateAction { 17112 s.ServiceUpdateName = &v 17113 return s 17114} 17115 17116// The status of the service update for a specific replication group 17117type UpdateAction struct { 17118 _ struct{} `type:"structure"` 17119 17120 // The ID of the cache cluster 17121 CacheClusterId *string `type:"string"` 17122 17123 // The status of the service update on the cache node 17124 CacheNodeUpdateStatus []*CacheNodeUpdateStatus `locationNameList:"CacheNodeUpdateStatus" type:"list"` 17125 17126 // The Elasticache engine to which the update applies. Either Redis or Memcached 17127 Engine *string `type:"string"` 17128 17129 // The estimated length of time for the update to complete 17130 EstimatedUpdateTime *string `type:"string"` 17131 17132 // The status of the service update on the node group 17133 NodeGroupUpdateStatus []*NodeGroupUpdateStatus `locationNameList:"NodeGroupUpdateStatus" type:"list"` 17134 17135 // The progress of the service update on the replication group 17136 NodesUpdated *string `type:"string"` 17137 17138 // The ID of the replication group 17139 ReplicationGroupId *string `type:"string"` 17140 17141 // The unique ID of the service update 17142 ServiceUpdateName *string `type:"string"` 17143 17144 // The recommended date to apply the service update to ensure compliance. For 17145 // information on compliance, see Self-Service Security Updates for Compliance 17146 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 17147 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 17148 17149 // The date the update is first available 17150 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 17151 17152 // The severity of the service update 17153 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 17154 17155 // The status of the service update 17156 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 17157 17158 // Reflects the nature of the service update 17159 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 17160 17161 // If yes, all nodes in the replication group have been updated by the recommended 17162 // apply-by date. If no, at least one node in the replication group have not 17163 // been updated by the recommended apply-by date. If N/A, the replication group 17164 // was created after the recommended apply-by date. 17165 SlaMet *string `type:"string" enum:"SlaMet"` 17166 17167 // The date that the service update is available to a replication group 17168 UpdateActionAvailableDate *time.Time `type:"timestamp"` 17169 17170 // The status of the update action 17171 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 17172 17173 // The date when the UpdateActionStatus was last modified 17174 UpdateActionStatusModifiedDate *time.Time `type:"timestamp"` 17175} 17176 17177// String returns the string representation 17178func (s UpdateAction) String() string { 17179 return awsutil.Prettify(s) 17180} 17181 17182// GoString returns the string representation 17183func (s UpdateAction) GoString() string { 17184 return s.String() 17185} 17186 17187// SetCacheClusterId sets the CacheClusterId field's value. 17188func (s *UpdateAction) SetCacheClusterId(v string) *UpdateAction { 17189 s.CacheClusterId = &v 17190 return s 17191} 17192 17193// SetCacheNodeUpdateStatus sets the CacheNodeUpdateStatus field's value. 17194func (s *UpdateAction) SetCacheNodeUpdateStatus(v []*CacheNodeUpdateStatus) *UpdateAction { 17195 s.CacheNodeUpdateStatus = v 17196 return s 17197} 17198 17199// SetEngine sets the Engine field's value. 17200func (s *UpdateAction) SetEngine(v string) *UpdateAction { 17201 s.Engine = &v 17202 return s 17203} 17204 17205// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 17206func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { 17207 s.EstimatedUpdateTime = &v 17208 return s 17209} 17210 17211// SetNodeGroupUpdateStatus sets the NodeGroupUpdateStatus field's value. 17212func (s *UpdateAction) SetNodeGroupUpdateStatus(v []*NodeGroupUpdateStatus) *UpdateAction { 17213 s.NodeGroupUpdateStatus = v 17214 return s 17215} 17216 17217// SetNodesUpdated sets the NodesUpdated field's value. 17218func (s *UpdateAction) SetNodesUpdated(v string) *UpdateAction { 17219 s.NodesUpdated = &v 17220 return s 17221} 17222 17223// SetReplicationGroupId sets the ReplicationGroupId field's value. 17224func (s *UpdateAction) SetReplicationGroupId(v string) *UpdateAction { 17225 s.ReplicationGroupId = &v 17226 return s 17227} 17228 17229// SetServiceUpdateName sets the ServiceUpdateName field's value. 17230func (s *UpdateAction) SetServiceUpdateName(v string) *UpdateAction { 17231 s.ServiceUpdateName = &v 17232 return s 17233} 17234 17235// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 17236func (s *UpdateAction) SetServiceUpdateRecommendedApplyByDate(v time.Time) *UpdateAction { 17237 s.ServiceUpdateRecommendedApplyByDate = &v 17238 return s 17239} 17240 17241// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 17242func (s *UpdateAction) SetServiceUpdateReleaseDate(v time.Time) *UpdateAction { 17243 s.ServiceUpdateReleaseDate = &v 17244 return s 17245} 17246 17247// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 17248func (s *UpdateAction) SetServiceUpdateSeverity(v string) *UpdateAction { 17249 s.ServiceUpdateSeverity = &v 17250 return s 17251} 17252 17253// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 17254func (s *UpdateAction) SetServiceUpdateStatus(v string) *UpdateAction { 17255 s.ServiceUpdateStatus = &v 17256 return s 17257} 17258 17259// SetServiceUpdateType sets the ServiceUpdateType field's value. 17260func (s *UpdateAction) SetServiceUpdateType(v string) *UpdateAction { 17261 s.ServiceUpdateType = &v 17262 return s 17263} 17264 17265// SetSlaMet sets the SlaMet field's value. 17266func (s *UpdateAction) SetSlaMet(v string) *UpdateAction { 17267 s.SlaMet = &v 17268 return s 17269} 17270 17271// SetUpdateActionAvailableDate sets the UpdateActionAvailableDate field's value. 17272func (s *UpdateAction) SetUpdateActionAvailableDate(v time.Time) *UpdateAction { 17273 s.UpdateActionAvailableDate = &v 17274 return s 17275} 17276 17277// SetUpdateActionStatus sets the UpdateActionStatus field's value. 17278func (s *UpdateAction) SetUpdateActionStatus(v string) *UpdateAction { 17279 s.UpdateActionStatus = &v 17280 return s 17281} 17282 17283// SetUpdateActionStatusModifiedDate sets the UpdateActionStatusModifiedDate field's value. 17284func (s *UpdateAction) SetUpdateActionStatusModifiedDate(v time.Time) *UpdateAction { 17285 s.UpdateActionStatusModifiedDate = &v 17286 return s 17287} 17288 17289const ( 17290 // AZModeSingleAz is a AZMode enum value 17291 AZModeSingleAz = "single-az" 17292 17293 // AZModeCrossAz is a AZMode enum value 17294 AZModeCrossAz = "cross-az" 17295) 17296 17297const ( 17298 // AuthTokenUpdateStatusSetting is a AuthTokenUpdateStatus enum value 17299 AuthTokenUpdateStatusSetting = "SETTING" 17300 17301 // AuthTokenUpdateStatusRotating is a AuthTokenUpdateStatus enum value 17302 AuthTokenUpdateStatusRotating = "ROTATING" 17303) 17304 17305const ( 17306 // AuthTokenUpdateStrategyTypeSet is a AuthTokenUpdateStrategyType enum value 17307 AuthTokenUpdateStrategyTypeSet = "SET" 17308 17309 // AuthTokenUpdateStrategyTypeRotate is a AuthTokenUpdateStrategyType enum value 17310 AuthTokenUpdateStrategyTypeRotate = "ROTATE" 17311) 17312 17313const ( 17314 // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value 17315 AutomaticFailoverStatusEnabled = "enabled" 17316 17317 // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value 17318 AutomaticFailoverStatusDisabled = "disabled" 17319 17320 // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value 17321 AutomaticFailoverStatusEnabling = "enabling" 17322 17323 // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value 17324 AutomaticFailoverStatusDisabling = "disabling" 17325) 17326 17327const ( 17328 // ChangeTypeImmediate is a ChangeType enum value 17329 ChangeTypeImmediate = "immediate" 17330 17331 // ChangeTypeRequiresReboot is a ChangeType enum value 17332 ChangeTypeRequiresReboot = "requires-reboot" 17333) 17334 17335const ( 17336 // MultiAZStatusEnabled is a MultiAZStatus enum value 17337 MultiAZStatusEnabled = "enabled" 17338 17339 // MultiAZStatusDisabled is a MultiAZStatus enum value 17340 MultiAZStatusDisabled = "disabled" 17341) 17342 17343const ( 17344 // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value 17345 NodeUpdateInitiatedBySystem = "system" 17346 17347 // NodeUpdateInitiatedByCustomer is a NodeUpdateInitiatedBy enum value 17348 NodeUpdateInitiatedByCustomer = "customer" 17349) 17350 17351const ( 17352 // NodeUpdateStatusNotApplied is a NodeUpdateStatus enum value 17353 NodeUpdateStatusNotApplied = "not-applied" 17354 17355 // NodeUpdateStatusWaitingToStart is a NodeUpdateStatus enum value 17356 NodeUpdateStatusWaitingToStart = "waiting-to-start" 17357 17358 // NodeUpdateStatusInProgress is a NodeUpdateStatus enum value 17359 NodeUpdateStatusInProgress = "in-progress" 17360 17361 // NodeUpdateStatusStopping is a NodeUpdateStatus enum value 17362 NodeUpdateStatusStopping = "stopping" 17363 17364 // NodeUpdateStatusStopped is a NodeUpdateStatus enum value 17365 NodeUpdateStatusStopped = "stopped" 17366 17367 // NodeUpdateStatusComplete is a NodeUpdateStatus enum value 17368 NodeUpdateStatusComplete = "complete" 17369) 17370 17371const ( 17372 // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value 17373 PendingAutomaticFailoverStatusEnabled = "enabled" 17374 17375 // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value 17376 PendingAutomaticFailoverStatusDisabled = "disabled" 17377) 17378 17379const ( 17380 // ServiceUpdateSeverityCritical is a ServiceUpdateSeverity enum value 17381 ServiceUpdateSeverityCritical = "critical" 17382 17383 // ServiceUpdateSeverityImportant is a ServiceUpdateSeverity enum value 17384 ServiceUpdateSeverityImportant = "important" 17385 17386 // ServiceUpdateSeverityMedium is a ServiceUpdateSeverity enum value 17387 ServiceUpdateSeverityMedium = "medium" 17388 17389 // ServiceUpdateSeverityLow is a ServiceUpdateSeverity enum value 17390 ServiceUpdateSeverityLow = "low" 17391) 17392 17393const ( 17394 // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value 17395 ServiceUpdateStatusAvailable = "available" 17396 17397 // ServiceUpdateStatusCancelled is a ServiceUpdateStatus enum value 17398 ServiceUpdateStatusCancelled = "cancelled" 17399 17400 // ServiceUpdateStatusExpired is a ServiceUpdateStatus enum value 17401 ServiceUpdateStatusExpired = "expired" 17402) 17403 17404const ( 17405 // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value 17406 ServiceUpdateTypeSecurityUpdate = "security-update" 17407) 17408 17409const ( 17410 // SlaMetYes is a SlaMet enum value 17411 SlaMetYes = "yes" 17412 17413 // SlaMetNo is a SlaMet enum value 17414 SlaMetNo = "no" 17415 17416 // SlaMetNA is a SlaMet enum value 17417 SlaMetNA = "n/a" 17418) 17419 17420const ( 17421 // SourceTypeCacheCluster is a SourceType enum value 17422 SourceTypeCacheCluster = "cache-cluster" 17423 17424 // SourceTypeCacheParameterGroup is a SourceType enum value 17425 SourceTypeCacheParameterGroup = "cache-parameter-group" 17426 17427 // SourceTypeCacheSecurityGroup is a SourceType enum value 17428 SourceTypeCacheSecurityGroup = "cache-security-group" 17429 17430 // SourceTypeCacheSubnetGroup is a SourceType enum value 17431 SourceTypeCacheSubnetGroup = "cache-subnet-group" 17432 17433 // SourceTypeReplicationGroup is a SourceType enum value 17434 SourceTypeReplicationGroup = "replication-group" 17435) 17436 17437const ( 17438 // UpdateActionStatusNotApplied is a UpdateActionStatus enum value 17439 UpdateActionStatusNotApplied = "not-applied" 17440 17441 // UpdateActionStatusWaitingToStart is a UpdateActionStatus enum value 17442 UpdateActionStatusWaitingToStart = "waiting-to-start" 17443 17444 // UpdateActionStatusInProgress is a UpdateActionStatus enum value 17445 UpdateActionStatusInProgress = "in-progress" 17446 17447 // UpdateActionStatusStopping is a UpdateActionStatus enum value 17448 UpdateActionStatusStopping = "stopping" 17449 17450 // UpdateActionStatusStopped is a UpdateActionStatus enum value 17451 UpdateActionStatusStopped = "stopped" 17452 17453 // UpdateActionStatusComplete is a UpdateActionStatus enum value 17454 UpdateActionStatusComplete = "complete" 17455 17456 // UpdateActionStatusScheduling is a UpdateActionStatus enum value 17457 UpdateActionStatusScheduling = "scheduling" 17458 17459 // UpdateActionStatusScheduled is a UpdateActionStatus enum value 17460 UpdateActionStatusScheduled = "scheduled" 17461 17462 // UpdateActionStatusNotApplicable is a UpdateActionStatus enum value 17463 UpdateActionStatusNotApplicable = "not-applicable" 17464) 17465