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. If you need to increase or decrease the number of node groups 1205// (console: shards), you can avail yourself of ElastiCache for Redis' scaling. 1206// For more information, see Scaling ElastiCache for Redis Clusters (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Scaling.html) 1207// in the ElastiCache User Guide. 1208// 1209// This operation is valid for Redis only. 1210// 1211// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1212// with awserr.Error's Code and Message methods to get detailed information about 1213// the error. 1214// 1215// See the AWS API reference guide for Amazon ElastiCache's 1216// API operation CreateReplicationGroup for usage and error information. 1217// 1218// Returned Error Codes: 1219// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1220// The requested cluster ID does not refer to an existing cluster. 1221// 1222// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1223// The requested cluster is not in the available state. 1224// 1225// * ErrCodeReplicationGroupAlreadyExistsFault "ReplicationGroupAlreadyExists" 1226// The specified replication group already exists. 1227// 1228// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1229// The requested cache node type is not available in the specified Availability 1230// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1231// in the ElastiCache User Guide. 1232// 1233// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1234// The requested cache security group name does not refer to an existing cache 1235// security group. 1236// 1237// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1238// The requested cache subnet group name does not refer to an existing cache 1239// subnet group. 1240// 1241// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1242// The request cannot be processed because it would exceed the allowed number 1243// of clusters per customer. 1244// 1245// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 1246// The request cannot be processed because it would exceed the allowed number 1247// of cache nodes in a single cluster. 1248// 1249// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1250// The request cannot be processed because it would exceed the allowed number 1251// of cache nodes per customer. 1252// 1253// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1254// The requested cache parameter group name does not refer to an existing cache 1255// parameter group. 1256// 1257// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1258// The VPC network is in an invalid state. 1259// 1260// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1261// The request cannot be processed because it would cause the resource to have 1262// more than the allowed number of tags. The maximum number of tags permitted 1263// on a resource is 50. 1264// 1265// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1266// The request cannot be processed because it would exceed the maximum allowed 1267// number of node groups (shards) in a single replication group. The default 1268// maximum is 90 1269// 1270// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 1271// The Global Datastore does not exist 1272// 1273// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 1274// The Global Datastore is not available or in primary-only state. 1275// 1276// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1277// The value for a parameter is invalid. 1278// 1279// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1280// Two or more incompatible parameters were specified. 1281// 1282// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1283func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { 1284 req, out := c.CreateReplicationGroupRequest(input) 1285 return out, req.Send() 1286} 1287 1288// CreateReplicationGroupWithContext is the same as CreateReplicationGroup with the addition of 1289// the ability to pass a context and additional request options. 1290// 1291// See CreateReplicationGroup for details on how to use this API operation. 1292// 1293// The context must be non-nil and will be used for request cancellation. If 1294// the context is nil a panic will occur. In the future the SDK may create 1295// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1296// for more information on using Contexts. 1297func (c *ElastiCache) CreateReplicationGroupWithContext(ctx aws.Context, input *CreateReplicationGroupInput, opts ...request.Option) (*CreateReplicationGroupOutput, error) { 1298 req, out := c.CreateReplicationGroupRequest(input) 1299 req.SetContext(ctx) 1300 req.ApplyOptions(opts...) 1301 return out, req.Send() 1302} 1303 1304const opCreateSnapshot = "CreateSnapshot" 1305 1306// CreateSnapshotRequest generates a "aws/request.Request" representing the 1307// client's request for the CreateSnapshot operation. The "output" return 1308// value will be populated with the request's response once the request completes 1309// successfully. 1310// 1311// Use "Send" method on the returned Request to send the API call to the service. 1312// the "output" return value is not valid until after Send returns without error. 1313// 1314// See CreateSnapshot for more information on using the CreateSnapshot 1315// API call, and error handling. 1316// 1317// This method is useful when you want to inject custom logic or configuration 1318// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1319// 1320// 1321// // Example sending a request using the CreateSnapshotRequest method. 1322// req, resp := client.CreateSnapshotRequest(params) 1323// 1324// err := req.Send() 1325// if err == nil { // resp is now filled 1326// fmt.Println(resp) 1327// } 1328// 1329// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1330func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { 1331 op := &request.Operation{ 1332 Name: opCreateSnapshot, 1333 HTTPMethod: "POST", 1334 HTTPPath: "/", 1335 } 1336 1337 if input == nil { 1338 input = &CreateSnapshotInput{} 1339 } 1340 1341 output = &CreateSnapshotOutput{} 1342 req = c.newRequest(op, input, output) 1343 return 1344} 1345 1346// CreateSnapshot API operation for Amazon ElastiCache. 1347// 1348// Creates a copy of an entire cluster or replication group at a specific moment 1349// in time. 1350// 1351// This operation is valid for Redis only. 1352// 1353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1354// with awserr.Error's Code and Message methods to get detailed information about 1355// the error. 1356// 1357// See the AWS API reference guide for Amazon ElastiCache's 1358// API operation CreateSnapshot for usage and error information. 1359// 1360// Returned Error Codes: 1361// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1362// You already have a snapshot with the given name. 1363// 1364// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1365// The requested cluster ID does not refer to an existing cluster. 1366// 1367// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1368// The specified replication group does not exist. 1369// 1370// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1371// The requested cluster is not in the available state. 1372// 1373// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1374// The requested replication group is not in the available state. 1375// 1376// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1377// The request cannot be processed because it would exceed the maximum number 1378// of snapshots. 1379// 1380// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1381// You attempted one of the following operations: 1382// 1383// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1384// node. 1385// 1386// * Creating a snapshot of a cluster that is running Memcached rather than 1387// Redis. 1388// 1389// Neither of these are supported by ElastiCache. 1390// 1391// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1392// Two or more incompatible parameters were specified. 1393// 1394// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1395// The value for a parameter is invalid. 1396// 1397// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1398func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { 1399 req, out := c.CreateSnapshotRequest(input) 1400 return out, req.Send() 1401} 1402 1403// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of 1404// the ability to pass a context and additional request options. 1405// 1406// See CreateSnapshot for details on how to use this API operation. 1407// 1408// The context must be non-nil and will be used for request cancellation. If 1409// the context is nil a panic will occur. In the future the SDK may create 1410// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1411// for more information on using Contexts. 1412func (c *ElastiCache) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { 1413 req, out := c.CreateSnapshotRequest(input) 1414 req.SetContext(ctx) 1415 req.ApplyOptions(opts...) 1416 return out, req.Send() 1417} 1418 1419const opDecreaseNodeGroupsInGlobalReplicationGroup = "DecreaseNodeGroupsInGlobalReplicationGroup" 1420 1421// DecreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 1422// client's request for the DecreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 1423// value will be populated with the request's response once the request completes 1424// successfully. 1425// 1426// Use "Send" method on the returned Request to send the API call to the service. 1427// the "output" return value is not valid until after Send returns without error. 1428// 1429// See DecreaseNodeGroupsInGlobalReplicationGroup for more information on using the DecreaseNodeGroupsInGlobalReplicationGroup 1430// API call, and error handling. 1431// 1432// This method is useful when you want to inject custom logic or configuration 1433// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1434// 1435// 1436// // Example sending a request using the DecreaseNodeGroupsInGlobalReplicationGroupRequest method. 1437// req, resp := client.DecreaseNodeGroupsInGlobalReplicationGroupRequest(params) 1438// 1439// err := req.Send() 1440// if err == nil { // resp is now filled 1441// fmt.Println(resp) 1442// } 1443// 1444// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup 1445func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupRequest(input *DecreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *DecreaseNodeGroupsInGlobalReplicationGroupOutput) { 1446 op := &request.Operation{ 1447 Name: opDecreaseNodeGroupsInGlobalReplicationGroup, 1448 HTTPMethod: "POST", 1449 HTTPPath: "/", 1450 } 1451 1452 if input == nil { 1453 input = &DecreaseNodeGroupsInGlobalReplicationGroupInput{} 1454 } 1455 1456 output = &DecreaseNodeGroupsInGlobalReplicationGroupOutput{} 1457 req = c.newRequest(op, input, output) 1458 return 1459} 1460 1461// DecreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 1462// 1463// Decreases the number of node groups in a Global Datastore 1464// 1465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1466// with awserr.Error's Code and Message methods to get detailed information about 1467// the error. 1468// 1469// See the AWS API reference guide for Amazon ElastiCache's 1470// API operation DecreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 1471// 1472// Returned Error Codes: 1473// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 1474// The Global Datastore does not exist 1475// 1476// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 1477// The Global Datastore is not available or in primary-only state. 1478// 1479// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1480// The value for a parameter is invalid. 1481// 1482// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1483// Two or more incompatible parameters were specified. 1484// 1485// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseNodeGroupsInGlobalReplicationGroup 1486func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroup(input *DecreaseNodeGroupsInGlobalReplicationGroupInput) (*DecreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 1487 req, out := c.DecreaseNodeGroupsInGlobalReplicationGroupRequest(input) 1488 return out, req.Send() 1489} 1490 1491// DecreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as DecreaseNodeGroupsInGlobalReplicationGroup with the addition of 1492// the ability to pass a context and additional request options. 1493// 1494// See DecreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 1495// 1496// The context must be non-nil and will be used for request cancellation. If 1497// the context is nil a panic will occur. In the future the SDK may create 1498// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1499// for more information on using Contexts. 1500func (c *ElastiCache) DecreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *DecreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*DecreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 1501 req, out := c.DecreaseNodeGroupsInGlobalReplicationGroupRequest(input) 1502 req.SetContext(ctx) 1503 req.ApplyOptions(opts...) 1504 return out, req.Send() 1505} 1506 1507const opDecreaseReplicaCount = "DecreaseReplicaCount" 1508 1509// DecreaseReplicaCountRequest generates a "aws/request.Request" representing the 1510// client's request for the DecreaseReplicaCount operation. The "output" return 1511// value will be populated with the request's response once the request completes 1512// successfully. 1513// 1514// Use "Send" method on the returned Request to send the API call to the service. 1515// the "output" return value is not valid until after Send returns without error. 1516// 1517// See DecreaseReplicaCount for more information on using the DecreaseReplicaCount 1518// API call, and error handling. 1519// 1520// This method is useful when you want to inject custom logic or configuration 1521// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1522// 1523// 1524// // Example sending a request using the DecreaseReplicaCountRequest method. 1525// req, resp := client.DecreaseReplicaCountRequest(params) 1526// 1527// err := req.Send() 1528// if err == nil { // resp is now filled 1529// fmt.Println(resp) 1530// } 1531// 1532// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1533func (c *ElastiCache) DecreaseReplicaCountRequest(input *DecreaseReplicaCountInput) (req *request.Request, output *DecreaseReplicaCountOutput) { 1534 op := &request.Operation{ 1535 Name: opDecreaseReplicaCount, 1536 HTTPMethod: "POST", 1537 HTTPPath: "/", 1538 } 1539 1540 if input == nil { 1541 input = &DecreaseReplicaCountInput{} 1542 } 1543 1544 output = &DecreaseReplicaCountOutput{} 1545 req = c.newRequest(op, input, output) 1546 return 1547} 1548 1549// DecreaseReplicaCount API operation for Amazon ElastiCache. 1550// 1551// Dynamically decreases the number of replicas in a Redis (cluster mode disabled) 1552// replication group or the number of replica nodes in one or more node groups 1553// (shards) of a Redis (cluster mode enabled) replication group. This operation 1554// is performed with no cluster down time. 1555// 1556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1557// with awserr.Error's Code and Message methods to get detailed information about 1558// the error. 1559// 1560// See the AWS API reference guide for Amazon ElastiCache's 1561// API operation DecreaseReplicaCount for usage and error information. 1562// 1563// Returned Error Codes: 1564// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1565// The specified replication group does not exist. 1566// 1567// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1568// The requested replication group is not in the available state. 1569// 1570// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1571// The requested cluster is not in the available state. 1572// 1573// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1574// The VPC network is in an invalid state. 1575// 1576// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1577// The requested cache node type is not available in the specified Availability 1578// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1579// in the ElastiCache User Guide. 1580// 1581// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1582// The request cannot be processed because it would exceed the allowed number 1583// of clusters per customer. 1584// 1585// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1586// The request cannot be processed because it would exceed the maximum allowed 1587// number of node groups (shards) in a single replication group. The default 1588// maximum is 90 1589// 1590// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1591// The request cannot be processed because it would exceed the allowed number 1592// of cache nodes per customer. 1593// 1594// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1595// The specified service linked role (SLR) was not found. 1596// 1597// * ErrCodeNoOperationFault "NoOperationFault" 1598// The operation was not performed because no changes were required. 1599// 1600// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1601// The value for a parameter is invalid. 1602// 1603// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1604// Two or more incompatible parameters were specified. 1605// 1606// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1607func (c *ElastiCache) DecreaseReplicaCount(input *DecreaseReplicaCountInput) (*DecreaseReplicaCountOutput, error) { 1608 req, out := c.DecreaseReplicaCountRequest(input) 1609 return out, req.Send() 1610} 1611 1612// DecreaseReplicaCountWithContext is the same as DecreaseReplicaCount with the addition of 1613// the ability to pass a context and additional request options. 1614// 1615// See DecreaseReplicaCount for details on how to use this API operation. 1616// 1617// The context must be non-nil and will be used for request cancellation. If 1618// the context is nil a panic will occur. In the future the SDK may create 1619// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1620// for more information on using Contexts. 1621func (c *ElastiCache) DecreaseReplicaCountWithContext(ctx aws.Context, input *DecreaseReplicaCountInput, opts ...request.Option) (*DecreaseReplicaCountOutput, error) { 1622 req, out := c.DecreaseReplicaCountRequest(input) 1623 req.SetContext(ctx) 1624 req.ApplyOptions(opts...) 1625 return out, req.Send() 1626} 1627 1628const opDeleteCacheCluster = "DeleteCacheCluster" 1629 1630// DeleteCacheClusterRequest generates a "aws/request.Request" representing the 1631// client's request for the DeleteCacheCluster operation. The "output" return 1632// value will be populated with the request's response once the request completes 1633// successfully. 1634// 1635// Use "Send" method on the returned Request to send the API call to the service. 1636// the "output" return value is not valid until after Send returns without error. 1637// 1638// See DeleteCacheCluster for more information on using the DeleteCacheCluster 1639// API call, and error handling. 1640// 1641// This method is useful when you want to inject custom logic or configuration 1642// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1643// 1644// 1645// // Example sending a request using the DeleteCacheClusterRequest method. 1646// req, resp := client.DeleteCacheClusterRequest(params) 1647// 1648// err := req.Send() 1649// if err == nil { // resp is now filled 1650// fmt.Println(resp) 1651// } 1652// 1653// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1654func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { 1655 op := &request.Operation{ 1656 Name: opDeleteCacheCluster, 1657 HTTPMethod: "POST", 1658 HTTPPath: "/", 1659 } 1660 1661 if input == nil { 1662 input = &DeleteCacheClusterInput{} 1663 } 1664 1665 output = &DeleteCacheClusterOutput{} 1666 req = c.newRequest(op, input, output) 1667 return 1668} 1669 1670// DeleteCacheCluster API operation for Amazon ElastiCache. 1671// 1672// Deletes a previously provisioned cluster. DeleteCacheCluster deletes all 1673// associated cache nodes, node endpoints and the cluster itself. When you receive 1674// a successful response from this operation, Amazon ElastiCache immediately 1675// begins deleting the cluster; you cannot cancel or revert this operation. 1676// 1677// This operation is not valid for: 1678// 1679// * Redis (cluster mode enabled) clusters 1680// 1681// * A cluster that is the last read replica of a replication group 1682// 1683// * A node group (shard) that has Multi-AZ mode enabled 1684// 1685// * A cluster from a Redis (cluster mode enabled) replication group 1686// 1687// * A cluster that is not in the available state 1688// 1689// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1690// with awserr.Error's Code and Message methods to get detailed information about 1691// the error. 1692// 1693// See the AWS API reference guide for Amazon ElastiCache's 1694// API operation DeleteCacheCluster for usage and error information. 1695// 1696// Returned Error Codes: 1697// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1698// The requested cluster ID does not refer to an existing cluster. 1699// 1700// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1701// The requested cluster is not in the available state. 1702// 1703// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1704// You already have a snapshot with the given name. 1705// 1706// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1707// You attempted one of the following operations: 1708// 1709// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1710// node. 1711// 1712// * Creating a snapshot of a cluster that is running Memcached rather than 1713// Redis. 1714// 1715// Neither of these are supported by ElastiCache. 1716// 1717// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1718// The request cannot be processed because it would exceed the maximum number 1719// of snapshots. 1720// 1721// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1722// The value for a parameter is invalid. 1723// 1724// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1725// Two or more incompatible parameters were specified. 1726// 1727// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1728func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { 1729 req, out := c.DeleteCacheClusterRequest(input) 1730 return out, req.Send() 1731} 1732 1733// DeleteCacheClusterWithContext is the same as DeleteCacheCluster with the addition of 1734// the ability to pass a context and additional request options. 1735// 1736// See DeleteCacheCluster for details on how to use this API operation. 1737// 1738// The context must be non-nil and will be used for request cancellation. If 1739// the context is nil a panic will occur. In the future the SDK may create 1740// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1741// for more information on using Contexts. 1742func (c *ElastiCache) DeleteCacheClusterWithContext(ctx aws.Context, input *DeleteCacheClusterInput, opts ...request.Option) (*DeleteCacheClusterOutput, error) { 1743 req, out := c.DeleteCacheClusterRequest(input) 1744 req.SetContext(ctx) 1745 req.ApplyOptions(opts...) 1746 return out, req.Send() 1747} 1748 1749const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" 1750 1751// DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the 1752// client's request for the DeleteCacheParameterGroup operation. The "output" return 1753// value will be populated with the request's response once the request completes 1754// successfully. 1755// 1756// Use "Send" method on the returned Request to send the API call to the service. 1757// the "output" return value is not valid until after Send returns without error. 1758// 1759// See DeleteCacheParameterGroup for more information on using the DeleteCacheParameterGroup 1760// API call, and error handling. 1761// 1762// This method is useful when you want to inject custom logic or configuration 1763// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1764// 1765// 1766// // Example sending a request using the DeleteCacheParameterGroupRequest method. 1767// req, resp := client.DeleteCacheParameterGroupRequest(params) 1768// 1769// err := req.Send() 1770// if err == nil { // resp is now filled 1771// fmt.Println(resp) 1772// } 1773// 1774// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1775func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { 1776 op := &request.Operation{ 1777 Name: opDeleteCacheParameterGroup, 1778 HTTPMethod: "POST", 1779 HTTPPath: "/", 1780 } 1781 1782 if input == nil { 1783 input = &DeleteCacheParameterGroupInput{} 1784 } 1785 1786 output = &DeleteCacheParameterGroupOutput{} 1787 req = c.newRequest(op, input, output) 1788 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1789 return 1790} 1791 1792// DeleteCacheParameterGroup API operation for Amazon ElastiCache. 1793// 1794// Deletes the specified cache parameter group. You cannot delete a cache parameter 1795// group if it is associated with any cache clusters. 1796// 1797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1798// with awserr.Error's Code and Message methods to get detailed information about 1799// the error. 1800// 1801// See the AWS API reference guide for Amazon ElastiCache's 1802// API operation DeleteCacheParameterGroup for usage and error information. 1803// 1804// Returned Error Codes: 1805// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 1806// The current state of the cache parameter group does not allow the requested 1807// operation to occur. 1808// 1809// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1810// The requested cache parameter group name does not refer to an existing cache 1811// parameter group. 1812// 1813// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1814// The value for a parameter is invalid. 1815// 1816// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1817// Two or more incompatible parameters were specified. 1818// 1819// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1820func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { 1821 req, out := c.DeleteCacheParameterGroupRequest(input) 1822 return out, req.Send() 1823} 1824 1825// DeleteCacheParameterGroupWithContext is the same as DeleteCacheParameterGroup with the addition of 1826// the ability to pass a context and additional request options. 1827// 1828// See DeleteCacheParameterGroup for details on how to use this API operation. 1829// 1830// The context must be non-nil and will be used for request cancellation. If 1831// the context is nil a panic will occur. In the future the SDK may create 1832// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1833// for more information on using Contexts. 1834func (c *ElastiCache) DeleteCacheParameterGroupWithContext(ctx aws.Context, input *DeleteCacheParameterGroupInput, opts ...request.Option) (*DeleteCacheParameterGroupOutput, error) { 1835 req, out := c.DeleteCacheParameterGroupRequest(input) 1836 req.SetContext(ctx) 1837 req.ApplyOptions(opts...) 1838 return out, req.Send() 1839} 1840 1841const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" 1842 1843// DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the 1844// client's request for the DeleteCacheSecurityGroup operation. The "output" return 1845// value will be populated with the request's response once the request completes 1846// successfully. 1847// 1848// Use "Send" method on the returned Request to send the API call to the service. 1849// the "output" return value is not valid until after Send returns without error. 1850// 1851// See DeleteCacheSecurityGroup for more information on using the DeleteCacheSecurityGroup 1852// API call, and error handling. 1853// 1854// This method is useful when you want to inject custom logic or configuration 1855// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1856// 1857// 1858// // Example sending a request using the DeleteCacheSecurityGroupRequest method. 1859// req, resp := client.DeleteCacheSecurityGroupRequest(params) 1860// 1861// err := req.Send() 1862// if err == nil { // resp is now filled 1863// fmt.Println(resp) 1864// } 1865// 1866// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1867func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { 1868 op := &request.Operation{ 1869 Name: opDeleteCacheSecurityGroup, 1870 HTTPMethod: "POST", 1871 HTTPPath: "/", 1872 } 1873 1874 if input == nil { 1875 input = &DeleteCacheSecurityGroupInput{} 1876 } 1877 1878 output = &DeleteCacheSecurityGroupOutput{} 1879 req = c.newRequest(op, input, output) 1880 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1881 return 1882} 1883 1884// DeleteCacheSecurityGroup API operation for Amazon ElastiCache. 1885// 1886// Deletes a cache security group. 1887// 1888// You cannot delete a cache security group if it is associated with any clusters. 1889// 1890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1891// with awserr.Error's Code and Message methods to get detailed information about 1892// the error. 1893// 1894// See the AWS API reference guide for Amazon ElastiCache's 1895// API operation DeleteCacheSecurityGroup for usage and error information. 1896// 1897// Returned Error Codes: 1898// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 1899// The current state of the cache security group does not allow deletion. 1900// 1901// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1902// The requested cache security group name does not refer to an existing cache 1903// security group. 1904// 1905// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1906// The value for a parameter is invalid. 1907// 1908// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1909// Two or more incompatible parameters were specified. 1910// 1911// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1912func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { 1913 req, out := c.DeleteCacheSecurityGroupRequest(input) 1914 return out, req.Send() 1915} 1916 1917// DeleteCacheSecurityGroupWithContext is the same as DeleteCacheSecurityGroup with the addition of 1918// the ability to pass a context and additional request options. 1919// 1920// See DeleteCacheSecurityGroup for details on how to use this API operation. 1921// 1922// The context must be non-nil and will be used for request cancellation. If 1923// the context is nil a panic will occur. In the future the SDK may create 1924// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1925// for more information on using Contexts. 1926func (c *ElastiCache) DeleteCacheSecurityGroupWithContext(ctx aws.Context, input *DeleteCacheSecurityGroupInput, opts ...request.Option) (*DeleteCacheSecurityGroupOutput, error) { 1927 req, out := c.DeleteCacheSecurityGroupRequest(input) 1928 req.SetContext(ctx) 1929 req.ApplyOptions(opts...) 1930 return out, req.Send() 1931} 1932 1933const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" 1934 1935// DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the 1936// client's request for the DeleteCacheSubnetGroup operation. The "output" return 1937// value will be populated with the request's response once the request completes 1938// successfully. 1939// 1940// Use "Send" method on the returned Request to send the API call to the service. 1941// the "output" return value is not valid until after Send returns without error. 1942// 1943// See DeleteCacheSubnetGroup for more information on using the DeleteCacheSubnetGroup 1944// API call, and error handling. 1945// 1946// This method is useful when you want to inject custom logic or configuration 1947// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1948// 1949// 1950// // Example sending a request using the DeleteCacheSubnetGroupRequest method. 1951// req, resp := client.DeleteCacheSubnetGroupRequest(params) 1952// 1953// err := req.Send() 1954// if err == nil { // resp is now filled 1955// fmt.Println(resp) 1956// } 1957// 1958// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1959func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { 1960 op := &request.Operation{ 1961 Name: opDeleteCacheSubnetGroup, 1962 HTTPMethod: "POST", 1963 HTTPPath: "/", 1964 } 1965 1966 if input == nil { 1967 input = &DeleteCacheSubnetGroupInput{} 1968 } 1969 1970 output = &DeleteCacheSubnetGroupOutput{} 1971 req = c.newRequest(op, input, output) 1972 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1973 return 1974} 1975 1976// DeleteCacheSubnetGroup API operation for Amazon ElastiCache. 1977// 1978// Deletes a cache subnet group. 1979// 1980// You cannot delete a cache subnet group if it is associated with any clusters. 1981// 1982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1983// with awserr.Error's Code and Message methods to get detailed information about 1984// the error. 1985// 1986// See the AWS API reference guide for Amazon ElastiCache's 1987// API operation DeleteCacheSubnetGroup for usage and error information. 1988// 1989// Returned Error Codes: 1990// * ErrCodeCacheSubnetGroupInUse "CacheSubnetGroupInUse" 1991// The requested cache subnet group is currently in use. 1992// 1993// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1994// The requested cache subnet group name does not refer to an existing cache 1995// subnet group. 1996// 1997// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1998func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { 1999 req, out := c.DeleteCacheSubnetGroupRequest(input) 2000 return out, req.Send() 2001} 2002 2003// DeleteCacheSubnetGroupWithContext is the same as DeleteCacheSubnetGroup with the addition of 2004// the ability to pass a context and additional request options. 2005// 2006// See DeleteCacheSubnetGroup for details on how to use this API operation. 2007// 2008// The context must be non-nil and will be used for request cancellation. If 2009// the context is nil a panic will occur. In the future the SDK may create 2010// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2011// for more information on using Contexts. 2012func (c *ElastiCache) DeleteCacheSubnetGroupWithContext(ctx aws.Context, input *DeleteCacheSubnetGroupInput, opts ...request.Option) (*DeleteCacheSubnetGroupOutput, error) { 2013 req, out := c.DeleteCacheSubnetGroupRequest(input) 2014 req.SetContext(ctx) 2015 req.ApplyOptions(opts...) 2016 return out, req.Send() 2017} 2018 2019const opDeleteGlobalReplicationGroup = "DeleteGlobalReplicationGroup" 2020 2021// DeleteGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 2022// client's request for the DeleteGlobalReplicationGroup operation. The "output" return 2023// value will be populated with the request's response once the request completes 2024// successfully. 2025// 2026// Use "Send" method on the returned Request to send the API call to the service. 2027// the "output" return value is not valid until after Send returns without error. 2028// 2029// See DeleteGlobalReplicationGroup for more information on using the DeleteGlobalReplicationGroup 2030// API call, and error handling. 2031// 2032// This method is useful when you want to inject custom logic or configuration 2033// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2034// 2035// 2036// // Example sending a request using the DeleteGlobalReplicationGroupRequest method. 2037// req, resp := client.DeleteGlobalReplicationGroupRequest(params) 2038// 2039// err := req.Send() 2040// if err == nil { // resp is now filled 2041// fmt.Println(resp) 2042// } 2043// 2044// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup 2045func (c *ElastiCache) DeleteGlobalReplicationGroupRequest(input *DeleteGlobalReplicationGroupInput) (req *request.Request, output *DeleteGlobalReplicationGroupOutput) { 2046 op := &request.Operation{ 2047 Name: opDeleteGlobalReplicationGroup, 2048 HTTPMethod: "POST", 2049 HTTPPath: "/", 2050 } 2051 2052 if input == nil { 2053 input = &DeleteGlobalReplicationGroupInput{} 2054 } 2055 2056 output = &DeleteGlobalReplicationGroupOutput{} 2057 req = c.newRequest(op, input, output) 2058 return 2059} 2060 2061// DeleteGlobalReplicationGroup API operation for Amazon ElastiCache. 2062// 2063// Deleting a Global Datastore is a two-step process: 2064// 2065// * First, you must DisassociateGlobalReplicationGroup to remove the secondary 2066// clusters in the Global Datastore. 2067// 2068// * Once the Global Datastore contains only the primary cluster, you can 2069// use DeleteGlobalReplicationGroup API to delete the Global Datastore while 2070// retainining the primary cluster using Retain…= true. 2071// 2072// Since the Global Datastore has only a primary cluster, you can delete the 2073// Global Datastore while retaining the primary by setting RetainPrimaryCluster=true. 2074// 2075// When you receive a successful response from this operation, Amazon ElastiCache 2076// immediately begins deleting the selected resources; you cannot cancel or 2077// revert this operation. 2078// 2079// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2080// with awserr.Error's Code and Message methods to get detailed information about 2081// the error. 2082// 2083// See the AWS API reference guide for Amazon ElastiCache's 2084// API operation DeleteGlobalReplicationGroup for usage and error information. 2085// 2086// Returned Error Codes: 2087// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 2088// The Global Datastore does not exist 2089// 2090// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 2091// The Global Datastore is not available or in primary-only state. 2092// 2093// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2094// The value for a parameter is invalid. 2095// 2096// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteGlobalReplicationGroup 2097func (c *ElastiCache) DeleteGlobalReplicationGroup(input *DeleteGlobalReplicationGroupInput) (*DeleteGlobalReplicationGroupOutput, error) { 2098 req, out := c.DeleteGlobalReplicationGroupRequest(input) 2099 return out, req.Send() 2100} 2101 2102// DeleteGlobalReplicationGroupWithContext is the same as DeleteGlobalReplicationGroup with the addition of 2103// the ability to pass a context and additional request options. 2104// 2105// See DeleteGlobalReplicationGroup for details on how to use this API operation. 2106// 2107// The context must be non-nil and will be used for request cancellation. If 2108// the context is nil a panic will occur. In the future the SDK may create 2109// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2110// for more information on using Contexts. 2111func (c *ElastiCache) DeleteGlobalReplicationGroupWithContext(ctx aws.Context, input *DeleteGlobalReplicationGroupInput, opts ...request.Option) (*DeleteGlobalReplicationGroupOutput, error) { 2112 req, out := c.DeleteGlobalReplicationGroupRequest(input) 2113 req.SetContext(ctx) 2114 req.ApplyOptions(opts...) 2115 return out, req.Send() 2116} 2117 2118const opDeleteReplicationGroup = "DeleteReplicationGroup" 2119 2120// DeleteReplicationGroupRequest generates a "aws/request.Request" representing the 2121// client's request for the DeleteReplicationGroup operation. The "output" return 2122// value will be populated with the request's response once the request completes 2123// successfully. 2124// 2125// Use "Send" method on the returned Request to send the API call to the service. 2126// the "output" return value is not valid until after Send returns without error. 2127// 2128// See DeleteReplicationGroup for more information on using the DeleteReplicationGroup 2129// API call, and error handling. 2130// 2131// This method is useful when you want to inject custom logic or configuration 2132// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2133// 2134// 2135// // Example sending a request using the DeleteReplicationGroupRequest method. 2136// req, resp := client.DeleteReplicationGroupRequest(params) 2137// 2138// err := req.Send() 2139// if err == nil { // resp is now filled 2140// fmt.Println(resp) 2141// } 2142// 2143// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 2144func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { 2145 op := &request.Operation{ 2146 Name: opDeleteReplicationGroup, 2147 HTTPMethod: "POST", 2148 HTTPPath: "/", 2149 } 2150 2151 if input == nil { 2152 input = &DeleteReplicationGroupInput{} 2153 } 2154 2155 output = &DeleteReplicationGroupOutput{} 2156 req = c.newRequest(op, input, output) 2157 return 2158} 2159 2160// DeleteReplicationGroup API operation for Amazon ElastiCache. 2161// 2162// Deletes an existing replication group. By default, this operation deletes 2163// the entire replication group, including the primary/primaries and all of 2164// the read replicas. If the replication group has only one primary, you can 2165// optionally delete only the read replicas, while retaining the primary by 2166// setting RetainPrimaryCluster=true. 2167// 2168// When you receive a successful response from this operation, Amazon ElastiCache 2169// immediately begins deleting the selected resources; you cannot cancel or 2170// revert this operation. 2171// 2172// This operation is valid for Redis only. 2173// 2174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2175// with awserr.Error's Code and Message methods to get detailed information about 2176// the error. 2177// 2178// See the AWS API reference guide for Amazon ElastiCache's 2179// API operation DeleteReplicationGroup for usage and error information. 2180// 2181// Returned Error Codes: 2182// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 2183// The specified replication group does not exist. 2184// 2185// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 2186// The requested replication group is not in the available state. 2187// 2188// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 2189// You already have a snapshot with the given name. 2190// 2191// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 2192// You attempted one of the following operations: 2193// 2194// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 2195// node. 2196// 2197// * Creating a snapshot of a cluster that is running Memcached rather than 2198// Redis. 2199// 2200// Neither of these are supported by ElastiCache. 2201// 2202// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 2203// The request cannot be processed because it would exceed the maximum number 2204// of snapshots. 2205// 2206// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2207// The value for a parameter is invalid. 2208// 2209// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2210// Two or more incompatible parameters were specified. 2211// 2212// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 2213func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { 2214 req, out := c.DeleteReplicationGroupRequest(input) 2215 return out, req.Send() 2216} 2217 2218// DeleteReplicationGroupWithContext is the same as DeleteReplicationGroup with the addition of 2219// the ability to pass a context and additional request options. 2220// 2221// See DeleteReplicationGroup for details on how to use this API operation. 2222// 2223// The context must be non-nil and will be used for request cancellation. If 2224// the context is nil a panic will occur. In the future the SDK may create 2225// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2226// for more information on using Contexts. 2227func (c *ElastiCache) DeleteReplicationGroupWithContext(ctx aws.Context, input *DeleteReplicationGroupInput, opts ...request.Option) (*DeleteReplicationGroupOutput, error) { 2228 req, out := c.DeleteReplicationGroupRequest(input) 2229 req.SetContext(ctx) 2230 req.ApplyOptions(opts...) 2231 return out, req.Send() 2232} 2233 2234const opDeleteSnapshot = "DeleteSnapshot" 2235 2236// DeleteSnapshotRequest generates a "aws/request.Request" representing the 2237// client's request for the DeleteSnapshot operation. The "output" return 2238// value will be populated with the request's response once the request completes 2239// successfully. 2240// 2241// Use "Send" method on the returned Request to send the API call to the service. 2242// the "output" return value is not valid until after Send returns without error. 2243// 2244// See DeleteSnapshot for more information on using the DeleteSnapshot 2245// API call, and error handling. 2246// 2247// This method is useful when you want to inject custom logic or configuration 2248// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2249// 2250// 2251// // Example sending a request using the DeleteSnapshotRequest method. 2252// req, resp := client.DeleteSnapshotRequest(params) 2253// 2254// err := req.Send() 2255// if err == nil { // resp is now filled 2256// fmt.Println(resp) 2257// } 2258// 2259// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2260func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { 2261 op := &request.Operation{ 2262 Name: opDeleteSnapshot, 2263 HTTPMethod: "POST", 2264 HTTPPath: "/", 2265 } 2266 2267 if input == nil { 2268 input = &DeleteSnapshotInput{} 2269 } 2270 2271 output = &DeleteSnapshotOutput{} 2272 req = c.newRequest(op, input, output) 2273 return 2274} 2275 2276// DeleteSnapshot API operation for Amazon ElastiCache. 2277// 2278// Deletes an existing snapshot. When you receive a successful response from 2279// this operation, ElastiCache immediately begins deleting the snapshot; you 2280// cannot cancel or revert this operation. 2281// 2282// This operation is valid for Redis only. 2283// 2284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2285// with awserr.Error's Code and Message methods to get detailed information about 2286// the error. 2287// 2288// See the AWS API reference guide for Amazon ElastiCache's 2289// API operation DeleteSnapshot for usage and error information. 2290// 2291// Returned Error Codes: 2292// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 2293// The requested snapshot name does not refer to an existing snapshot. 2294// 2295// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 2296// The current state of the snapshot does not allow the requested operation 2297// to occur. 2298// 2299// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2300// The value for a parameter is invalid. 2301// 2302// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2303// Two or more incompatible parameters were specified. 2304// 2305// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2306func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { 2307 req, out := c.DeleteSnapshotRequest(input) 2308 return out, req.Send() 2309} 2310 2311// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of 2312// the ability to pass a context and additional request options. 2313// 2314// See DeleteSnapshot for details on how to use this API operation. 2315// 2316// The context must be non-nil and will be used for request cancellation. If 2317// the context is nil a panic will occur. In the future the SDK may create 2318// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2319// for more information on using Contexts. 2320func (c *ElastiCache) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { 2321 req, out := c.DeleteSnapshotRequest(input) 2322 req.SetContext(ctx) 2323 req.ApplyOptions(opts...) 2324 return out, req.Send() 2325} 2326 2327const opDescribeCacheClusters = "DescribeCacheClusters" 2328 2329// DescribeCacheClustersRequest generates a "aws/request.Request" representing the 2330// client's request for the DescribeCacheClusters operation. The "output" return 2331// value will be populated with the request's response once the request completes 2332// successfully. 2333// 2334// Use "Send" method on the returned Request to send the API call to the service. 2335// the "output" return value is not valid until after Send returns without error. 2336// 2337// See DescribeCacheClusters for more information on using the DescribeCacheClusters 2338// API call, and error handling. 2339// 2340// This method is useful when you want to inject custom logic or configuration 2341// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2342// 2343// 2344// // Example sending a request using the DescribeCacheClustersRequest method. 2345// req, resp := client.DescribeCacheClustersRequest(params) 2346// 2347// err := req.Send() 2348// if err == nil { // resp is now filled 2349// fmt.Println(resp) 2350// } 2351// 2352// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2353func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { 2354 op := &request.Operation{ 2355 Name: opDescribeCacheClusters, 2356 HTTPMethod: "POST", 2357 HTTPPath: "/", 2358 Paginator: &request.Paginator{ 2359 InputTokens: []string{"Marker"}, 2360 OutputTokens: []string{"Marker"}, 2361 LimitToken: "MaxRecords", 2362 TruncationToken: "", 2363 }, 2364 } 2365 2366 if input == nil { 2367 input = &DescribeCacheClustersInput{} 2368 } 2369 2370 output = &DescribeCacheClustersOutput{} 2371 req = c.newRequest(op, input, output) 2372 return 2373} 2374 2375// DescribeCacheClusters API operation for Amazon ElastiCache. 2376// 2377// Returns information about all provisioned clusters if no cluster identifier 2378// is specified, or about a specific cache cluster if a cluster identifier is 2379// supplied. 2380// 2381// By default, abbreviated information about the clusters is returned. You can 2382// use the optional ShowCacheNodeInfo flag to retrieve detailed information 2383// about the cache nodes associated with the clusters. These details include 2384// the DNS address and port for the cache node endpoint. 2385// 2386// If the cluster is in the creating state, only cluster-level information is 2387// displayed until all of the nodes are successfully provisioned. 2388// 2389// If the cluster is in the deleting state, only cluster-level information is 2390// displayed. 2391// 2392// If cache nodes are currently being added to the cluster, node endpoint information 2393// and creation time for the additional nodes are not displayed until they are 2394// completely provisioned. When the cluster state is available, the cluster 2395// is ready for use. 2396// 2397// If cache nodes are currently being removed from the cluster, no endpoint 2398// information for the removed nodes is displayed. 2399// 2400// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2401// with awserr.Error's Code and Message methods to get detailed information about 2402// the error. 2403// 2404// See the AWS API reference guide for Amazon ElastiCache's 2405// API operation DescribeCacheClusters for usage and error information. 2406// 2407// Returned Error Codes: 2408// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 2409// The requested cluster ID does not refer to an existing cluster. 2410// 2411// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2412// The value for a parameter is invalid. 2413// 2414// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2415// Two or more incompatible parameters were specified. 2416// 2417// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2418func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { 2419 req, out := c.DescribeCacheClustersRequest(input) 2420 return out, req.Send() 2421} 2422 2423// DescribeCacheClustersWithContext is the same as DescribeCacheClusters with the addition of 2424// the ability to pass a context and additional request options. 2425// 2426// See DescribeCacheClusters for details on how to use this API operation. 2427// 2428// The context must be non-nil and will be used for request cancellation. If 2429// the context is nil a panic will occur. In the future the SDK may create 2430// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2431// for more information on using Contexts. 2432func (c *ElastiCache) DescribeCacheClustersWithContext(ctx aws.Context, input *DescribeCacheClustersInput, opts ...request.Option) (*DescribeCacheClustersOutput, error) { 2433 req, out := c.DescribeCacheClustersRequest(input) 2434 req.SetContext(ctx) 2435 req.ApplyOptions(opts...) 2436 return out, req.Send() 2437} 2438 2439// DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, 2440// calling the "fn" function with the response data for each page. To stop 2441// iterating, return false from the fn function. 2442// 2443// See DescribeCacheClusters method for more information on how to use this operation. 2444// 2445// Note: This operation can generate multiple requests to a service. 2446// 2447// // Example iterating over at most 3 pages of a DescribeCacheClusters operation. 2448// pageNum := 0 2449// err := client.DescribeCacheClustersPages(params, 2450// func(page *elasticache.DescribeCacheClustersOutput, lastPage bool) bool { 2451// pageNum++ 2452// fmt.Println(page) 2453// return pageNum <= 3 2454// }) 2455// 2456func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool) error { 2457 return c.DescribeCacheClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2458} 2459 2460// DescribeCacheClustersPagesWithContext same as DescribeCacheClustersPages except 2461// it takes a Context and allows setting request options on the pages. 2462// 2463// The context must be non-nil and will be used for request cancellation. If 2464// the context is nil a panic will occur. In the future the SDK may create 2465// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2466// for more information on using Contexts. 2467func (c *ElastiCache) DescribeCacheClustersPagesWithContext(ctx aws.Context, input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool, opts ...request.Option) error { 2468 p := request.Pagination{ 2469 NewRequest: func() (*request.Request, error) { 2470 var inCpy *DescribeCacheClustersInput 2471 if input != nil { 2472 tmp := *input 2473 inCpy = &tmp 2474 } 2475 req, _ := c.DescribeCacheClustersRequest(inCpy) 2476 req.SetContext(ctx) 2477 req.ApplyOptions(opts...) 2478 return req, nil 2479 }, 2480 } 2481 2482 for p.Next() { 2483 if !fn(p.Page().(*DescribeCacheClustersOutput), !p.HasNextPage()) { 2484 break 2485 } 2486 } 2487 2488 return p.Err() 2489} 2490 2491const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" 2492 2493// DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the 2494// client's request for the DescribeCacheEngineVersions operation. The "output" return 2495// value will be populated with the request's response once the request completes 2496// successfully. 2497// 2498// Use "Send" method on the returned Request to send the API call to the service. 2499// the "output" return value is not valid until after Send returns without error. 2500// 2501// See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions 2502// API call, and error handling. 2503// 2504// This method is useful when you want to inject custom logic or configuration 2505// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2506// 2507// 2508// // Example sending a request using the DescribeCacheEngineVersionsRequest method. 2509// req, resp := client.DescribeCacheEngineVersionsRequest(params) 2510// 2511// err := req.Send() 2512// if err == nil { // resp is now filled 2513// fmt.Println(resp) 2514// } 2515// 2516// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2517func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { 2518 op := &request.Operation{ 2519 Name: opDescribeCacheEngineVersions, 2520 HTTPMethod: "POST", 2521 HTTPPath: "/", 2522 Paginator: &request.Paginator{ 2523 InputTokens: []string{"Marker"}, 2524 OutputTokens: []string{"Marker"}, 2525 LimitToken: "MaxRecords", 2526 TruncationToken: "", 2527 }, 2528 } 2529 2530 if input == nil { 2531 input = &DescribeCacheEngineVersionsInput{} 2532 } 2533 2534 output = &DescribeCacheEngineVersionsOutput{} 2535 req = c.newRequest(op, input, output) 2536 return 2537} 2538 2539// DescribeCacheEngineVersions API operation for Amazon ElastiCache. 2540// 2541// Returns a list of the available cache engines and their versions. 2542// 2543// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2544// with awserr.Error's Code and Message methods to get detailed information about 2545// the error. 2546// 2547// See the AWS API reference guide for Amazon ElastiCache's 2548// API operation DescribeCacheEngineVersions for usage and error information. 2549// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2550func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { 2551 req, out := c.DescribeCacheEngineVersionsRequest(input) 2552 return out, req.Send() 2553} 2554 2555// DescribeCacheEngineVersionsWithContext is the same as DescribeCacheEngineVersions with the addition of 2556// the ability to pass a context and additional request options. 2557// 2558// See DescribeCacheEngineVersions for details on how to use this API operation. 2559// 2560// The context must be non-nil and will be used for request cancellation. If 2561// the context is nil a panic will occur. In the future the SDK may create 2562// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2563// for more information on using Contexts. 2564func (c *ElastiCache) DescribeCacheEngineVersionsWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, opts ...request.Option) (*DescribeCacheEngineVersionsOutput, error) { 2565 req, out := c.DescribeCacheEngineVersionsRequest(input) 2566 req.SetContext(ctx) 2567 req.ApplyOptions(opts...) 2568 return out, req.Send() 2569} 2570 2571// DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, 2572// calling the "fn" function with the response data for each page. To stop 2573// iterating, return false from the fn function. 2574// 2575// See DescribeCacheEngineVersions method for more information on how to use this operation. 2576// 2577// Note: This operation can generate multiple requests to a service. 2578// 2579// // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation. 2580// pageNum := 0 2581// err := client.DescribeCacheEngineVersionsPages(params, 2582// func(page *elasticache.DescribeCacheEngineVersionsOutput, lastPage bool) bool { 2583// pageNum++ 2584// fmt.Println(page) 2585// return pageNum <= 3 2586// }) 2587// 2588func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool) error { 2589 return c.DescribeCacheEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 2590} 2591 2592// DescribeCacheEngineVersionsPagesWithContext same as DescribeCacheEngineVersionsPages except 2593// it takes a Context and allows setting request options on the pages. 2594// 2595// The context must be non-nil and will be used for request cancellation. If 2596// the context is nil a panic will occur. In the future the SDK may create 2597// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2598// for more information on using Contexts. 2599func (c *ElastiCache) DescribeCacheEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool, opts ...request.Option) error { 2600 p := request.Pagination{ 2601 NewRequest: func() (*request.Request, error) { 2602 var inCpy *DescribeCacheEngineVersionsInput 2603 if input != nil { 2604 tmp := *input 2605 inCpy = &tmp 2606 } 2607 req, _ := c.DescribeCacheEngineVersionsRequest(inCpy) 2608 req.SetContext(ctx) 2609 req.ApplyOptions(opts...) 2610 return req, nil 2611 }, 2612 } 2613 2614 for p.Next() { 2615 if !fn(p.Page().(*DescribeCacheEngineVersionsOutput), !p.HasNextPage()) { 2616 break 2617 } 2618 } 2619 2620 return p.Err() 2621} 2622 2623const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" 2624 2625// DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the 2626// client's request for the DescribeCacheParameterGroups operation. The "output" return 2627// value will be populated with the request's response once the request completes 2628// successfully. 2629// 2630// Use "Send" method on the returned Request to send the API call to the service. 2631// the "output" return value is not valid until after Send returns without error. 2632// 2633// See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups 2634// API call, and error handling. 2635// 2636// This method is useful when you want to inject custom logic or configuration 2637// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2638// 2639// 2640// // Example sending a request using the DescribeCacheParameterGroupsRequest method. 2641// req, resp := client.DescribeCacheParameterGroupsRequest(params) 2642// 2643// err := req.Send() 2644// if err == nil { // resp is now filled 2645// fmt.Println(resp) 2646// } 2647// 2648// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2649func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { 2650 op := &request.Operation{ 2651 Name: opDescribeCacheParameterGroups, 2652 HTTPMethod: "POST", 2653 HTTPPath: "/", 2654 Paginator: &request.Paginator{ 2655 InputTokens: []string{"Marker"}, 2656 OutputTokens: []string{"Marker"}, 2657 LimitToken: "MaxRecords", 2658 TruncationToken: "", 2659 }, 2660 } 2661 2662 if input == nil { 2663 input = &DescribeCacheParameterGroupsInput{} 2664 } 2665 2666 output = &DescribeCacheParameterGroupsOutput{} 2667 req = c.newRequest(op, input, output) 2668 return 2669} 2670 2671// DescribeCacheParameterGroups API operation for Amazon ElastiCache. 2672// 2673// Returns a list of cache parameter group descriptions. If a cache parameter 2674// group name is specified, the list contains only the descriptions for that 2675// group. 2676// 2677// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2678// with awserr.Error's Code and Message methods to get detailed information about 2679// the error. 2680// 2681// See the AWS API reference guide for Amazon ElastiCache's 2682// API operation DescribeCacheParameterGroups for usage and error information. 2683// 2684// Returned Error Codes: 2685// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2686// The requested cache parameter group name does not refer to an existing cache 2687// parameter group. 2688// 2689// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2690// The value for a parameter is invalid. 2691// 2692// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2693// Two or more incompatible parameters were specified. 2694// 2695// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2696func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { 2697 req, out := c.DescribeCacheParameterGroupsRequest(input) 2698 return out, req.Send() 2699} 2700 2701// DescribeCacheParameterGroupsWithContext is the same as DescribeCacheParameterGroups with the addition of 2702// the ability to pass a context and additional request options. 2703// 2704// See DescribeCacheParameterGroups for details on how to use this API operation. 2705// 2706// The context must be non-nil and will be used for request cancellation. If 2707// the context is nil a panic will occur. In the future the SDK may create 2708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2709// for more information on using Contexts. 2710func (c *ElastiCache) DescribeCacheParameterGroupsWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, opts ...request.Option) (*DescribeCacheParameterGroupsOutput, error) { 2711 req, out := c.DescribeCacheParameterGroupsRequest(input) 2712 req.SetContext(ctx) 2713 req.ApplyOptions(opts...) 2714 return out, req.Send() 2715} 2716 2717// DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, 2718// calling the "fn" function with the response data for each page. To stop 2719// iterating, return false from the fn function. 2720// 2721// See DescribeCacheParameterGroups method for more information on how to use this operation. 2722// 2723// Note: This operation can generate multiple requests to a service. 2724// 2725// // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation. 2726// pageNum := 0 2727// err := client.DescribeCacheParameterGroupsPages(params, 2728// func(page *elasticache.DescribeCacheParameterGroupsOutput, lastPage bool) bool { 2729// pageNum++ 2730// fmt.Println(page) 2731// return pageNum <= 3 2732// }) 2733// 2734func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool) error { 2735 return c.DescribeCacheParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2736} 2737 2738// DescribeCacheParameterGroupsPagesWithContext same as DescribeCacheParameterGroupsPages except 2739// it takes a Context and allows setting request options on the pages. 2740// 2741// The context must be non-nil and will be used for request cancellation. If 2742// the context is nil a panic will occur. In the future the SDK may create 2743// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2744// for more information on using Contexts. 2745func (c *ElastiCache) DescribeCacheParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool, opts ...request.Option) error { 2746 p := request.Pagination{ 2747 NewRequest: func() (*request.Request, error) { 2748 var inCpy *DescribeCacheParameterGroupsInput 2749 if input != nil { 2750 tmp := *input 2751 inCpy = &tmp 2752 } 2753 req, _ := c.DescribeCacheParameterGroupsRequest(inCpy) 2754 req.SetContext(ctx) 2755 req.ApplyOptions(opts...) 2756 return req, nil 2757 }, 2758 } 2759 2760 for p.Next() { 2761 if !fn(p.Page().(*DescribeCacheParameterGroupsOutput), !p.HasNextPage()) { 2762 break 2763 } 2764 } 2765 2766 return p.Err() 2767} 2768 2769const opDescribeCacheParameters = "DescribeCacheParameters" 2770 2771// DescribeCacheParametersRequest generates a "aws/request.Request" representing the 2772// client's request for the DescribeCacheParameters operation. The "output" return 2773// value will be populated with the request's response once the request completes 2774// successfully. 2775// 2776// Use "Send" method on the returned Request to send the API call to the service. 2777// the "output" return value is not valid until after Send returns without error. 2778// 2779// See DescribeCacheParameters for more information on using the DescribeCacheParameters 2780// API call, and error handling. 2781// 2782// This method is useful when you want to inject custom logic or configuration 2783// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2784// 2785// 2786// // Example sending a request using the DescribeCacheParametersRequest method. 2787// req, resp := client.DescribeCacheParametersRequest(params) 2788// 2789// err := req.Send() 2790// if err == nil { // resp is now filled 2791// fmt.Println(resp) 2792// } 2793// 2794// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2795func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { 2796 op := &request.Operation{ 2797 Name: opDescribeCacheParameters, 2798 HTTPMethod: "POST", 2799 HTTPPath: "/", 2800 Paginator: &request.Paginator{ 2801 InputTokens: []string{"Marker"}, 2802 OutputTokens: []string{"Marker"}, 2803 LimitToken: "MaxRecords", 2804 TruncationToken: "", 2805 }, 2806 } 2807 2808 if input == nil { 2809 input = &DescribeCacheParametersInput{} 2810 } 2811 2812 output = &DescribeCacheParametersOutput{} 2813 req = c.newRequest(op, input, output) 2814 return 2815} 2816 2817// DescribeCacheParameters API operation for Amazon ElastiCache. 2818// 2819// Returns the detailed parameter list for a particular cache parameter group. 2820// 2821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2822// with awserr.Error's Code and Message methods to get detailed information about 2823// the error. 2824// 2825// See the AWS API reference guide for Amazon ElastiCache's 2826// API operation DescribeCacheParameters for usage and error information. 2827// 2828// Returned Error Codes: 2829// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2830// The requested cache parameter group name does not refer to an existing cache 2831// parameter group. 2832// 2833// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2834// The value for a parameter is invalid. 2835// 2836// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2837// Two or more incompatible parameters were specified. 2838// 2839// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2840func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { 2841 req, out := c.DescribeCacheParametersRequest(input) 2842 return out, req.Send() 2843} 2844 2845// DescribeCacheParametersWithContext is the same as DescribeCacheParameters with the addition of 2846// the ability to pass a context and additional request options. 2847// 2848// See DescribeCacheParameters for details on how to use this API operation. 2849// 2850// The context must be non-nil and will be used for request cancellation. If 2851// the context is nil a panic will occur. In the future the SDK may create 2852// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2853// for more information on using Contexts. 2854func (c *ElastiCache) DescribeCacheParametersWithContext(ctx aws.Context, input *DescribeCacheParametersInput, opts ...request.Option) (*DescribeCacheParametersOutput, error) { 2855 req, out := c.DescribeCacheParametersRequest(input) 2856 req.SetContext(ctx) 2857 req.ApplyOptions(opts...) 2858 return out, req.Send() 2859} 2860 2861// DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, 2862// calling the "fn" function with the response data for each page. To stop 2863// iterating, return false from the fn function. 2864// 2865// See DescribeCacheParameters method for more information on how to use this operation. 2866// 2867// Note: This operation can generate multiple requests to a service. 2868// 2869// // Example iterating over at most 3 pages of a DescribeCacheParameters operation. 2870// pageNum := 0 2871// err := client.DescribeCacheParametersPages(params, 2872// func(page *elasticache.DescribeCacheParametersOutput, lastPage bool) bool { 2873// pageNum++ 2874// fmt.Println(page) 2875// return pageNum <= 3 2876// }) 2877// 2878func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool) error { 2879 return c.DescribeCacheParametersPagesWithContext(aws.BackgroundContext(), input, fn) 2880} 2881 2882// DescribeCacheParametersPagesWithContext same as DescribeCacheParametersPages except 2883// it takes a Context and allows setting request options on the pages. 2884// 2885// The context must be non-nil and will be used for request cancellation. If 2886// the context is nil a panic will occur. In the future the SDK may create 2887// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2888// for more information on using Contexts. 2889func (c *ElastiCache) DescribeCacheParametersPagesWithContext(ctx aws.Context, input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool, opts ...request.Option) error { 2890 p := request.Pagination{ 2891 NewRequest: func() (*request.Request, error) { 2892 var inCpy *DescribeCacheParametersInput 2893 if input != nil { 2894 tmp := *input 2895 inCpy = &tmp 2896 } 2897 req, _ := c.DescribeCacheParametersRequest(inCpy) 2898 req.SetContext(ctx) 2899 req.ApplyOptions(opts...) 2900 return req, nil 2901 }, 2902 } 2903 2904 for p.Next() { 2905 if !fn(p.Page().(*DescribeCacheParametersOutput), !p.HasNextPage()) { 2906 break 2907 } 2908 } 2909 2910 return p.Err() 2911} 2912 2913const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" 2914 2915// DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the 2916// client's request for the DescribeCacheSecurityGroups operation. The "output" return 2917// value will be populated with the request's response once the request completes 2918// successfully. 2919// 2920// Use "Send" method on the returned Request to send the API call to the service. 2921// the "output" return value is not valid until after Send returns without error. 2922// 2923// See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups 2924// API call, and error handling. 2925// 2926// This method is useful when you want to inject custom logic or configuration 2927// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2928// 2929// 2930// // Example sending a request using the DescribeCacheSecurityGroupsRequest method. 2931// req, resp := client.DescribeCacheSecurityGroupsRequest(params) 2932// 2933// err := req.Send() 2934// if err == nil { // resp is now filled 2935// fmt.Println(resp) 2936// } 2937// 2938// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2939func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { 2940 op := &request.Operation{ 2941 Name: opDescribeCacheSecurityGroups, 2942 HTTPMethod: "POST", 2943 HTTPPath: "/", 2944 Paginator: &request.Paginator{ 2945 InputTokens: []string{"Marker"}, 2946 OutputTokens: []string{"Marker"}, 2947 LimitToken: "MaxRecords", 2948 TruncationToken: "", 2949 }, 2950 } 2951 2952 if input == nil { 2953 input = &DescribeCacheSecurityGroupsInput{} 2954 } 2955 2956 output = &DescribeCacheSecurityGroupsOutput{} 2957 req = c.newRequest(op, input, output) 2958 return 2959} 2960 2961// DescribeCacheSecurityGroups API operation for Amazon ElastiCache. 2962// 2963// Returns a list of cache security group descriptions. If a cache security 2964// group name is specified, the list contains only the description of that group. 2965// This applicable only when you have ElastiCache in Classic setup 2966// 2967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2968// with awserr.Error's Code and Message methods to get detailed information about 2969// the error. 2970// 2971// See the AWS API reference guide for Amazon ElastiCache's 2972// API operation DescribeCacheSecurityGroups for usage and error information. 2973// 2974// Returned Error Codes: 2975// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 2976// The requested cache security group name does not refer to an existing cache 2977// security group. 2978// 2979// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2980// The value for a parameter is invalid. 2981// 2982// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2983// Two or more incompatible parameters were specified. 2984// 2985// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2986func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { 2987 req, out := c.DescribeCacheSecurityGroupsRequest(input) 2988 return out, req.Send() 2989} 2990 2991// DescribeCacheSecurityGroupsWithContext is the same as DescribeCacheSecurityGroups with the addition of 2992// the ability to pass a context and additional request options. 2993// 2994// See DescribeCacheSecurityGroups for details on how to use this API operation. 2995// 2996// The context must be non-nil and will be used for request cancellation. If 2997// the context is nil a panic will occur. In the future the SDK may create 2998// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2999// for more information on using Contexts. 3000func (c *ElastiCache) DescribeCacheSecurityGroupsWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, opts ...request.Option) (*DescribeCacheSecurityGroupsOutput, error) { 3001 req, out := c.DescribeCacheSecurityGroupsRequest(input) 3002 req.SetContext(ctx) 3003 req.ApplyOptions(opts...) 3004 return out, req.Send() 3005} 3006 3007// DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, 3008// calling the "fn" function with the response data for each page. To stop 3009// iterating, return false from the fn function. 3010// 3011// See DescribeCacheSecurityGroups method for more information on how to use this operation. 3012// 3013// Note: This operation can generate multiple requests to a service. 3014// 3015// // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation. 3016// pageNum := 0 3017// err := client.DescribeCacheSecurityGroupsPages(params, 3018// func(page *elasticache.DescribeCacheSecurityGroupsOutput, lastPage bool) bool { 3019// pageNum++ 3020// fmt.Println(page) 3021// return pageNum <= 3 3022// }) 3023// 3024func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool) error { 3025 return c.DescribeCacheSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3026} 3027 3028// DescribeCacheSecurityGroupsPagesWithContext same as DescribeCacheSecurityGroupsPages except 3029// it takes a Context and allows setting request options on the pages. 3030// 3031// The context must be non-nil and will be used for request cancellation. If 3032// the context is nil a panic will occur. In the future the SDK may create 3033// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3034// for more information on using Contexts. 3035func (c *ElastiCache) DescribeCacheSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 3036 p := request.Pagination{ 3037 NewRequest: func() (*request.Request, error) { 3038 var inCpy *DescribeCacheSecurityGroupsInput 3039 if input != nil { 3040 tmp := *input 3041 inCpy = &tmp 3042 } 3043 req, _ := c.DescribeCacheSecurityGroupsRequest(inCpy) 3044 req.SetContext(ctx) 3045 req.ApplyOptions(opts...) 3046 return req, nil 3047 }, 3048 } 3049 3050 for p.Next() { 3051 if !fn(p.Page().(*DescribeCacheSecurityGroupsOutput), !p.HasNextPage()) { 3052 break 3053 } 3054 } 3055 3056 return p.Err() 3057} 3058 3059const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" 3060 3061// DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the 3062// client's request for the DescribeCacheSubnetGroups operation. The "output" return 3063// value will be populated with the request's response once the request completes 3064// successfully. 3065// 3066// Use "Send" method on the returned Request to send the API call to the service. 3067// the "output" return value is not valid until after Send returns without error. 3068// 3069// See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups 3070// API call, and error handling. 3071// 3072// This method is useful when you want to inject custom logic or configuration 3073// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3074// 3075// 3076// // Example sending a request using the DescribeCacheSubnetGroupsRequest method. 3077// req, resp := client.DescribeCacheSubnetGroupsRequest(params) 3078// 3079// err := req.Send() 3080// if err == nil { // resp is now filled 3081// fmt.Println(resp) 3082// } 3083// 3084// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3085func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { 3086 op := &request.Operation{ 3087 Name: opDescribeCacheSubnetGroups, 3088 HTTPMethod: "POST", 3089 HTTPPath: "/", 3090 Paginator: &request.Paginator{ 3091 InputTokens: []string{"Marker"}, 3092 OutputTokens: []string{"Marker"}, 3093 LimitToken: "MaxRecords", 3094 TruncationToken: "", 3095 }, 3096 } 3097 3098 if input == nil { 3099 input = &DescribeCacheSubnetGroupsInput{} 3100 } 3101 3102 output = &DescribeCacheSubnetGroupsOutput{} 3103 req = c.newRequest(op, input, output) 3104 return 3105} 3106 3107// DescribeCacheSubnetGroups API operation for Amazon ElastiCache. 3108// 3109// Returns a list of cache subnet group descriptions. If a subnet group name 3110// is specified, the list contains only the description of that group. This 3111// is applicable only when you have ElastiCache in VPC setup. All ElastiCache 3112// clusters now launch in VPC by default. 3113// 3114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3115// with awserr.Error's Code and Message methods to get detailed information about 3116// the error. 3117// 3118// See the AWS API reference guide for Amazon ElastiCache's 3119// API operation DescribeCacheSubnetGroups for usage and error information. 3120// 3121// Returned Error Codes: 3122// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 3123// The requested cache subnet group name does not refer to an existing cache 3124// subnet group. 3125// 3126// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 3127func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { 3128 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3129 return out, req.Send() 3130} 3131 3132// DescribeCacheSubnetGroupsWithContext is the same as DescribeCacheSubnetGroups with the addition of 3133// the ability to pass a context and additional request options. 3134// 3135// See DescribeCacheSubnetGroups for details on how to use this API operation. 3136// 3137// The context must be non-nil and will be used for request cancellation. If 3138// the context is nil a panic will occur. In the future the SDK may create 3139// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3140// for more information on using Contexts. 3141func (c *ElastiCache) DescribeCacheSubnetGroupsWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, opts ...request.Option) (*DescribeCacheSubnetGroupsOutput, error) { 3142 req, out := c.DescribeCacheSubnetGroupsRequest(input) 3143 req.SetContext(ctx) 3144 req.ApplyOptions(opts...) 3145 return out, req.Send() 3146} 3147 3148// DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, 3149// calling the "fn" function with the response data for each page. To stop 3150// iterating, return false from the fn function. 3151// 3152// See DescribeCacheSubnetGroups method for more information on how to use this operation. 3153// 3154// Note: This operation can generate multiple requests to a service. 3155// 3156// // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation. 3157// pageNum := 0 3158// err := client.DescribeCacheSubnetGroupsPages(params, 3159// func(page *elasticache.DescribeCacheSubnetGroupsOutput, lastPage bool) bool { 3160// pageNum++ 3161// fmt.Println(page) 3162// return pageNum <= 3 3163// }) 3164// 3165func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool) error { 3166 return c.DescribeCacheSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3167} 3168 3169// DescribeCacheSubnetGroupsPagesWithContext same as DescribeCacheSubnetGroupsPages except 3170// it takes a Context and allows setting request options on the pages. 3171// 3172// The context must be non-nil and will be used for request cancellation. If 3173// the context is nil a panic will occur. In the future the SDK may create 3174// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3175// for more information on using Contexts. 3176func (c *ElastiCache) DescribeCacheSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 3177 p := request.Pagination{ 3178 NewRequest: func() (*request.Request, error) { 3179 var inCpy *DescribeCacheSubnetGroupsInput 3180 if input != nil { 3181 tmp := *input 3182 inCpy = &tmp 3183 } 3184 req, _ := c.DescribeCacheSubnetGroupsRequest(inCpy) 3185 req.SetContext(ctx) 3186 req.ApplyOptions(opts...) 3187 return req, nil 3188 }, 3189 } 3190 3191 for p.Next() { 3192 if !fn(p.Page().(*DescribeCacheSubnetGroupsOutput), !p.HasNextPage()) { 3193 break 3194 } 3195 } 3196 3197 return p.Err() 3198} 3199 3200const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" 3201 3202// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the 3203// client's request for the DescribeEngineDefaultParameters operation. The "output" return 3204// value will be populated with the request's response once the request completes 3205// successfully. 3206// 3207// Use "Send" method on the returned Request to send the API call to the service. 3208// the "output" return value is not valid until after Send returns without error. 3209// 3210// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters 3211// API call, and error handling. 3212// 3213// This method is useful when you want to inject custom logic or configuration 3214// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3215// 3216// 3217// // Example sending a request using the DescribeEngineDefaultParametersRequest method. 3218// req, resp := client.DescribeEngineDefaultParametersRequest(params) 3219// 3220// err := req.Send() 3221// if err == nil { // resp is now filled 3222// fmt.Println(resp) 3223// } 3224// 3225// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3226func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { 3227 op := &request.Operation{ 3228 Name: opDescribeEngineDefaultParameters, 3229 HTTPMethod: "POST", 3230 HTTPPath: "/", 3231 Paginator: &request.Paginator{ 3232 InputTokens: []string{"Marker"}, 3233 OutputTokens: []string{"EngineDefaults.Marker"}, 3234 LimitToken: "MaxRecords", 3235 TruncationToken: "", 3236 }, 3237 } 3238 3239 if input == nil { 3240 input = &DescribeEngineDefaultParametersInput{} 3241 } 3242 3243 output = &DescribeEngineDefaultParametersOutput{} 3244 req = c.newRequest(op, input, output) 3245 return 3246} 3247 3248// DescribeEngineDefaultParameters API operation for Amazon ElastiCache. 3249// 3250// Returns the default engine and system parameter information for the specified 3251// cache engine. 3252// 3253// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3254// with awserr.Error's Code and Message methods to get detailed information about 3255// the error. 3256// 3257// See the AWS API reference guide for Amazon ElastiCache's 3258// API operation DescribeEngineDefaultParameters for usage and error information. 3259// 3260// Returned Error Codes: 3261// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3262// The value for a parameter is invalid. 3263// 3264// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3265// Two or more incompatible parameters were specified. 3266// 3267// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 3268func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { 3269 req, out := c.DescribeEngineDefaultParametersRequest(input) 3270 return out, req.Send() 3271} 3272 3273// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of 3274// the ability to pass a context and additional request options. 3275// 3276// See DescribeEngineDefaultParameters for details on how to use this API operation. 3277// 3278// The context must be non-nil and will be used for request cancellation. If 3279// the context is nil a panic will occur. In the future the SDK may create 3280// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3281// for more information on using Contexts. 3282func (c *ElastiCache) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) { 3283 req, out := c.DescribeEngineDefaultParametersRequest(input) 3284 req.SetContext(ctx) 3285 req.ApplyOptions(opts...) 3286 return out, req.Send() 3287} 3288 3289// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, 3290// calling the "fn" function with the response data for each page. To stop 3291// iterating, return false from the fn function. 3292// 3293// See DescribeEngineDefaultParameters method for more information on how to use this operation. 3294// 3295// Note: This operation can generate multiple requests to a service. 3296// 3297// // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation. 3298// pageNum := 0 3299// err := client.DescribeEngineDefaultParametersPages(params, 3300// func(page *elasticache.DescribeEngineDefaultParametersOutput, lastPage bool) bool { 3301// pageNum++ 3302// fmt.Println(page) 3303// return pageNum <= 3 3304// }) 3305// 3306func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error { 3307 return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3308} 3309 3310// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except 3311// it takes a Context and allows setting request options on the pages. 3312// 3313// The context must be non-nil and will be used for request cancellation. If 3314// the context is nil a panic will occur. In the future the SDK may create 3315// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3316// for more information on using Contexts. 3317func (c *ElastiCache) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error { 3318 p := request.Pagination{ 3319 NewRequest: func() (*request.Request, error) { 3320 var inCpy *DescribeEngineDefaultParametersInput 3321 if input != nil { 3322 tmp := *input 3323 inCpy = &tmp 3324 } 3325 req, _ := c.DescribeEngineDefaultParametersRequest(inCpy) 3326 req.SetContext(ctx) 3327 req.ApplyOptions(opts...) 3328 return req, nil 3329 }, 3330 } 3331 3332 for p.Next() { 3333 if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) { 3334 break 3335 } 3336 } 3337 3338 return p.Err() 3339} 3340 3341const opDescribeEvents = "DescribeEvents" 3342 3343// DescribeEventsRequest generates a "aws/request.Request" representing the 3344// client's request for the DescribeEvents operation. The "output" return 3345// value will be populated with the request's response once the request completes 3346// successfully. 3347// 3348// Use "Send" method on the returned Request to send the API call to the service. 3349// the "output" return value is not valid until after Send returns without error. 3350// 3351// See DescribeEvents for more information on using the DescribeEvents 3352// API call, and error handling. 3353// 3354// This method is useful when you want to inject custom logic or configuration 3355// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3356// 3357// 3358// // Example sending a request using the DescribeEventsRequest method. 3359// req, resp := client.DescribeEventsRequest(params) 3360// 3361// err := req.Send() 3362// if err == nil { // resp is now filled 3363// fmt.Println(resp) 3364// } 3365// 3366// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3367func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 3368 op := &request.Operation{ 3369 Name: opDescribeEvents, 3370 HTTPMethod: "POST", 3371 HTTPPath: "/", 3372 Paginator: &request.Paginator{ 3373 InputTokens: []string{"Marker"}, 3374 OutputTokens: []string{"Marker"}, 3375 LimitToken: "MaxRecords", 3376 TruncationToken: "", 3377 }, 3378 } 3379 3380 if input == nil { 3381 input = &DescribeEventsInput{} 3382 } 3383 3384 output = &DescribeEventsOutput{} 3385 req = c.newRequest(op, input, output) 3386 return 3387} 3388 3389// DescribeEvents API operation for Amazon ElastiCache. 3390// 3391// Returns events related to clusters, cache security groups, and cache parameter 3392// groups. You can obtain events specific to a particular cluster, cache security 3393// group, or cache parameter group by providing the name as a parameter. 3394// 3395// By default, only the events occurring within the last hour are returned; 3396// however, you can retrieve up to 14 days' worth of events if necessary. 3397// 3398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3399// with awserr.Error's Code and Message methods to get detailed information about 3400// the error. 3401// 3402// See the AWS API reference guide for Amazon ElastiCache's 3403// API operation DescribeEvents for usage and error information. 3404// 3405// Returned Error Codes: 3406// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3407// The value for a parameter is invalid. 3408// 3409// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3410// Two or more incompatible parameters were specified. 3411// 3412// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3413func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 3414 req, out := c.DescribeEventsRequest(input) 3415 return out, req.Send() 3416} 3417 3418// DescribeEventsWithContext is the same as DescribeEvents with the addition of 3419// the ability to pass a context and additional request options. 3420// 3421// See DescribeEvents for details on how to use this API operation. 3422// 3423// The context must be non-nil and will be used for request cancellation. If 3424// the context is nil a panic will occur. In the future the SDK may create 3425// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3426// for more information on using Contexts. 3427func (c *ElastiCache) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 3428 req, out := c.DescribeEventsRequest(input) 3429 req.SetContext(ctx) 3430 req.ApplyOptions(opts...) 3431 return out, req.Send() 3432} 3433 3434// DescribeEventsPages iterates over the pages of a DescribeEvents operation, 3435// calling the "fn" function with the response data for each page. To stop 3436// iterating, return false from the fn function. 3437// 3438// See DescribeEvents method for more information on how to use this operation. 3439// 3440// Note: This operation can generate multiple requests to a service. 3441// 3442// // Example iterating over at most 3 pages of a DescribeEvents operation. 3443// pageNum := 0 3444// err := client.DescribeEventsPages(params, 3445// func(page *elasticache.DescribeEventsOutput, lastPage bool) bool { 3446// pageNum++ 3447// fmt.Println(page) 3448// return pageNum <= 3 3449// }) 3450// 3451func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 3452 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 3453} 3454 3455// DescribeEventsPagesWithContext same as DescribeEventsPages except 3456// it takes a Context and allows setting request options on the pages. 3457// 3458// The context must be non-nil and will be used for request cancellation. If 3459// the context is nil a panic will occur. In the future the SDK may create 3460// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3461// for more information on using Contexts. 3462func (c *ElastiCache) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 3463 p := request.Pagination{ 3464 NewRequest: func() (*request.Request, error) { 3465 var inCpy *DescribeEventsInput 3466 if input != nil { 3467 tmp := *input 3468 inCpy = &tmp 3469 } 3470 req, _ := c.DescribeEventsRequest(inCpy) 3471 req.SetContext(ctx) 3472 req.ApplyOptions(opts...) 3473 return req, nil 3474 }, 3475 } 3476 3477 for p.Next() { 3478 if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { 3479 break 3480 } 3481 } 3482 3483 return p.Err() 3484} 3485 3486const opDescribeGlobalReplicationGroups = "DescribeGlobalReplicationGroups" 3487 3488// DescribeGlobalReplicationGroupsRequest generates a "aws/request.Request" representing the 3489// client's request for the DescribeGlobalReplicationGroups operation. The "output" return 3490// value will be populated with the request's response once the request completes 3491// successfully. 3492// 3493// Use "Send" method on the returned Request to send the API call to the service. 3494// the "output" return value is not valid until after Send returns without error. 3495// 3496// See DescribeGlobalReplicationGroups for more information on using the DescribeGlobalReplicationGroups 3497// API call, and error handling. 3498// 3499// This method is useful when you want to inject custom logic or configuration 3500// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3501// 3502// 3503// // Example sending a request using the DescribeGlobalReplicationGroupsRequest method. 3504// req, resp := client.DescribeGlobalReplicationGroupsRequest(params) 3505// 3506// err := req.Send() 3507// if err == nil { // resp is now filled 3508// fmt.Println(resp) 3509// } 3510// 3511// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 3512func (c *ElastiCache) DescribeGlobalReplicationGroupsRequest(input *DescribeGlobalReplicationGroupsInput) (req *request.Request, output *DescribeGlobalReplicationGroupsOutput) { 3513 op := &request.Operation{ 3514 Name: opDescribeGlobalReplicationGroups, 3515 HTTPMethod: "POST", 3516 HTTPPath: "/", 3517 Paginator: &request.Paginator{ 3518 InputTokens: []string{"Marker"}, 3519 OutputTokens: []string{"Marker"}, 3520 LimitToken: "MaxRecords", 3521 TruncationToken: "", 3522 }, 3523 } 3524 3525 if input == nil { 3526 input = &DescribeGlobalReplicationGroupsInput{} 3527 } 3528 3529 output = &DescribeGlobalReplicationGroupsOutput{} 3530 req = c.newRequest(op, input, output) 3531 return 3532} 3533 3534// DescribeGlobalReplicationGroups API operation for Amazon ElastiCache. 3535// 3536// Returns information about a particular global replication group. If no identifier 3537// is specified, returns information about all Global Datastores. 3538// 3539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3540// with awserr.Error's Code and Message methods to get detailed information about 3541// the error. 3542// 3543// See the AWS API reference guide for Amazon ElastiCache's 3544// API operation DescribeGlobalReplicationGroups for usage and error information. 3545// 3546// Returned Error Codes: 3547// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 3548// The Global Datastore does not exist 3549// 3550// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3551// The value for a parameter is invalid. 3552// 3553// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3554// Two or more incompatible parameters were specified. 3555// 3556// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeGlobalReplicationGroups 3557func (c *ElastiCache) DescribeGlobalReplicationGroups(input *DescribeGlobalReplicationGroupsInput) (*DescribeGlobalReplicationGroupsOutput, error) { 3558 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 3559 return out, req.Send() 3560} 3561 3562// DescribeGlobalReplicationGroupsWithContext is the same as DescribeGlobalReplicationGroups with the addition of 3563// the ability to pass a context and additional request options. 3564// 3565// See DescribeGlobalReplicationGroups for details on how to use this API operation. 3566// 3567// The context must be non-nil and will be used for request cancellation. If 3568// the context is nil a panic will occur. In the future the SDK may create 3569// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3570// for more information on using Contexts. 3571func (c *ElastiCache) DescribeGlobalReplicationGroupsWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, opts ...request.Option) (*DescribeGlobalReplicationGroupsOutput, error) { 3572 req, out := c.DescribeGlobalReplicationGroupsRequest(input) 3573 req.SetContext(ctx) 3574 req.ApplyOptions(opts...) 3575 return out, req.Send() 3576} 3577 3578// DescribeGlobalReplicationGroupsPages iterates over the pages of a DescribeGlobalReplicationGroups operation, 3579// calling the "fn" function with the response data for each page. To stop 3580// iterating, return false from the fn function. 3581// 3582// See DescribeGlobalReplicationGroups method for more information on how to use this operation. 3583// 3584// Note: This operation can generate multiple requests to a service. 3585// 3586// // Example iterating over at most 3 pages of a DescribeGlobalReplicationGroups operation. 3587// pageNum := 0 3588// err := client.DescribeGlobalReplicationGroupsPages(params, 3589// func(page *elasticache.DescribeGlobalReplicationGroupsOutput, lastPage bool) bool { 3590// pageNum++ 3591// fmt.Println(page) 3592// return pageNum <= 3 3593// }) 3594// 3595func (c *ElastiCache) DescribeGlobalReplicationGroupsPages(input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool) error { 3596 return c.DescribeGlobalReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3597} 3598 3599// DescribeGlobalReplicationGroupsPagesWithContext same as DescribeGlobalReplicationGroupsPages except 3600// it takes a Context and allows setting request options on the pages. 3601// 3602// The context must be non-nil and will be used for request cancellation. If 3603// the context is nil a panic will occur. In the future the SDK may create 3604// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3605// for more information on using Contexts. 3606func (c *ElastiCache) DescribeGlobalReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeGlobalReplicationGroupsInput, fn func(*DescribeGlobalReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 3607 p := request.Pagination{ 3608 NewRequest: func() (*request.Request, error) { 3609 var inCpy *DescribeGlobalReplicationGroupsInput 3610 if input != nil { 3611 tmp := *input 3612 inCpy = &tmp 3613 } 3614 req, _ := c.DescribeGlobalReplicationGroupsRequest(inCpy) 3615 req.SetContext(ctx) 3616 req.ApplyOptions(opts...) 3617 return req, nil 3618 }, 3619 } 3620 3621 for p.Next() { 3622 if !fn(p.Page().(*DescribeGlobalReplicationGroupsOutput), !p.HasNextPage()) { 3623 break 3624 } 3625 } 3626 3627 return p.Err() 3628} 3629 3630const opDescribeReplicationGroups = "DescribeReplicationGroups" 3631 3632// DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the 3633// client's request for the DescribeReplicationGroups operation. The "output" return 3634// value will be populated with the request's response once the request completes 3635// successfully. 3636// 3637// Use "Send" method on the returned Request to send the API call to the service. 3638// the "output" return value is not valid until after Send returns without error. 3639// 3640// See DescribeReplicationGroups for more information on using the DescribeReplicationGroups 3641// API call, and error handling. 3642// 3643// This method is useful when you want to inject custom logic or configuration 3644// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3645// 3646// 3647// // Example sending a request using the DescribeReplicationGroupsRequest method. 3648// req, resp := client.DescribeReplicationGroupsRequest(params) 3649// 3650// err := req.Send() 3651// if err == nil { // resp is now filled 3652// fmt.Println(resp) 3653// } 3654// 3655// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3656func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { 3657 op := &request.Operation{ 3658 Name: opDescribeReplicationGroups, 3659 HTTPMethod: "POST", 3660 HTTPPath: "/", 3661 Paginator: &request.Paginator{ 3662 InputTokens: []string{"Marker"}, 3663 OutputTokens: []string{"Marker"}, 3664 LimitToken: "MaxRecords", 3665 TruncationToken: "", 3666 }, 3667 } 3668 3669 if input == nil { 3670 input = &DescribeReplicationGroupsInput{} 3671 } 3672 3673 output = &DescribeReplicationGroupsOutput{} 3674 req = c.newRequest(op, input, output) 3675 return 3676} 3677 3678// DescribeReplicationGroups API operation for Amazon ElastiCache. 3679// 3680// Returns information about a particular replication group. If no identifier 3681// is specified, DescribeReplicationGroups returns information about all replication 3682// groups. 3683// 3684// This operation is valid for Redis only. 3685// 3686// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3687// with awserr.Error's Code and Message methods to get detailed information about 3688// the error. 3689// 3690// See the AWS API reference guide for Amazon ElastiCache's 3691// API operation DescribeReplicationGroups for usage and error information. 3692// 3693// Returned Error Codes: 3694// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 3695// The specified replication group does not exist. 3696// 3697// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3698// The value for a parameter is invalid. 3699// 3700// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3701// Two or more incompatible parameters were specified. 3702// 3703// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3704func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { 3705 req, out := c.DescribeReplicationGroupsRequest(input) 3706 return out, req.Send() 3707} 3708 3709// DescribeReplicationGroupsWithContext is the same as DescribeReplicationGroups with the addition of 3710// the ability to pass a context and additional request options. 3711// 3712// See DescribeReplicationGroups for details on how to use this API operation. 3713// 3714// The context must be non-nil and will be used for request cancellation. If 3715// the context is nil a panic will occur. In the future the SDK may create 3716// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3717// for more information on using Contexts. 3718func (c *ElastiCache) DescribeReplicationGroupsWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, opts ...request.Option) (*DescribeReplicationGroupsOutput, error) { 3719 req, out := c.DescribeReplicationGroupsRequest(input) 3720 req.SetContext(ctx) 3721 req.ApplyOptions(opts...) 3722 return out, req.Send() 3723} 3724 3725// DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, 3726// calling the "fn" function with the response data for each page. To stop 3727// iterating, return false from the fn function. 3728// 3729// See DescribeReplicationGroups method for more information on how to use this operation. 3730// 3731// Note: This operation can generate multiple requests to a service. 3732// 3733// // Example iterating over at most 3 pages of a DescribeReplicationGroups operation. 3734// pageNum := 0 3735// err := client.DescribeReplicationGroupsPages(params, 3736// func(page *elasticache.DescribeReplicationGroupsOutput, lastPage bool) bool { 3737// pageNum++ 3738// fmt.Println(page) 3739// return pageNum <= 3 3740// }) 3741// 3742func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool) error { 3743 return c.DescribeReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3744} 3745 3746// DescribeReplicationGroupsPagesWithContext same as DescribeReplicationGroupsPages except 3747// it takes a Context and allows setting request options on the pages. 3748// 3749// The context must be non-nil and will be used for request cancellation. If 3750// the context is nil a panic will occur. In the future the SDK may create 3751// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3752// for more information on using Contexts. 3753func (c *ElastiCache) DescribeReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 3754 p := request.Pagination{ 3755 NewRequest: func() (*request.Request, error) { 3756 var inCpy *DescribeReplicationGroupsInput 3757 if input != nil { 3758 tmp := *input 3759 inCpy = &tmp 3760 } 3761 req, _ := c.DescribeReplicationGroupsRequest(inCpy) 3762 req.SetContext(ctx) 3763 req.ApplyOptions(opts...) 3764 return req, nil 3765 }, 3766 } 3767 3768 for p.Next() { 3769 if !fn(p.Page().(*DescribeReplicationGroupsOutput), !p.HasNextPage()) { 3770 break 3771 } 3772 } 3773 3774 return p.Err() 3775} 3776 3777const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" 3778 3779// DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the 3780// client's request for the DescribeReservedCacheNodes operation. The "output" return 3781// value will be populated with the request's response once the request completes 3782// successfully. 3783// 3784// Use "Send" method on the returned Request to send the API call to the service. 3785// the "output" return value is not valid until after Send returns without error. 3786// 3787// See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes 3788// API call, and error handling. 3789// 3790// This method is useful when you want to inject custom logic or configuration 3791// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3792// 3793// 3794// // Example sending a request using the DescribeReservedCacheNodesRequest method. 3795// req, resp := client.DescribeReservedCacheNodesRequest(params) 3796// 3797// err := req.Send() 3798// if err == nil { // resp is now filled 3799// fmt.Println(resp) 3800// } 3801// 3802// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3803func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { 3804 op := &request.Operation{ 3805 Name: opDescribeReservedCacheNodes, 3806 HTTPMethod: "POST", 3807 HTTPPath: "/", 3808 Paginator: &request.Paginator{ 3809 InputTokens: []string{"Marker"}, 3810 OutputTokens: []string{"Marker"}, 3811 LimitToken: "MaxRecords", 3812 TruncationToken: "", 3813 }, 3814 } 3815 3816 if input == nil { 3817 input = &DescribeReservedCacheNodesInput{} 3818 } 3819 3820 output = &DescribeReservedCacheNodesOutput{} 3821 req = c.newRequest(op, input, output) 3822 return 3823} 3824 3825// DescribeReservedCacheNodes API operation for Amazon ElastiCache. 3826// 3827// Returns information about reserved cache nodes for this account, or about 3828// a specified reserved cache node. 3829// 3830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3831// with awserr.Error's Code and Message methods to get detailed information about 3832// the error. 3833// 3834// See the AWS API reference guide for Amazon ElastiCache's 3835// API operation DescribeReservedCacheNodes for usage and error information. 3836// 3837// Returned Error Codes: 3838// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 3839// The requested reserved cache node was not found. 3840// 3841// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3842// The value for a parameter is invalid. 3843// 3844// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3845// Two or more incompatible parameters were specified. 3846// 3847// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3848func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { 3849 req, out := c.DescribeReservedCacheNodesRequest(input) 3850 return out, req.Send() 3851} 3852 3853// DescribeReservedCacheNodesWithContext is the same as DescribeReservedCacheNodes with the addition of 3854// the ability to pass a context and additional request options. 3855// 3856// See DescribeReservedCacheNodes for details on how to use this API operation. 3857// 3858// The context must be non-nil and will be used for request cancellation. If 3859// the context is nil a panic will occur. In the future the SDK may create 3860// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3861// for more information on using Contexts. 3862func (c *ElastiCache) DescribeReservedCacheNodesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, opts ...request.Option) (*DescribeReservedCacheNodesOutput, error) { 3863 req, out := c.DescribeReservedCacheNodesRequest(input) 3864 req.SetContext(ctx) 3865 req.ApplyOptions(opts...) 3866 return out, req.Send() 3867} 3868 3869// DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, 3870// calling the "fn" function with the response data for each page. To stop 3871// iterating, return false from the fn function. 3872// 3873// See DescribeReservedCacheNodes method for more information on how to use this operation. 3874// 3875// Note: This operation can generate multiple requests to a service. 3876// 3877// // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation. 3878// pageNum := 0 3879// err := client.DescribeReservedCacheNodesPages(params, 3880// func(page *elasticache.DescribeReservedCacheNodesOutput, lastPage bool) bool { 3881// pageNum++ 3882// fmt.Println(page) 3883// return pageNum <= 3 3884// }) 3885// 3886func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool) error { 3887 return c.DescribeReservedCacheNodesPagesWithContext(aws.BackgroundContext(), input, fn) 3888} 3889 3890// DescribeReservedCacheNodesPagesWithContext same as DescribeReservedCacheNodesPages except 3891// it takes a Context and allows setting request options on the pages. 3892// 3893// The context must be non-nil and will be used for request cancellation. If 3894// the context is nil a panic will occur. In the future the SDK may create 3895// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3896// for more information on using Contexts. 3897func (c *ElastiCache) DescribeReservedCacheNodesPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool, opts ...request.Option) error { 3898 p := request.Pagination{ 3899 NewRequest: func() (*request.Request, error) { 3900 var inCpy *DescribeReservedCacheNodesInput 3901 if input != nil { 3902 tmp := *input 3903 inCpy = &tmp 3904 } 3905 req, _ := c.DescribeReservedCacheNodesRequest(inCpy) 3906 req.SetContext(ctx) 3907 req.ApplyOptions(opts...) 3908 return req, nil 3909 }, 3910 } 3911 3912 for p.Next() { 3913 if !fn(p.Page().(*DescribeReservedCacheNodesOutput), !p.HasNextPage()) { 3914 break 3915 } 3916 } 3917 3918 return p.Err() 3919} 3920 3921const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" 3922 3923// DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the 3924// client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return 3925// value will be populated with the request's response once the request completes 3926// successfully. 3927// 3928// Use "Send" method on the returned Request to send the API call to the service. 3929// the "output" return value is not valid until after Send returns without error. 3930// 3931// See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings 3932// API call, and error handling. 3933// 3934// This method is useful when you want to inject custom logic or configuration 3935// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3936// 3937// 3938// // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. 3939// req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) 3940// 3941// err := req.Send() 3942// if err == nil { // resp is now filled 3943// fmt.Println(resp) 3944// } 3945// 3946// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3947func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { 3948 op := &request.Operation{ 3949 Name: opDescribeReservedCacheNodesOfferings, 3950 HTTPMethod: "POST", 3951 HTTPPath: "/", 3952 Paginator: &request.Paginator{ 3953 InputTokens: []string{"Marker"}, 3954 OutputTokens: []string{"Marker"}, 3955 LimitToken: "MaxRecords", 3956 TruncationToken: "", 3957 }, 3958 } 3959 3960 if input == nil { 3961 input = &DescribeReservedCacheNodesOfferingsInput{} 3962 } 3963 3964 output = &DescribeReservedCacheNodesOfferingsOutput{} 3965 req = c.newRequest(op, input, output) 3966 return 3967} 3968 3969// DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. 3970// 3971// Lists available reserved cache node offerings. 3972// 3973// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3974// with awserr.Error's Code and Message methods to get detailed information about 3975// the error. 3976// 3977// See the AWS API reference guide for Amazon ElastiCache's 3978// API operation DescribeReservedCacheNodesOfferings for usage and error information. 3979// 3980// Returned Error Codes: 3981// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 3982// The requested cache node offering does not exist. 3983// 3984// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3985// The value for a parameter is invalid. 3986// 3987// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3988// Two or more incompatible parameters were specified. 3989// 3990// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3991func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { 3992 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 3993 return out, req.Send() 3994} 3995 3996// DescribeReservedCacheNodesOfferingsWithContext is the same as DescribeReservedCacheNodesOfferings with the addition of 3997// the ability to pass a context and additional request options. 3998// 3999// See DescribeReservedCacheNodesOfferings for details on how to use this API operation. 4000// 4001// The context must be non-nil and will be used for request cancellation. If 4002// the context is nil a panic will occur. In the future the SDK may create 4003// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4004// for more information on using Contexts. 4005func (c *ElastiCache) DescribeReservedCacheNodesOfferingsWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, opts ...request.Option) (*DescribeReservedCacheNodesOfferingsOutput, error) { 4006 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 4007 req.SetContext(ctx) 4008 req.ApplyOptions(opts...) 4009 return out, req.Send() 4010} 4011 4012// DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, 4013// calling the "fn" function with the response data for each page. To stop 4014// iterating, return false from the fn function. 4015// 4016// See DescribeReservedCacheNodesOfferings method for more information on how to use this operation. 4017// 4018// Note: This operation can generate multiple requests to a service. 4019// 4020// // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation. 4021// pageNum := 0 4022// err := client.DescribeReservedCacheNodesOfferingsPages(params, 4023// func(page *elasticache.DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { 4024// pageNum++ 4025// fmt.Println(page) 4026// return pageNum <= 3 4027// }) 4028// 4029func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool) error { 4030 return c.DescribeReservedCacheNodesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 4031} 4032 4033// DescribeReservedCacheNodesOfferingsPagesWithContext same as DescribeReservedCacheNodesOfferingsPages except 4034// it takes a Context and allows setting request options on the pages. 4035// 4036// The context must be non-nil and will be used for request cancellation. If 4037// the context is nil a panic will occur. In the future the SDK may create 4038// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4039// for more information on using Contexts. 4040func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool, opts ...request.Option) error { 4041 p := request.Pagination{ 4042 NewRequest: func() (*request.Request, error) { 4043 var inCpy *DescribeReservedCacheNodesOfferingsInput 4044 if input != nil { 4045 tmp := *input 4046 inCpy = &tmp 4047 } 4048 req, _ := c.DescribeReservedCacheNodesOfferingsRequest(inCpy) 4049 req.SetContext(ctx) 4050 req.ApplyOptions(opts...) 4051 return req, nil 4052 }, 4053 } 4054 4055 for p.Next() { 4056 if !fn(p.Page().(*DescribeReservedCacheNodesOfferingsOutput), !p.HasNextPage()) { 4057 break 4058 } 4059 } 4060 4061 return p.Err() 4062} 4063 4064const opDescribeServiceUpdates = "DescribeServiceUpdates" 4065 4066// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the 4067// client's request for the DescribeServiceUpdates operation. The "output" return 4068// value will be populated with the request's response once the request completes 4069// successfully. 4070// 4071// Use "Send" method on the returned Request to send the API call to the service. 4072// the "output" return value is not valid until after Send returns without error. 4073// 4074// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates 4075// API call, and error handling. 4076// 4077// This method is useful when you want to inject custom logic or configuration 4078// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4079// 4080// 4081// // Example sending a request using the DescribeServiceUpdatesRequest method. 4082// req, resp := client.DescribeServiceUpdatesRequest(params) 4083// 4084// err := req.Send() 4085// if err == nil { // resp is now filled 4086// fmt.Println(resp) 4087// } 4088// 4089// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4090func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { 4091 op := &request.Operation{ 4092 Name: opDescribeServiceUpdates, 4093 HTTPMethod: "POST", 4094 HTTPPath: "/", 4095 Paginator: &request.Paginator{ 4096 InputTokens: []string{"Marker"}, 4097 OutputTokens: []string{"Marker"}, 4098 LimitToken: "MaxRecords", 4099 TruncationToken: "", 4100 }, 4101 } 4102 4103 if input == nil { 4104 input = &DescribeServiceUpdatesInput{} 4105 } 4106 4107 output = &DescribeServiceUpdatesOutput{} 4108 req = c.newRequest(op, input, output) 4109 return 4110} 4111 4112// DescribeServiceUpdates API operation for Amazon ElastiCache. 4113// 4114// Returns details of the service updates 4115// 4116// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4117// with awserr.Error's Code and Message methods to get detailed information about 4118// the error. 4119// 4120// See the AWS API reference guide for Amazon ElastiCache's 4121// API operation DescribeServiceUpdates for usage and error information. 4122// 4123// Returned Error Codes: 4124// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 4125// The service update doesn't exist 4126// 4127// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4128// The value for a parameter is invalid. 4129// 4130// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4131// Two or more incompatible parameters were specified. 4132// 4133// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 4134func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { 4135 req, out := c.DescribeServiceUpdatesRequest(input) 4136 return out, req.Send() 4137} 4138 4139// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of 4140// the ability to pass a context and additional request options. 4141// 4142// See DescribeServiceUpdates for details on how to use this API operation. 4143// 4144// The context must be non-nil and will be used for request cancellation. If 4145// the context is nil a panic will occur. In the future the SDK may create 4146// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4147// for more information on using Contexts. 4148func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { 4149 req, out := c.DescribeServiceUpdatesRequest(input) 4150 req.SetContext(ctx) 4151 req.ApplyOptions(opts...) 4152 return out, req.Send() 4153} 4154 4155// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, 4156// calling the "fn" function with the response data for each page. To stop 4157// iterating, return false from the fn function. 4158// 4159// See DescribeServiceUpdates method for more information on how to use this operation. 4160// 4161// Note: This operation can generate multiple requests to a service. 4162// 4163// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. 4164// pageNum := 0 4165// err := client.DescribeServiceUpdatesPages(params, 4166// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { 4167// pageNum++ 4168// fmt.Println(page) 4169// return pageNum <= 3 4170// }) 4171// 4172func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { 4173 return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 4174} 4175 4176// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except 4177// it takes a Context and allows setting request options on the pages. 4178// 4179// The context must be non-nil and will be used for request cancellation. If 4180// the context is nil a panic will occur. In the future the SDK may create 4181// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4182// for more information on using Contexts. 4183func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { 4184 p := request.Pagination{ 4185 NewRequest: func() (*request.Request, error) { 4186 var inCpy *DescribeServiceUpdatesInput 4187 if input != nil { 4188 tmp := *input 4189 inCpy = &tmp 4190 } 4191 req, _ := c.DescribeServiceUpdatesRequest(inCpy) 4192 req.SetContext(ctx) 4193 req.ApplyOptions(opts...) 4194 return req, nil 4195 }, 4196 } 4197 4198 for p.Next() { 4199 if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { 4200 break 4201 } 4202 } 4203 4204 return p.Err() 4205} 4206 4207const opDescribeSnapshots = "DescribeSnapshots" 4208 4209// DescribeSnapshotsRequest generates a "aws/request.Request" representing the 4210// client's request for the DescribeSnapshots operation. The "output" return 4211// value will be populated with the request's response once the request completes 4212// successfully. 4213// 4214// Use "Send" method on the returned Request to send the API call to the service. 4215// the "output" return value is not valid until after Send returns without error. 4216// 4217// See DescribeSnapshots for more information on using the DescribeSnapshots 4218// API call, and error handling. 4219// 4220// This method is useful when you want to inject custom logic or configuration 4221// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4222// 4223// 4224// // Example sending a request using the DescribeSnapshotsRequest method. 4225// req, resp := client.DescribeSnapshotsRequest(params) 4226// 4227// err := req.Send() 4228// if err == nil { // resp is now filled 4229// fmt.Println(resp) 4230// } 4231// 4232// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4233func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { 4234 op := &request.Operation{ 4235 Name: opDescribeSnapshots, 4236 HTTPMethod: "POST", 4237 HTTPPath: "/", 4238 Paginator: &request.Paginator{ 4239 InputTokens: []string{"Marker"}, 4240 OutputTokens: []string{"Marker"}, 4241 LimitToken: "MaxRecords", 4242 TruncationToken: "", 4243 }, 4244 } 4245 4246 if input == nil { 4247 input = &DescribeSnapshotsInput{} 4248 } 4249 4250 output = &DescribeSnapshotsOutput{} 4251 req = c.newRequest(op, input, output) 4252 return 4253} 4254 4255// DescribeSnapshots API operation for Amazon ElastiCache. 4256// 4257// Returns information about cluster or replication group snapshots. By default, 4258// DescribeSnapshots lists all of your snapshots; it can optionally describe 4259// a single snapshot, or just the snapshots associated with a particular cache 4260// cluster. 4261// 4262// This operation is valid for Redis only. 4263// 4264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4265// with awserr.Error's Code and Message methods to get detailed information about 4266// the error. 4267// 4268// See the AWS API reference guide for Amazon ElastiCache's 4269// API operation DescribeSnapshots for usage and error information. 4270// 4271// Returned Error Codes: 4272// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4273// The requested cluster ID does not refer to an existing cluster. 4274// 4275// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 4276// The requested snapshot name does not refer to an existing snapshot. 4277// 4278// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4279// The value for a parameter is invalid. 4280// 4281// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4282// Two or more incompatible parameters were specified. 4283// 4284// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 4285func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { 4286 req, out := c.DescribeSnapshotsRequest(input) 4287 return out, req.Send() 4288} 4289 4290// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of 4291// the ability to pass a context and additional request options. 4292// 4293// See DescribeSnapshots for details on how to use this API operation. 4294// 4295// The context must be non-nil and will be used for request cancellation. If 4296// the context is nil a panic will occur. In the future the SDK may create 4297// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4298// for more information on using Contexts. 4299func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { 4300 req, out := c.DescribeSnapshotsRequest(input) 4301 req.SetContext(ctx) 4302 req.ApplyOptions(opts...) 4303 return out, req.Send() 4304} 4305 4306// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, 4307// calling the "fn" function with the response data for each page. To stop 4308// iterating, return false from the fn function. 4309// 4310// See DescribeSnapshots method for more information on how to use this operation. 4311// 4312// Note: This operation can generate multiple requests to a service. 4313// 4314// // Example iterating over at most 3 pages of a DescribeSnapshots operation. 4315// pageNum := 0 4316// err := client.DescribeSnapshotsPages(params, 4317// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { 4318// pageNum++ 4319// fmt.Println(page) 4320// return pageNum <= 3 4321// }) 4322// 4323func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { 4324 return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 4325} 4326 4327// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except 4328// it takes a Context and allows setting request options on the pages. 4329// 4330// The context must be non-nil and will be used for request cancellation. If 4331// the context is nil a panic will occur. In the future the SDK may create 4332// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4333// for more information on using Contexts. 4334func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { 4335 p := request.Pagination{ 4336 NewRequest: func() (*request.Request, error) { 4337 var inCpy *DescribeSnapshotsInput 4338 if input != nil { 4339 tmp := *input 4340 inCpy = &tmp 4341 } 4342 req, _ := c.DescribeSnapshotsRequest(inCpy) 4343 req.SetContext(ctx) 4344 req.ApplyOptions(opts...) 4345 return req, nil 4346 }, 4347 } 4348 4349 for p.Next() { 4350 if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { 4351 break 4352 } 4353 } 4354 4355 return p.Err() 4356} 4357 4358const opDescribeUpdateActions = "DescribeUpdateActions" 4359 4360// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the 4361// client's request for the DescribeUpdateActions operation. The "output" return 4362// value will be populated with the request's response once the request completes 4363// successfully. 4364// 4365// Use "Send" method on the returned Request to send the API call to the service. 4366// the "output" return value is not valid until after Send returns without error. 4367// 4368// See DescribeUpdateActions for more information on using the DescribeUpdateActions 4369// API call, and error handling. 4370// 4371// This method is useful when you want to inject custom logic or configuration 4372// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4373// 4374// 4375// // Example sending a request using the DescribeUpdateActionsRequest method. 4376// req, resp := client.DescribeUpdateActionsRequest(params) 4377// 4378// err := req.Send() 4379// if err == nil { // resp is now filled 4380// fmt.Println(resp) 4381// } 4382// 4383// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4384func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { 4385 op := &request.Operation{ 4386 Name: opDescribeUpdateActions, 4387 HTTPMethod: "POST", 4388 HTTPPath: "/", 4389 Paginator: &request.Paginator{ 4390 InputTokens: []string{"Marker"}, 4391 OutputTokens: []string{"Marker"}, 4392 LimitToken: "MaxRecords", 4393 TruncationToken: "", 4394 }, 4395 } 4396 4397 if input == nil { 4398 input = &DescribeUpdateActionsInput{} 4399 } 4400 4401 output = &DescribeUpdateActionsOutput{} 4402 req = c.newRequest(op, input, output) 4403 return 4404} 4405 4406// DescribeUpdateActions API operation for Amazon ElastiCache. 4407// 4408// Returns details of the update actions 4409// 4410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4411// with awserr.Error's Code and Message methods to get detailed information about 4412// the error. 4413// 4414// See the AWS API reference guide for Amazon ElastiCache's 4415// API operation DescribeUpdateActions for usage and error information. 4416// 4417// Returned Error Codes: 4418// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4419// The value for a parameter is invalid. 4420// 4421// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4422// Two or more incompatible parameters were specified. 4423// 4424// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 4425func (c *ElastiCache) DescribeUpdateActions(input *DescribeUpdateActionsInput) (*DescribeUpdateActionsOutput, error) { 4426 req, out := c.DescribeUpdateActionsRequest(input) 4427 return out, req.Send() 4428} 4429 4430// DescribeUpdateActionsWithContext is the same as DescribeUpdateActions with the addition of 4431// the ability to pass a context and additional request options. 4432// 4433// See DescribeUpdateActions for details on how to use this API operation. 4434// 4435// The context must be non-nil and will be used for request cancellation. If 4436// the context is nil a panic will occur. In the future the SDK may create 4437// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4438// for more information on using Contexts. 4439func (c *ElastiCache) DescribeUpdateActionsWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, opts ...request.Option) (*DescribeUpdateActionsOutput, error) { 4440 req, out := c.DescribeUpdateActionsRequest(input) 4441 req.SetContext(ctx) 4442 req.ApplyOptions(opts...) 4443 return out, req.Send() 4444} 4445 4446// DescribeUpdateActionsPages iterates over the pages of a DescribeUpdateActions operation, 4447// calling the "fn" function with the response data for each page. To stop 4448// iterating, return false from the fn function. 4449// 4450// See DescribeUpdateActions method for more information on how to use this operation. 4451// 4452// Note: This operation can generate multiple requests to a service. 4453// 4454// // Example iterating over at most 3 pages of a DescribeUpdateActions operation. 4455// pageNum := 0 4456// err := client.DescribeUpdateActionsPages(params, 4457// func(page *elasticache.DescribeUpdateActionsOutput, lastPage bool) bool { 4458// pageNum++ 4459// fmt.Println(page) 4460// return pageNum <= 3 4461// }) 4462// 4463func (c *ElastiCache) DescribeUpdateActionsPages(input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool) error { 4464 return c.DescribeUpdateActionsPagesWithContext(aws.BackgroundContext(), input, fn) 4465} 4466 4467// DescribeUpdateActionsPagesWithContext same as DescribeUpdateActionsPages except 4468// it takes a Context and allows setting request options on the pages. 4469// 4470// The context must be non-nil and will be used for request cancellation. If 4471// the context is nil a panic will occur. In the future the SDK may create 4472// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4473// for more information on using Contexts. 4474func (c *ElastiCache) DescribeUpdateActionsPagesWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool, opts ...request.Option) error { 4475 p := request.Pagination{ 4476 NewRequest: func() (*request.Request, error) { 4477 var inCpy *DescribeUpdateActionsInput 4478 if input != nil { 4479 tmp := *input 4480 inCpy = &tmp 4481 } 4482 req, _ := c.DescribeUpdateActionsRequest(inCpy) 4483 req.SetContext(ctx) 4484 req.ApplyOptions(opts...) 4485 return req, nil 4486 }, 4487 } 4488 4489 for p.Next() { 4490 if !fn(p.Page().(*DescribeUpdateActionsOutput), !p.HasNextPage()) { 4491 break 4492 } 4493 } 4494 4495 return p.Err() 4496} 4497 4498const opDisassociateGlobalReplicationGroup = "DisassociateGlobalReplicationGroup" 4499 4500// DisassociateGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 4501// client's request for the DisassociateGlobalReplicationGroup operation. The "output" return 4502// value will be populated with the request's response once the request completes 4503// successfully. 4504// 4505// Use "Send" method on the returned Request to send the API call to the service. 4506// the "output" return value is not valid until after Send returns without error. 4507// 4508// See DisassociateGlobalReplicationGroup for more information on using the DisassociateGlobalReplicationGroup 4509// API call, and error handling. 4510// 4511// This method is useful when you want to inject custom logic or configuration 4512// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4513// 4514// 4515// // Example sending a request using the DisassociateGlobalReplicationGroupRequest method. 4516// req, resp := client.DisassociateGlobalReplicationGroupRequest(params) 4517// 4518// err := req.Send() 4519// if err == nil { // resp is now filled 4520// fmt.Println(resp) 4521// } 4522// 4523// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 4524func (c *ElastiCache) DisassociateGlobalReplicationGroupRequest(input *DisassociateGlobalReplicationGroupInput) (req *request.Request, output *DisassociateGlobalReplicationGroupOutput) { 4525 op := &request.Operation{ 4526 Name: opDisassociateGlobalReplicationGroup, 4527 HTTPMethod: "POST", 4528 HTTPPath: "/", 4529 } 4530 4531 if input == nil { 4532 input = &DisassociateGlobalReplicationGroupInput{} 4533 } 4534 4535 output = &DisassociateGlobalReplicationGroupOutput{} 4536 req = c.newRequest(op, input, output) 4537 return 4538} 4539 4540// DisassociateGlobalReplicationGroup API operation for Amazon ElastiCache. 4541// 4542// Remove a secondary cluster from the Global Datastore using the Global Datastore 4543// name. The secondary cluster will no longer receive updates from the primary 4544// cluster, but will remain as a standalone cluster in that AWS region. 4545// 4546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4547// with awserr.Error's Code and Message methods to get detailed information about 4548// the error. 4549// 4550// See the AWS API reference guide for Amazon ElastiCache's 4551// API operation DisassociateGlobalReplicationGroup for usage and error information. 4552// 4553// Returned Error Codes: 4554// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4555// The Global Datastore does not exist 4556// 4557// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 4558// The Global Datastore is not available or in primary-only state. 4559// 4560// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4561// The value for a parameter is invalid. 4562// 4563// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4564// Two or more incompatible parameters were specified. 4565// 4566// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DisassociateGlobalReplicationGroup 4567func (c *ElastiCache) DisassociateGlobalReplicationGroup(input *DisassociateGlobalReplicationGroupInput) (*DisassociateGlobalReplicationGroupOutput, error) { 4568 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 4569 return out, req.Send() 4570} 4571 4572// DisassociateGlobalReplicationGroupWithContext is the same as DisassociateGlobalReplicationGroup with the addition of 4573// the ability to pass a context and additional request options. 4574// 4575// See DisassociateGlobalReplicationGroup for details on how to use this API operation. 4576// 4577// The context must be non-nil and will be used for request cancellation. If 4578// the context is nil a panic will occur. In the future the SDK may create 4579// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4580// for more information on using Contexts. 4581func (c *ElastiCache) DisassociateGlobalReplicationGroupWithContext(ctx aws.Context, input *DisassociateGlobalReplicationGroupInput, opts ...request.Option) (*DisassociateGlobalReplicationGroupOutput, error) { 4582 req, out := c.DisassociateGlobalReplicationGroupRequest(input) 4583 req.SetContext(ctx) 4584 req.ApplyOptions(opts...) 4585 return out, req.Send() 4586} 4587 4588const opFailoverGlobalReplicationGroup = "FailoverGlobalReplicationGroup" 4589 4590// FailoverGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 4591// client's request for the FailoverGlobalReplicationGroup operation. The "output" return 4592// value will be populated with the request's response once the request completes 4593// successfully. 4594// 4595// Use "Send" method on the returned Request to send the API call to the service. 4596// the "output" return value is not valid until after Send returns without error. 4597// 4598// See FailoverGlobalReplicationGroup for more information on using the FailoverGlobalReplicationGroup 4599// API call, and error handling. 4600// 4601// This method is useful when you want to inject custom logic or configuration 4602// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4603// 4604// 4605// // Example sending a request using the FailoverGlobalReplicationGroupRequest method. 4606// req, resp := client.FailoverGlobalReplicationGroupRequest(params) 4607// 4608// err := req.Send() 4609// if err == nil { // resp is now filled 4610// fmt.Println(resp) 4611// } 4612// 4613// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 4614func (c *ElastiCache) FailoverGlobalReplicationGroupRequest(input *FailoverGlobalReplicationGroupInput) (req *request.Request, output *FailoverGlobalReplicationGroupOutput) { 4615 op := &request.Operation{ 4616 Name: opFailoverGlobalReplicationGroup, 4617 HTTPMethod: "POST", 4618 HTTPPath: "/", 4619 } 4620 4621 if input == nil { 4622 input = &FailoverGlobalReplicationGroupInput{} 4623 } 4624 4625 output = &FailoverGlobalReplicationGroupOutput{} 4626 req = c.newRequest(op, input, output) 4627 return 4628} 4629 4630// FailoverGlobalReplicationGroup API operation for Amazon ElastiCache. 4631// 4632// Used to failover the primary region to a selected secondary region. The selected 4633// secondary region will become primary, and all other clusters will become 4634// secondary. 4635// 4636// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4637// with awserr.Error's Code and Message methods to get detailed information about 4638// the error. 4639// 4640// See the AWS API reference guide for Amazon ElastiCache's 4641// API operation FailoverGlobalReplicationGroup for usage and error information. 4642// 4643// Returned Error Codes: 4644// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4645// The Global Datastore does not exist 4646// 4647// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 4648// The Global Datastore is not available or in primary-only state. 4649// 4650// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4651// The value for a parameter is invalid. 4652// 4653// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4654// Two or more incompatible parameters were specified. 4655// 4656// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/FailoverGlobalReplicationGroup 4657func (c *ElastiCache) FailoverGlobalReplicationGroup(input *FailoverGlobalReplicationGroupInput) (*FailoverGlobalReplicationGroupOutput, error) { 4658 req, out := c.FailoverGlobalReplicationGroupRequest(input) 4659 return out, req.Send() 4660} 4661 4662// FailoverGlobalReplicationGroupWithContext is the same as FailoverGlobalReplicationGroup with the addition of 4663// the ability to pass a context and additional request options. 4664// 4665// See FailoverGlobalReplicationGroup for details on how to use this API operation. 4666// 4667// The context must be non-nil and will be used for request cancellation. If 4668// the context is nil a panic will occur. In the future the SDK may create 4669// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4670// for more information on using Contexts. 4671func (c *ElastiCache) FailoverGlobalReplicationGroupWithContext(ctx aws.Context, input *FailoverGlobalReplicationGroupInput, opts ...request.Option) (*FailoverGlobalReplicationGroupOutput, error) { 4672 req, out := c.FailoverGlobalReplicationGroupRequest(input) 4673 req.SetContext(ctx) 4674 req.ApplyOptions(opts...) 4675 return out, req.Send() 4676} 4677 4678const opIncreaseNodeGroupsInGlobalReplicationGroup = "IncreaseNodeGroupsInGlobalReplicationGroup" 4679 4680// IncreaseNodeGroupsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 4681// client's request for the IncreaseNodeGroupsInGlobalReplicationGroup operation. The "output" return 4682// value will be populated with the request's response once the request completes 4683// successfully. 4684// 4685// Use "Send" method on the returned Request to send the API call to the service. 4686// the "output" return value is not valid until after Send returns without error. 4687// 4688// See IncreaseNodeGroupsInGlobalReplicationGroup for more information on using the IncreaseNodeGroupsInGlobalReplicationGroup 4689// API call, and error handling. 4690// 4691// This method is useful when you want to inject custom logic or configuration 4692// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4693// 4694// 4695// // Example sending a request using the IncreaseNodeGroupsInGlobalReplicationGroupRequest method. 4696// req, resp := client.IncreaseNodeGroupsInGlobalReplicationGroupRequest(params) 4697// 4698// err := req.Send() 4699// if err == nil { // resp is now filled 4700// fmt.Println(resp) 4701// } 4702// 4703// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 4704func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupRequest(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (req *request.Request, output *IncreaseNodeGroupsInGlobalReplicationGroupOutput) { 4705 op := &request.Operation{ 4706 Name: opIncreaseNodeGroupsInGlobalReplicationGroup, 4707 HTTPMethod: "POST", 4708 HTTPPath: "/", 4709 } 4710 4711 if input == nil { 4712 input = &IncreaseNodeGroupsInGlobalReplicationGroupInput{} 4713 } 4714 4715 output = &IncreaseNodeGroupsInGlobalReplicationGroupOutput{} 4716 req = c.newRequest(op, input, output) 4717 return 4718} 4719 4720// IncreaseNodeGroupsInGlobalReplicationGroup API operation for Amazon ElastiCache. 4721// 4722// Increase the number of node groups in the Global Datastore 4723// 4724// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4725// with awserr.Error's Code and Message methods to get detailed information about 4726// the error. 4727// 4728// See the AWS API reference guide for Amazon ElastiCache's 4729// API operation IncreaseNodeGroupsInGlobalReplicationGroup for usage and error information. 4730// 4731// Returned Error Codes: 4732// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 4733// The Global Datastore does not exist 4734// 4735// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 4736// The Global Datastore is not available or in primary-only state. 4737// 4738// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4739// The value for a parameter is invalid. 4740// 4741// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseNodeGroupsInGlobalReplicationGroup 4742func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroup(input *IncreaseNodeGroupsInGlobalReplicationGroupInput) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 4743 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 4744 return out, req.Send() 4745} 4746 4747// IncreaseNodeGroupsInGlobalReplicationGroupWithContext is the same as IncreaseNodeGroupsInGlobalReplicationGroup with the addition of 4748// the ability to pass a context and additional request options. 4749// 4750// See IncreaseNodeGroupsInGlobalReplicationGroup for details on how to use this API operation. 4751// 4752// The context must be non-nil and will be used for request cancellation. If 4753// the context is nil a panic will occur. In the future the SDK may create 4754// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4755// for more information on using Contexts. 4756func (c *ElastiCache) IncreaseNodeGroupsInGlobalReplicationGroupWithContext(ctx aws.Context, input *IncreaseNodeGroupsInGlobalReplicationGroupInput, opts ...request.Option) (*IncreaseNodeGroupsInGlobalReplicationGroupOutput, error) { 4757 req, out := c.IncreaseNodeGroupsInGlobalReplicationGroupRequest(input) 4758 req.SetContext(ctx) 4759 req.ApplyOptions(opts...) 4760 return out, req.Send() 4761} 4762 4763const opIncreaseReplicaCount = "IncreaseReplicaCount" 4764 4765// IncreaseReplicaCountRequest generates a "aws/request.Request" representing the 4766// client's request for the IncreaseReplicaCount operation. The "output" return 4767// value will be populated with the request's response once the request completes 4768// successfully. 4769// 4770// Use "Send" method on the returned Request to send the API call to the service. 4771// the "output" return value is not valid until after Send returns without error. 4772// 4773// See IncreaseReplicaCount for more information on using the IncreaseReplicaCount 4774// API call, and error handling. 4775// 4776// This method is useful when you want to inject custom logic or configuration 4777// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4778// 4779// 4780// // Example sending a request using the IncreaseReplicaCountRequest method. 4781// req, resp := client.IncreaseReplicaCountRequest(params) 4782// 4783// err := req.Send() 4784// if err == nil { // resp is now filled 4785// fmt.Println(resp) 4786// } 4787// 4788// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4789func (c *ElastiCache) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) (req *request.Request, output *IncreaseReplicaCountOutput) { 4790 op := &request.Operation{ 4791 Name: opIncreaseReplicaCount, 4792 HTTPMethod: "POST", 4793 HTTPPath: "/", 4794 } 4795 4796 if input == nil { 4797 input = &IncreaseReplicaCountInput{} 4798 } 4799 4800 output = &IncreaseReplicaCountOutput{} 4801 req = c.newRequest(op, input, output) 4802 return 4803} 4804 4805// IncreaseReplicaCount API operation for Amazon ElastiCache. 4806// 4807// Dynamically increases the number of replics in a Redis (cluster mode disabled) 4808// replication group or the number of replica nodes in one or more node groups 4809// (shards) of a Redis (cluster mode enabled) replication group. This operation 4810// is performed with no cluster down time. 4811// 4812// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4813// with awserr.Error's Code and Message methods to get detailed information about 4814// the error. 4815// 4816// See the AWS API reference guide for Amazon ElastiCache's 4817// API operation IncreaseReplicaCount for usage and error information. 4818// 4819// Returned Error Codes: 4820// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4821// The specified replication group does not exist. 4822// 4823// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4824// The requested replication group is not in the available state. 4825// 4826// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4827// The requested cluster is not in the available state. 4828// 4829// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4830// The VPC network is in an invalid state. 4831// 4832// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4833// The requested cache node type is not available in the specified Availability 4834// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4835// in the ElastiCache User Guide. 4836// 4837// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 4838// The request cannot be processed because it would exceed the allowed number 4839// of clusters per customer. 4840// 4841// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 4842// The request cannot be processed because it would exceed the maximum allowed 4843// number of node groups (shards) in a single replication group. The default 4844// maximum is 90 4845// 4846// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4847// The request cannot be processed because it would exceed the allowed number 4848// of cache nodes per customer. 4849// 4850// * ErrCodeNoOperationFault "NoOperationFault" 4851// The operation was not performed because no changes were required. 4852// 4853// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 4854// The KMS key supplied is not valid. 4855// 4856// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4857// The value for a parameter is invalid. 4858// 4859// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4860// Two or more incompatible parameters were specified. 4861// 4862// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4863func (c *ElastiCache) IncreaseReplicaCount(input *IncreaseReplicaCountInput) (*IncreaseReplicaCountOutput, error) { 4864 req, out := c.IncreaseReplicaCountRequest(input) 4865 return out, req.Send() 4866} 4867 4868// IncreaseReplicaCountWithContext is the same as IncreaseReplicaCount with the addition of 4869// the ability to pass a context and additional request options. 4870// 4871// See IncreaseReplicaCount for details on how to use this API operation. 4872// 4873// The context must be non-nil and will be used for request cancellation. If 4874// the context is nil a panic will occur. In the future the SDK may create 4875// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4876// for more information on using Contexts. 4877func (c *ElastiCache) IncreaseReplicaCountWithContext(ctx aws.Context, input *IncreaseReplicaCountInput, opts ...request.Option) (*IncreaseReplicaCountOutput, error) { 4878 req, out := c.IncreaseReplicaCountRequest(input) 4879 req.SetContext(ctx) 4880 req.ApplyOptions(opts...) 4881 return out, req.Send() 4882} 4883 4884const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" 4885 4886// ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the 4887// client's request for the ListAllowedNodeTypeModifications operation. The "output" return 4888// value will be populated with the request's response once the request completes 4889// successfully. 4890// 4891// Use "Send" method on the returned Request to send the API call to the service. 4892// the "output" return value is not valid until after Send returns without error. 4893// 4894// See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications 4895// API call, and error handling. 4896// 4897// This method is useful when you want to inject custom logic or configuration 4898// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4899// 4900// 4901// // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. 4902// req, resp := client.ListAllowedNodeTypeModificationsRequest(params) 4903// 4904// err := req.Send() 4905// if err == nil { // resp is now filled 4906// fmt.Println(resp) 4907// } 4908// 4909// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4910func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { 4911 op := &request.Operation{ 4912 Name: opListAllowedNodeTypeModifications, 4913 HTTPMethod: "POST", 4914 HTTPPath: "/", 4915 } 4916 4917 if input == nil { 4918 input = &ListAllowedNodeTypeModificationsInput{} 4919 } 4920 4921 output = &ListAllowedNodeTypeModificationsOutput{} 4922 req = c.newRequest(op, input, output) 4923 return 4924} 4925 4926// ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. 4927// 4928// Lists all available node types that you can scale your Redis cluster's or 4929// replication group's current node type. 4930// 4931// When you use the ModifyCacheCluster or ModifyReplicationGroup operations 4932// to scale your cluster or replication group, the value of the CacheNodeType 4933// parameter must be one of the node types returned by this operation. 4934// 4935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4936// with awserr.Error's Code and Message methods to get detailed information about 4937// the error. 4938// 4939// See the AWS API reference guide for Amazon ElastiCache's 4940// API operation ListAllowedNodeTypeModifications for usage and error information. 4941// 4942// Returned Error Codes: 4943// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4944// The requested cluster ID does not refer to an existing cluster. 4945// 4946// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4947// The specified replication group does not exist. 4948// 4949// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4950// Two or more incompatible parameters were specified. 4951// 4952// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4953// The value for a parameter is invalid. 4954// 4955// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4956func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { 4957 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4958 return out, req.Send() 4959} 4960 4961// ListAllowedNodeTypeModificationsWithContext is the same as ListAllowedNodeTypeModifications with the addition of 4962// the ability to pass a context and additional request options. 4963// 4964// See ListAllowedNodeTypeModifications for details on how to use this API operation. 4965// 4966// The context must be non-nil and will be used for request cancellation. If 4967// the context is nil a panic will occur. In the future the SDK may create 4968// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4969// for more information on using Contexts. 4970func (c *ElastiCache) ListAllowedNodeTypeModificationsWithContext(ctx aws.Context, input *ListAllowedNodeTypeModificationsInput, opts ...request.Option) (*ListAllowedNodeTypeModificationsOutput, error) { 4971 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4972 req.SetContext(ctx) 4973 req.ApplyOptions(opts...) 4974 return out, req.Send() 4975} 4976 4977const opListTagsForResource = "ListTagsForResource" 4978 4979// ListTagsForResourceRequest generates a "aws/request.Request" representing the 4980// client's request for the ListTagsForResource operation. The "output" return 4981// value will be populated with the request's response once the request completes 4982// successfully. 4983// 4984// Use "Send" method on the returned Request to send the API call to the service. 4985// the "output" return value is not valid until after Send returns without error. 4986// 4987// See ListTagsForResource for more information on using the ListTagsForResource 4988// API call, and error handling. 4989// 4990// This method is useful when you want to inject custom logic or configuration 4991// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4992// 4993// 4994// // Example sending a request using the ListTagsForResourceRequest method. 4995// req, resp := client.ListTagsForResourceRequest(params) 4996// 4997// err := req.Send() 4998// if err == nil { // resp is now filled 4999// fmt.Println(resp) 5000// } 5001// 5002// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5003func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { 5004 op := &request.Operation{ 5005 Name: opListTagsForResource, 5006 HTTPMethod: "POST", 5007 HTTPPath: "/", 5008 } 5009 5010 if input == nil { 5011 input = &ListTagsForResourceInput{} 5012 } 5013 5014 output = &TagListMessage{} 5015 req = c.newRequest(op, input, output) 5016 return 5017} 5018 5019// ListTagsForResource API operation for Amazon ElastiCache. 5020// 5021// Lists all cost allocation tags currently on the named resource. A cost allocation 5022// tag is a key-value pair where the key is case-sensitive and the value is 5023// optional. You can use cost allocation tags to categorize and track your AWS 5024// costs. 5025// 5026// If the cluster is not in the available state, ListTagsForResource returns 5027// an error. 5028// 5029// You can have a maximum of 50 cost allocation tags on an ElastiCache resource. 5030// For more information, see Monitoring Costs with Tags (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html). 5031// 5032// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5033// with awserr.Error's Code and Message methods to get detailed information about 5034// the error. 5035// 5036// See the AWS API reference guide for Amazon ElastiCache's 5037// API operation ListTagsForResource for usage and error information. 5038// 5039// Returned Error Codes: 5040// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5041// The requested cluster ID does not refer to an existing cluster. 5042// 5043// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 5044// The requested snapshot name does not refer to an existing snapshot. 5045// 5046// * ErrCodeInvalidARNFault "InvalidARN" 5047// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5048// 5049// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 5050func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { 5051 req, out := c.ListTagsForResourceRequest(input) 5052 return out, req.Send() 5053} 5054 5055// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 5056// the ability to pass a context and additional request options. 5057// 5058// See ListTagsForResource for details on how to use this API operation. 5059// 5060// The context must be non-nil and will be used for request cancellation. If 5061// the context is nil a panic will occur. In the future the SDK may create 5062// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5063// for more information on using Contexts. 5064func (c *ElastiCache) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*TagListMessage, error) { 5065 req, out := c.ListTagsForResourceRequest(input) 5066 req.SetContext(ctx) 5067 req.ApplyOptions(opts...) 5068 return out, req.Send() 5069} 5070 5071const opModifyCacheCluster = "ModifyCacheCluster" 5072 5073// ModifyCacheClusterRequest generates a "aws/request.Request" representing the 5074// client's request for the ModifyCacheCluster operation. The "output" return 5075// value will be populated with the request's response once the request completes 5076// successfully. 5077// 5078// Use "Send" method on the returned Request to send the API call to the service. 5079// the "output" return value is not valid until after Send returns without error. 5080// 5081// See ModifyCacheCluster for more information on using the ModifyCacheCluster 5082// API call, and error handling. 5083// 5084// This method is useful when you want to inject custom logic or configuration 5085// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5086// 5087// 5088// // Example sending a request using the ModifyCacheClusterRequest method. 5089// req, resp := client.ModifyCacheClusterRequest(params) 5090// 5091// err := req.Send() 5092// if err == nil { // resp is now filled 5093// fmt.Println(resp) 5094// } 5095// 5096// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5097func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { 5098 op := &request.Operation{ 5099 Name: opModifyCacheCluster, 5100 HTTPMethod: "POST", 5101 HTTPPath: "/", 5102 } 5103 5104 if input == nil { 5105 input = &ModifyCacheClusterInput{} 5106 } 5107 5108 output = &ModifyCacheClusterOutput{} 5109 req = c.newRequest(op, input, output) 5110 return 5111} 5112 5113// ModifyCacheCluster API operation for Amazon ElastiCache. 5114// 5115// Modifies the settings for a cluster. You can use this operation to change 5116// one or more cluster configuration parameters by specifying the parameters 5117// and the new values. 5118// 5119// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5120// with awserr.Error's Code and Message methods to get detailed information about 5121// the error. 5122// 5123// See the AWS API reference guide for Amazon ElastiCache's 5124// API operation ModifyCacheCluster for usage and error information. 5125// 5126// Returned Error Codes: 5127// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5128// The requested cluster is not in the available state. 5129// 5130// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5131// The current state of the cache security group does not allow deletion. 5132// 5133// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5134// The requested cache node type is not available in the specified Availability 5135// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5136// in the ElastiCache User Guide. 5137// 5138// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5139// The requested cluster ID does not refer to an existing cluster. 5140// 5141// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 5142// The request cannot be processed because it would exceed the allowed number 5143// of cache nodes in a single cluster. 5144// 5145// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5146// The request cannot be processed because it would exceed the allowed number 5147// of cache nodes per customer. 5148// 5149// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5150// The requested cache security group name does not refer to an existing cache 5151// security group. 5152// 5153// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5154// The requested cache parameter group name does not refer to an existing cache 5155// parameter group. 5156// 5157// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5158// The VPC network is in an invalid state. 5159// 5160// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5161// The value for a parameter is invalid. 5162// 5163// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5164// Two or more incompatible parameters were specified. 5165// 5166// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 5167func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { 5168 req, out := c.ModifyCacheClusterRequest(input) 5169 return out, req.Send() 5170} 5171 5172// ModifyCacheClusterWithContext is the same as ModifyCacheCluster with the addition of 5173// the ability to pass a context and additional request options. 5174// 5175// See ModifyCacheCluster for details on how to use this API operation. 5176// 5177// The context must be non-nil and will be used for request cancellation. If 5178// the context is nil a panic will occur. In the future the SDK may create 5179// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5180// for more information on using Contexts. 5181func (c *ElastiCache) ModifyCacheClusterWithContext(ctx aws.Context, input *ModifyCacheClusterInput, opts ...request.Option) (*ModifyCacheClusterOutput, error) { 5182 req, out := c.ModifyCacheClusterRequest(input) 5183 req.SetContext(ctx) 5184 req.ApplyOptions(opts...) 5185 return out, req.Send() 5186} 5187 5188const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" 5189 5190// ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the 5191// client's request for the ModifyCacheParameterGroup operation. The "output" return 5192// value will be populated with the request's response once the request completes 5193// successfully. 5194// 5195// Use "Send" method on the returned Request to send the API call to the service. 5196// the "output" return value is not valid until after Send returns without error. 5197// 5198// See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup 5199// API call, and error handling. 5200// 5201// This method is useful when you want to inject custom logic or configuration 5202// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5203// 5204// 5205// // Example sending a request using the ModifyCacheParameterGroupRequest method. 5206// req, resp := client.ModifyCacheParameterGroupRequest(params) 5207// 5208// err := req.Send() 5209// if err == nil { // resp is now filled 5210// fmt.Println(resp) 5211// } 5212// 5213// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 5214func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 5215 op := &request.Operation{ 5216 Name: opModifyCacheParameterGroup, 5217 HTTPMethod: "POST", 5218 HTTPPath: "/", 5219 } 5220 5221 if input == nil { 5222 input = &ModifyCacheParameterGroupInput{} 5223 } 5224 5225 output = &CacheParameterGroupNameMessage{} 5226 req = c.newRequest(op, input, output) 5227 return 5228} 5229 5230// ModifyCacheParameterGroup API operation for Amazon ElastiCache. 5231// 5232// Modifies the parameters of a cache parameter group. You can modify up to 5233// 20 parameters in a single request by submitting a list parameter name and 5234// value pairs. 5235// 5236// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5237// with awserr.Error's Code and Message methods to get detailed information about 5238// the error. 5239// 5240// See the AWS API reference guide for Amazon ElastiCache's 5241// API operation ModifyCacheParameterGroup for usage and error information. 5242// 5243// Returned Error Codes: 5244// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5245// The requested cache parameter group name does not refer to an existing cache 5246// parameter group. 5247// 5248// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 5249// The current state of the cache parameter group does not allow the requested 5250// operation to occur. 5251// 5252// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5253// The value for a parameter is invalid. 5254// 5255// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5256// Two or more incompatible parameters were specified. 5257// 5258// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5259// The Global Datastore is not available or in primary-only state. 5260// 5261// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 5262func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 5263 req, out := c.ModifyCacheParameterGroupRequest(input) 5264 return out, req.Send() 5265} 5266 5267// ModifyCacheParameterGroupWithContext is the same as ModifyCacheParameterGroup with the addition of 5268// the ability to pass a context and additional request options. 5269// 5270// See ModifyCacheParameterGroup for details on how to use this API operation. 5271// 5272// The context must be non-nil and will be used for request cancellation. If 5273// the context is nil a panic will occur. In the future the SDK may create 5274// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5275// for more information on using Contexts. 5276func (c *ElastiCache) ModifyCacheParameterGroupWithContext(ctx aws.Context, input *ModifyCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 5277 req, out := c.ModifyCacheParameterGroupRequest(input) 5278 req.SetContext(ctx) 5279 req.ApplyOptions(opts...) 5280 return out, req.Send() 5281} 5282 5283const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" 5284 5285// ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the 5286// client's request for the ModifyCacheSubnetGroup operation. The "output" return 5287// value will be populated with the request's response once the request completes 5288// successfully. 5289// 5290// Use "Send" method on the returned Request to send the API call to the service. 5291// the "output" return value is not valid until after Send returns without error. 5292// 5293// See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup 5294// API call, and error handling. 5295// 5296// This method is useful when you want to inject custom logic or configuration 5297// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5298// 5299// 5300// // Example sending a request using the ModifyCacheSubnetGroupRequest method. 5301// req, resp := client.ModifyCacheSubnetGroupRequest(params) 5302// 5303// err := req.Send() 5304// if err == nil { // resp is now filled 5305// fmt.Println(resp) 5306// } 5307// 5308// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 5309func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { 5310 op := &request.Operation{ 5311 Name: opModifyCacheSubnetGroup, 5312 HTTPMethod: "POST", 5313 HTTPPath: "/", 5314 } 5315 5316 if input == nil { 5317 input = &ModifyCacheSubnetGroupInput{} 5318 } 5319 5320 output = &ModifyCacheSubnetGroupOutput{} 5321 req = c.newRequest(op, input, output) 5322 return 5323} 5324 5325// ModifyCacheSubnetGroup API operation for Amazon ElastiCache. 5326// 5327// Modifies an existing cache subnet group. 5328// 5329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5330// with awserr.Error's Code and Message methods to get detailed information about 5331// the error. 5332// 5333// See the AWS API reference guide for Amazon ElastiCache's 5334// API operation ModifyCacheSubnetGroup for usage and error information. 5335// 5336// Returned Error Codes: 5337// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 5338// The requested cache subnet group name does not refer to an existing cache 5339// subnet group. 5340// 5341// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 5342// The request cannot be processed because it would exceed the allowed number 5343// of subnets in a cache subnet group. 5344// 5345// * ErrCodeSubnetInUse "SubnetInUse" 5346// The requested subnet is being used by another cache subnet group. 5347// 5348// * ErrCodeInvalidSubnet "InvalidSubnet" 5349// An invalid subnet identifier was specified. 5350// 5351// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 5352func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { 5353 req, out := c.ModifyCacheSubnetGroupRequest(input) 5354 return out, req.Send() 5355} 5356 5357// ModifyCacheSubnetGroupWithContext is the same as ModifyCacheSubnetGroup with the addition of 5358// the ability to pass a context and additional request options. 5359// 5360// See ModifyCacheSubnetGroup for details on how to use this API operation. 5361// 5362// The context must be non-nil and will be used for request cancellation. If 5363// the context is nil a panic will occur. In the future the SDK may create 5364// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5365// for more information on using Contexts. 5366func (c *ElastiCache) ModifyCacheSubnetGroupWithContext(ctx aws.Context, input *ModifyCacheSubnetGroupInput, opts ...request.Option) (*ModifyCacheSubnetGroupOutput, error) { 5367 req, out := c.ModifyCacheSubnetGroupRequest(input) 5368 req.SetContext(ctx) 5369 req.ApplyOptions(opts...) 5370 return out, req.Send() 5371} 5372 5373const opModifyGlobalReplicationGroup = "ModifyGlobalReplicationGroup" 5374 5375// ModifyGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5376// client's request for the ModifyGlobalReplicationGroup operation. The "output" return 5377// value will be populated with the request's response once the request completes 5378// successfully. 5379// 5380// Use "Send" method on the returned Request to send the API call to the service. 5381// the "output" return value is not valid until after Send returns without error. 5382// 5383// See ModifyGlobalReplicationGroup for more information on using the ModifyGlobalReplicationGroup 5384// API call, and error handling. 5385// 5386// This method is useful when you want to inject custom logic or configuration 5387// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5388// 5389// 5390// // Example sending a request using the ModifyGlobalReplicationGroupRequest method. 5391// req, resp := client.ModifyGlobalReplicationGroupRequest(params) 5392// 5393// err := req.Send() 5394// if err == nil { // resp is now filled 5395// fmt.Println(resp) 5396// } 5397// 5398// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 5399func (c *ElastiCache) ModifyGlobalReplicationGroupRequest(input *ModifyGlobalReplicationGroupInput) (req *request.Request, output *ModifyGlobalReplicationGroupOutput) { 5400 op := &request.Operation{ 5401 Name: opModifyGlobalReplicationGroup, 5402 HTTPMethod: "POST", 5403 HTTPPath: "/", 5404 } 5405 5406 if input == nil { 5407 input = &ModifyGlobalReplicationGroupInput{} 5408 } 5409 5410 output = &ModifyGlobalReplicationGroupOutput{} 5411 req = c.newRequest(op, input, output) 5412 return 5413} 5414 5415// ModifyGlobalReplicationGroup API operation for Amazon ElastiCache. 5416// 5417// Modifies the settings for a Global Datastore. 5418// 5419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5420// with awserr.Error's Code and Message methods to get detailed information about 5421// the error. 5422// 5423// See the AWS API reference guide for Amazon ElastiCache's 5424// API operation ModifyGlobalReplicationGroup for usage and error information. 5425// 5426// Returned Error Codes: 5427// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5428// The Global Datastore does not exist 5429// 5430// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5431// The Global Datastore is not available or in primary-only state. 5432// 5433// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5434// The value for a parameter is invalid. 5435// 5436// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyGlobalReplicationGroup 5437func (c *ElastiCache) ModifyGlobalReplicationGroup(input *ModifyGlobalReplicationGroupInput) (*ModifyGlobalReplicationGroupOutput, error) { 5438 req, out := c.ModifyGlobalReplicationGroupRequest(input) 5439 return out, req.Send() 5440} 5441 5442// ModifyGlobalReplicationGroupWithContext is the same as ModifyGlobalReplicationGroup with the addition of 5443// the ability to pass a context and additional request options. 5444// 5445// See ModifyGlobalReplicationGroup for details on how to use this API operation. 5446// 5447// The context must be non-nil and will be used for request cancellation. If 5448// the context is nil a panic will occur. In the future the SDK may create 5449// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5450// for more information on using Contexts. 5451func (c *ElastiCache) ModifyGlobalReplicationGroupWithContext(ctx aws.Context, input *ModifyGlobalReplicationGroupInput, opts ...request.Option) (*ModifyGlobalReplicationGroupOutput, error) { 5452 req, out := c.ModifyGlobalReplicationGroupRequest(input) 5453 req.SetContext(ctx) 5454 req.ApplyOptions(opts...) 5455 return out, req.Send() 5456} 5457 5458const opModifyReplicationGroup = "ModifyReplicationGroup" 5459 5460// ModifyReplicationGroupRequest generates a "aws/request.Request" representing the 5461// client's request for the ModifyReplicationGroup operation. The "output" return 5462// value will be populated with the request's response once the request completes 5463// successfully. 5464// 5465// Use "Send" method on the returned Request to send the API call to the service. 5466// the "output" return value is not valid until after Send returns without error. 5467// 5468// See ModifyReplicationGroup for more information on using the ModifyReplicationGroup 5469// API call, and error handling. 5470// 5471// This method is useful when you want to inject custom logic or configuration 5472// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5473// 5474// 5475// // Example sending a request using the ModifyReplicationGroupRequest method. 5476// req, resp := client.ModifyReplicationGroupRequest(params) 5477// 5478// err := req.Send() 5479// if err == nil { // resp is now filled 5480// fmt.Println(resp) 5481// } 5482// 5483// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 5484func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { 5485 op := &request.Operation{ 5486 Name: opModifyReplicationGroup, 5487 HTTPMethod: "POST", 5488 HTTPPath: "/", 5489 } 5490 5491 if input == nil { 5492 input = &ModifyReplicationGroupInput{} 5493 } 5494 5495 output = &ModifyReplicationGroupOutput{} 5496 req = c.newRequest(op, input, output) 5497 return 5498} 5499 5500// ModifyReplicationGroup API operation for Amazon ElastiCache. 5501// 5502// Modifies the settings for a replication group. 5503// 5504// * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) 5505// in the ElastiCache User Guide 5506// 5507// * ModifyReplicationGroupShardConfiguration (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) 5508// in the ElastiCache API Reference 5509// 5510// This operation is valid for Redis only. 5511// 5512// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5513// with awserr.Error's Code and Message methods to get detailed information about 5514// the error. 5515// 5516// See the AWS API reference guide for Amazon ElastiCache's 5517// API operation ModifyReplicationGroup for usage and error information. 5518// 5519// Returned Error Codes: 5520// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5521// The specified replication group does not exist. 5522// 5523// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5524// The requested replication group is not in the available state. 5525// 5526// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5527// The requested cluster is not in the available state. 5528// 5529// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5530// The current state of the cache security group does not allow deletion. 5531// 5532// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5533// The requested cache node type is not available in the specified Availability 5534// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5535// in the ElastiCache User Guide. 5536// 5537// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5538// The requested cluster ID does not refer to an existing cluster. 5539// 5540// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 5541// The request cannot be processed because it would exceed the allowed number 5542// of cache nodes in a single cluster. 5543// 5544// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5545// The request cannot be processed because it would exceed the allowed number 5546// of cache nodes per customer. 5547// 5548// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5549// The requested cache security group name does not refer to an existing cache 5550// security group. 5551// 5552// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5553// The requested cache parameter group name does not refer to an existing cache 5554// parameter group. 5555// 5556// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5557// The VPC network is in an invalid state. 5558// 5559// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5560// The KMS key supplied is not valid. 5561// 5562// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5563// The value for a parameter is invalid. 5564// 5565// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5566// Two or more incompatible parameters were specified. 5567// 5568// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 5569func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { 5570 req, out := c.ModifyReplicationGroupRequest(input) 5571 return out, req.Send() 5572} 5573 5574// ModifyReplicationGroupWithContext is the same as ModifyReplicationGroup with the addition of 5575// the ability to pass a context and additional request options. 5576// 5577// See ModifyReplicationGroup for details on how to use this API operation. 5578// 5579// The context must be non-nil and will be used for request cancellation. If 5580// the context is nil a panic will occur. In the future the SDK may create 5581// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5582// for more information on using Contexts. 5583func (c *ElastiCache) ModifyReplicationGroupWithContext(ctx aws.Context, input *ModifyReplicationGroupInput, opts ...request.Option) (*ModifyReplicationGroupOutput, error) { 5584 req, out := c.ModifyReplicationGroupRequest(input) 5585 req.SetContext(ctx) 5586 req.ApplyOptions(opts...) 5587 return out, req.Send() 5588} 5589 5590const opModifyReplicationGroupShardConfiguration = "ModifyReplicationGroupShardConfiguration" 5591 5592// ModifyReplicationGroupShardConfigurationRequest generates a "aws/request.Request" representing the 5593// client's request for the ModifyReplicationGroupShardConfiguration operation. The "output" return 5594// value will be populated with the request's response once the request completes 5595// successfully. 5596// 5597// Use "Send" method on the returned Request to send the API call to the service. 5598// the "output" return value is not valid until after Send returns without error. 5599// 5600// See ModifyReplicationGroupShardConfiguration for more information on using the ModifyReplicationGroupShardConfiguration 5601// API call, and error handling. 5602// 5603// This method is useful when you want to inject custom logic or configuration 5604// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5605// 5606// 5607// // Example sending a request using the ModifyReplicationGroupShardConfigurationRequest method. 5608// req, resp := client.ModifyReplicationGroupShardConfigurationRequest(params) 5609// 5610// err := req.Send() 5611// if err == nil { // resp is now filled 5612// fmt.Println(resp) 5613// } 5614// 5615// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 5616func (c *ElastiCache) ModifyReplicationGroupShardConfigurationRequest(input *ModifyReplicationGroupShardConfigurationInput) (req *request.Request, output *ModifyReplicationGroupShardConfigurationOutput) { 5617 op := &request.Operation{ 5618 Name: opModifyReplicationGroupShardConfiguration, 5619 HTTPMethod: "POST", 5620 HTTPPath: "/", 5621 } 5622 5623 if input == nil { 5624 input = &ModifyReplicationGroupShardConfigurationInput{} 5625 } 5626 5627 output = &ModifyReplicationGroupShardConfigurationOutput{} 5628 req = c.newRequest(op, input, output) 5629 return 5630} 5631 5632// ModifyReplicationGroupShardConfiguration API operation for Amazon ElastiCache. 5633// 5634// Modifies a replication group's shards (node groups) by allowing you to add 5635// shards, remove shards, or rebalance the keyspaces among exisiting shards. 5636// 5637// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5638// with awserr.Error's Code and Message methods to get detailed information about 5639// the error. 5640// 5641// See the AWS API reference guide for Amazon ElastiCache's 5642// API operation ModifyReplicationGroupShardConfiguration for usage and error information. 5643// 5644// Returned Error Codes: 5645// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5646// The specified replication group does not exist. 5647// 5648// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5649// The requested replication group is not in the available state. 5650// 5651// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5652// The requested cluster is not in the available state. 5653// 5654// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 5655// The VPC network is in an invalid state. 5656// 5657// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 5658// The requested cache node type is not available in the specified Availability 5659// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 5660// in the ElastiCache User Guide. 5661// 5662// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 5663// The request cannot be processed because it would exceed the maximum allowed 5664// number of node groups (shards) in a single replication group. The default 5665// maximum is 90 5666// 5667// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 5668// The request cannot be processed because it would exceed the allowed number 5669// of cache nodes per customer. 5670// 5671// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5672// The KMS key supplied is not valid. 5673// 5674// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5675// The value for a parameter is invalid. 5676// 5677// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5678// Two or more incompatible parameters were specified. 5679// 5680// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 5681func (c *ElastiCache) ModifyReplicationGroupShardConfiguration(input *ModifyReplicationGroupShardConfigurationInput) (*ModifyReplicationGroupShardConfigurationOutput, error) { 5682 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 5683 return out, req.Send() 5684} 5685 5686// ModifyReplicationGroupShardConfigurationWithContext is the same as ModifyReplicationGroupShardConfiguration with the addition of 5687// the ability to pass a context and additional request options. 5688// 5689// See ModifyReplicationGroupShardConfiguration for details on how to use this API operation. 5690// 5691// The context must be non-nil and will be used for request cancellation. If 5692// the context is nil a panic will occur. In the future the SDK may create 5693// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5694// for more information on using Contexts. 5695func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aws.Context, input *ModifyReplicationGroupShardConfigurationInput, opts ...request.Option) (*ModifyReplicationGroupShardConfigurationOutput, error) { 5696 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 5697 req.SetContext(ctx) 5698 req.ApplyOptions(opts...) 5699 return out, req.Send() 5700} 5701 5702const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" 5703 5704// PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the 5705// client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return 5706// value will be populated with the request's response once the request completes 5707// successfully. 5708// 5709// Use "Send" method on the returned Request to send the API call to the service. 5710// the "output" return value is not valid until after Send returns without error. 5711// 5712// See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering 5713// API call, and error handling. 5714// 5715// This method is useful when you want to inject custom logic or configuration 5716// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5717// 5718// 5719// // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. 5720// req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) 5721// 5722// err := req.Send() 5723// if err == nil { // resp is now filled 5724// fmt.Println(resp) 5725// } 5726// 5727// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 5728func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { 5729 op := &request.Operation{ 5730 Name: opPurchaseReservedCacheNodesOffering, 5731 HTTPMethod: "POST", 5732 HTTPPath: "/", 5733 } 5734 5735 if input == nil { 5736 input = &PurchaseReservedCacheNodesOfferingInput{} 5737 } 5738 5739 output = &PurchaseReservedCacheNodesOfferingOutput{} 5740 req = c.newRequest(op, input, output) 5741 return 5742} 5743 5744// PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. 5745// 5746// Allows you to purchase a reserved cache node offering. 5747// 5748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5749// with awserr.Error's Code and Message methods to get detailed information about 5750// the error. 5751// 5752// See the AWS API reference guide for Amazon ElastiCache's 5753// API operation PurchaseReservedCacheNodesOffering for usage and error information. 5754// 5755// Returned Error Codes: 5756// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 5757// The requested cache node offering does not exist. 5758// 5759// * ErrCodeReservedCacheNodeAlreadyExistsFault "ReservedCacheNodeAlreadyExists" 5760// You already have a reservation with the given identifier. 5761// 5762// * ErrCodeReservedCacheNodeQuotaExceededFault "ReservedCacheNodeQuotaExceeded" 5763// The request cannot be processed because it would exceed the user's cache 5764// node quota. 5765// 5766// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5767// The value for a parameter is invalid. 5768// 5769// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5770// Two or more incompatible parameters were specified. 5771// 5772// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 5773func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { 5774 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 5775 return out, req.Send() 5776} 5777 5778// PurchaseReservedCacheNodesOfferingWithContext is the same as PurchaseReservedCacheNodesOffering with the addition of 5779// the ability to pass a context and additional request options. 5780// 5781// See PurchaseReservedCacheNodesOffering for details on how to use this API operation. 5782// 5783// The context must be non-nil and will be used for request cancellation. If 5784// the context is nil a panic will occur. In the future the SDK may create 5785// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5786// for more information on using Contexts. 5787func (c *ElastiCache) PurchaseReservedCacheNodesOfferingWithContext(ctx aws.Context, input *PurchaseReservedCacheNodesOfferingInput, opts ...request.Option) (*PurchaseReservedCacheNodesOfferingOutput, error) { 5788 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 5789 req.SetContext(ctx) 5790 req.ApplyOptions(opts...) 5791 return out, req.Send() 5792} 5793 5794const opRebalanceSlotsInGlobalReplicationGroup = "RebalanceSlotsInGlobalReplicationGroup" 5795 5796// RebalanceSlotsInGlobalReplicationGroupRequest generates a "aws/request.Request" representing the 5797// client's request for the RebalanceSlotsInGlobalReplicationGroup operation. The "output" return 5798// value will be populated with the request's response once the request completes 5799// successfully. 5800// 5801// Use "Send" method on the returned Request to send the API call to the service. 5802// the "output" return value is not valid until after Send returns without error. 5803// 5804// See RebalanceSlotsInGlobalReplicationGroup for more information on using the RebalanceSlotsInGlobalReplicationGroup 5805// API call, and error handling. 5806// 5807// This method is useful when you want to inject custom logic or configuration 5808// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5809// 5810// 5811// // Example sending a request using the RebalanceSlotsInGlobalReplicationGroupRequest method. 5812// req, resp := client.RebalanceSlotsInGlobalReplicationGroupRequest(params) 5813// 5814// err := req.Send() 5815// if err == nil { // resp is now filled 5816// fmt.Println(resp) 5817// } 5818// 5819// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 5820func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupRequest(input *RebalanceSlotsInGlobalReplicationGroupInput) (req *request.Request, output *RebalanceSlotsInGlobalReplicationGroupOutput) { 5821 op := &request.Operation{ 5822 Name: opRebalanceSlotsInGlobalReplicationGroup, 5823 HTTPMethod: "POST", 5824 HTTPPath: "/", 5825 } 5826 5827 if input == nil { 5828 input = &RebalanceSlotsInGlobalReplicationGroupInput{} 5829 } 5830 5831 output = &RebalanceSlotsInGlobalReplicationGroupOutput{} 5832 req = c.newRequest(op, input, output) 5833 return 5834} 5835 5836// RebalanceSlotsInGlobalReplicationGroup API operation for Amazon ElastiCache. 5837// 5838// Redistribute slots to ensure uniform distribution across existing shards 5839// in the cluster. 5840// 5841// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5842// with awserr.Error's Code and Message methods to get detailed information about 5843// the error. 5844// 5845// See the AWS API reference guide for Amazon ElastiCache's 5846// API operation RebalanceSlotsInGlobalReplicationGroup for usage and error information. 5847// 5848// Returned Error Codes: 5849// * ErrCodeGlobalReplicationGroupNotFoundFault "GlobalReplicationGroupNotFoundFault" 5850// The Global Datastore does not exist 5851// 5852// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 5853// The Global Datastore is not available or in primary-only state. 5854// 5855// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5856// The value for a parameter is invalid. 5857// 5858// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebalanceSlotsInGlobalReplicationGroup 5859func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroup(input *RebalanceSlotsInGlobalReplicationGroupInput) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 5860 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 5861 return out, req.Send() 5862} 5863 5864// RebalanceSlotsInGlobalReplicationGroupWithContext is the same as RebalanceSlotsInGlobalReplicationGroup with the addition of 5865// the ability to pass a context and additional request options. 5866// 5867// See RebalanceSlotsInGlobalReplicationGroup for details on how to use this API operation. 5868// 5869// The context must be non-nil and will be used for request cancellation. If 5870// the context is nil a panic will occur. In the future the SDK may create 5871// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5872// for more information on using Contexts. 5873func (c *ElastiCache) RebalanceSlotsInGlobalReplicationGroupWithContext(ctx aws.Context, input *RebalanceSlotsInGlobalReplicationGroupInput, opts ...request.Option) (*RebalanceSlotsInGlobalReplicationGroupOutput, error) { 5874 req, out := c.RebalanceSlotsInGlobalReplicationGroupRequest(input) 5875 req.SetContext(ctx) 5876 req.ApplyOptions(opts...) 5877 return out, req.Send() 5878} 5879 5880const opRebootCacheCluster = "RebootCacheCluster" 5881 5882// RebootCacheClusterRequest generates a "aws/request.Request" representing the 5883// client's request for the RebootCacheCluster operation. The "output" return 5884// value will be populated with the request's response once the request completes 5885// successfully. 5886// 5887// Use "Send" method on the returned Request to send the API call to the service. 5888// the "output" return value is not valid until after Send returns without error. 5889// 5890// See RebootCacheCluster for more information on using the RebootCacheCluster 5891// API call, and error handling. 5892// 5893// This method is useful when you want to inject custom logic or configuration 5894// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5895// 5896// 5897// // Example sending a request using the RebootCacheClusterRequest method. 5898// req, resp := client.RebootCacheClusterRequest(params) 5899// 5900// err := req.Send() 5901// if err == nil { // resp is now filled 5902// fmt.Println(resp) 5903// } 5904// 5905// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 5906func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { 5907 op := &request.Operation{ 5908 Name: opRebootCacheCluster, 5909 HTTPMethod: "POST", 5910 HTTPPath: "/", 5911 } 5912 5913 if input == nil { 5914 input = &RebootCacheClusterInput{} 5915 } 5916 5917 output = &RebootCacheClusterOutput{} 5918 req = c.newRequest(op, input, output) 5919 return 5920} 5921 5922// RebootCacheCluster API operation for Amazon ElastiCache. 5923// 5924// Reboots some, or all, of the cache nodes within a provisioned cluster. This 5925// operation applies any modified cache parameter groups to the cluster. The 5926// reboot operation takes place as soon as possible, and results in a momentary 5927// outage to the cluster. During the reboot, the cluster status is set to REBOOTING. 5928// 5929// The reboot causes the contents of the cache (for each cache node being rebooted) 5930// to be lost. 5931// 5932// When the reboot is complete, a cluster event is created. 5933// 5934// Rebooting a cluster is currently supported on Memcached and Redis (cluster 5935// mode disabled) clusters. Rebooting is not supported on Redis (cluster mode 5936// enabled) clusters. 5937// 5938// If you make changes to parameters that require a Redis (cluster mode enabled) 5939// cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) 5940// for an alternate process. 5941// 5942// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5943// with awserr.Error's Code and Message methods to get detailed information about 5944// the error. 5945// 5946// See the AWS API reference guide for Amazon ElastiCache's 5947// API operation RebootCacheCluster for usage and error information. 5948// 5949// Returned Error Codes: 5950// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5951// The requested cluster is not in the available state. 5952// 5953// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5954// The requested cluster ID does not refer to an existing cluster. 5955// 5956// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 5957func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { 5958 req, out := c.RebootCacheClusterRequest(input) 5959 return out, req.Send() 5960} 5961 5962// RebootCacheClusterWithContext is the same as RebootCacheCluster with the addition of 5963// the ability to pass a context and additional request options. 5964// 5965// See RebootCacheCluster for details on how to use this API operation. 5966// 5967// The context must be non-nil and will be used for request cancellation. If 5968// the context is nil a panic will occur. In the future the SDK may create 5969// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5970// for more information on using Contexts. 5971func (c *ElastiCache) RebootCacheClusterWithContext(ctx aws.Context, input *RebootCacheClusterInput, opts ...request.Option) (*RebootCacheClusterOutput, error) { 5972 req, out := c.RebootCacheClusterRequest(input) 5973 req.SetContext(ctx) 5974 req.ApplyOptions(opts...) 5975 return out, req.Send() 5976} 5977 5978const opRemoveTagsFromResource = "RemoveTagsFromResource" 5979 5980// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the 5981// client's request for the RemoveTagsFromResource operation. The "output" return 5982// value will be populated with the request's response once the request completes 5983// successfully. 5984// 5985// Use "Send" method on the returned Request to send the API call to the service. 5986// the "output" return value is not valid until after Send returns without error. 5987// 5988// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource 5989// API call, and error handling. 5990// 5991// This method is useful when you want to inject custom logic or configuration 5992// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5993// 5994// 5995// // Example sending a request using the RemoveTagsFromResourceRequest method. 5996// req, resp := client.RemoveTagsFromResourceRequest(params) 5997// 5998// err := req.Send() 5999// if err == nil { // resp is now filled 6000// fmt.Println(resp) 6001// } 6002// 6003// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 6004func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { 6005 op := &request.Operation{ 6006 Name: opRemoveTagsFromResource, 6007 HTTPMethod: "POST", 6008 HTTPPath: "/", 6009 } 6010 6011 if input == nil { 6012 input = &RemoveTagsFromResourceInput{} 6013 } 6014 6015 output = &TagListMessage{} 6016 req = c.newRequest(op, input, output) 6017 return 6018} 6019 6020// RemoveTagsFromResource API operation for Amazon ElastiCache. 6021// 6022// Removes the tags identified by the TagKeys list from the named resource. 6023// 6024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6025// with awserr.Error's Code and Message methods to get detailed information about 6026// the error. 6027// 6028// See the AWS API reference guide for Amazon ElastiCache's 6029// API operation RemoveTagsFromResource for usage and error information. 6030// 6031// Returned Error Codes: 6032// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 6033// The requested cluster ID does not refer to an existing cluster. 6034// 6035// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 6036// The requested snapshot name does not refer to an existing snapshot. 6037// 6038// * ErrCodeInvalidARNFault "InvalidARN" 6039// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 6040// 6041// * ErrCodeTagNotFoundFault "TagNotFound" 6042// The requested tag was not found on this resource. 6043// 6044// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 6045func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { 6046 req, out := c.RemoveTagsFromResourceRequest(input) 6047 return out, req.Send() 6048} 6049 6050// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of 6051// the ability to pass a context and additional request options. 6052// 6053// See RemoveTagsFromResource for details on how to use this API operation. 6054// 6055// The context must be non-nil and will be used for request cancellation. If 6056// the context is nil a panic will occur. In the future the SDK may create 6057// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6058// for more information on using Contexts. 6059func (c *ElastiCache) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*TagListMessage, error) { 6060 req, out := c.RemoveTagsFromResourceRequest(input) 6061 req.SetContext(ctx) 6062 req.ApplyOptions(opts...) 6063 return out, req.Send() 6064} 6065 6066const opResetCacheParameterGroup = "ResetCacheParameterGroup" 6067 6068// ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the 6069// client's request for the ResetCacheParameterGroup operation. The "output" return 6070// value will be populated with the request's response once the request completes 6071// successfully. 6072// 6073// Use "Send" method on the returned Request to send the API call to the service. 6074// the "output" return value is not valid until after Send returns without error. 6075// 6076// See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup 6077// API call, and error handling. 6078// 6079// This method is useful when you want to inject custom logic or configuration 6080// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6081// 6082// 6083// // Example sending a request using the ResetCacheParameterGroupRequest method. 6084// req, resp := client.ResetCacheParameterGroupRequest(params) 6085// 6086// err := req.Send() 6087// if err == nil { // resp is now filled 6088// fmt.Println(resp) 6089// } 6090// 6091// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 6092func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 6093 op := &request.Operation{ 6094 Name: opResetCacheParameterGroup, 6095 HTTPMethod: "POST", 6096 HTTPPath: "/", 6097 } 6098 6099 if input == nil { 6100 input = &ResetCacheParameterGroupInput{} 6101 } 6102 6103 output = &CacheParameterGroupNameMessage{} 6104 req = c.newRequest(op, input, output) 6105 return 6106} 6107 6108// ResetCacheParameterGroup API operation for Amazon ElastiCache. 6109// 6110// Modifies the parameters of a cache parameter group to the engine or system 6111// default value. You can reset specific parameters by submitting a list of 6112// parameter names. To reset the entire cache parameter group, specify the ResetAllParameters 6113// and CacheParameterGroupName parameters. 6114// 6115// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6116// with awserr.Error's Code and Message methods to get detailed information about 6117// the error. 6118// 6119// See the AWS API reference guide for Amazon ElastiCache's 6120// API operation ResetCacheParameterGroup for usage and error information. 6121// 6122// Returned Error Codes: 6123// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 6124// The current state of the cache parameter group does not allow the requested 6125// operation to occur. 6126// 6127// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 6128// The requested cache parameter group name does not refer to an existing cache 6129// parameter group. 6130// 6131// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6132// The value for a parameter is invalid. 6133// 6134// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6135// Two or more incompatible parameters were specified. 6136// 6137// * ErrCodeInvalidGlobalReplicationGroupStateFault "InvalidGlobalReplicationGroupState" 6138// The Global Datastore is not available or in primary-only state. 6139// 6140// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 6141func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 6142 req, out := c.ResetCacheParameterGroupRequest(input) 6143 return out, req.Send() 6144} 6145 6146// ResetCacheParameterGroupWithContext is the same as ResetCacheParameterGroup with the addition of 6147// the ability to pass a context and additional request options. 6148// 6149// See ResetCacheParameterGroup for details on how to use this API operation. 6150// 6151// The context must be non-nil and will be used for request cancellation. If 6152// the context is nil a panic will occur. In the future the SDK may create 6153// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6154// for more information on using Contexts. 6155func (c *ElastiCache) ResetCacheParameterGroupWithContext(ctx aws.Context, input *ResetCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 6156 req, out := c.ResetCacheParameterGroupRequest(input) 6157 req.SetContext(ctx) 6158 req.ApplyOptions(opts...) 6159 return out, req.Send() 6160} 6161 6162const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" 6163 6164// RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 6165// client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return 6166// value will be populated with the request's response once the request completes 6167// successfully. 6168// 6169// Use "Send" method on the returned Request to send the API call to the service. 6170// the "output" return value is not valid until after Send returns without error. 6171// 6172// See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress 6173// API call, and error handling. 6174// 6175// This method is useful when you want to inject custom logic or configuration 6176// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6177// 6178// 6179// // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. 6180// req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) 6181// 6182// err := req.Send() 6183// if err == nil { // resp is now filled 6184// fmt.Println(resp) 6185// } 6186// 6187// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 6188func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { 6189 op := &request.Operation{ 6190 Name: opRevokeCacheSecurityGroupIngress, 6191 HTTPMethod: "POST", 6192 HTTPPath: "/", 6193 } 6194 6195 if input == nil { 6196 input = &RevokeCacheSecurityGroupIngressInput{} 6197 } 6198 6199 output = &RevokeCacheSecurityGroupIngressOutput{} 6200 req = c.newRequest(op, input, output) 6201 return 6202} 6203 6204// RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 6205// 6206// Revokes ingress from a cache security group. Use this operation to disallow 6207// access from an Amazon EC2 security group that had been previously authorized. 6208// 6209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6210// with awserr.Error's Code and Message methods to get detailed information about 6211// the error. 6212// 6213// See the AWS API reference guide for Amazon ElastiCache's 6214// API operation RevokeCacheSecurityGroupIngress for usage and error information. 6215// 6216// Returned Error Codes: 6217// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 6218// The requested cache security group name does not refer to an existing cache 6219// security group. 6220// 6221// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 6222// The specified Amazon EC2 security group is not authorized for the specified 6223// cache security group. 6224// 6225// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 6226// The current state of the cache security group does not allow deletion. 6227// 6228// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6229// The value for a parameter is invalid. 6230// 6231// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6232// Two or more incompatible parameters were specified. 6233// 6234// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 6235func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { 6236 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 6237 return out, req.Send() 6238} 6239 6240// RevokeCacheSecurityGroupIngressWithContext is the same as RevokeCacheSecurityGroupIngress with the addition of 6241// the ability to pass a context and additional request options. 6242// 6243// See RevokeCacheSecurityGroupIngress for details on how to use this API operation. 6244// 6245// The context must be non-nil and will be used for request cancellation. If 6246// the context is nil a panic will occur. In the future the SDK may create 6247// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6248// for more information on using Contexts. 6249func (c *ElastiCache) RevokeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeCacheSecurityGroupIngressInput, opts ...request.Option) (*RevokeCacheSecurityGroupIngressOutput, error) { 6250 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 6251 req.SetContext(ctx) 6252 req.ApplyOptions(opts...) 6253 return out, req.Send() 6254} 6255 6256const opStartMigration = "StartMigration" 6257 6258// StartMigrationRequest generates a "aws/request.Request" representing the 6259// client's request for the StartMigration operation. The "output" return 6260// value will be populated with the request's response once the request completes 6261// successfully. 6262// 6263// Use "Send" method on the returned Request to send the API call to the service. 6264// the "output" return value is not valid until after Send returns without error. 6265// 6266// See StartMigration for more information on using the StartMigration 6267// API call, and error handling. 6268// 6269// This method is useful when you want to inject custom logic or configuration 6270// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6271// 6272// 6273// // Example sending a request using the StartMigrationRequest method. 6274// req, resp := client.StartMigrationRequest(params) 6275// 6276// err := req.Send() 6277// if err == nil { // resp is now filled 6278// fmt.Println(resp) 6279// } 6280// 6281// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 6282func (c *ElastiCache) StartMigrationRequest(input *StartMigrationInput) (req *request.Request, output *StartMigrationOutput) { 6283 op := &request.Operation{ 6284 Name: opStartMigration, 6285 HTTPMethod: "POST", 6286 HTTPPath: "/", 6287 } 6288 6289 if input == nil { 6290 input = &StartMigrationInput{} 6291 } 6292 6293 output = &StartMigrationOutput{} 6294 req = c.newRequest(op, input, output) 6295 return 6296} 6297 6298// StartMigration API operation for Amazon ElastiCache. 6299// 6300// Start the migration of data. 6301// 6302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6303// with awserr.Error's Code and Message methods to get detailed information about 6304// the error. 6305// 6306// See the AWS API reference guide for Amazon ElastiCache's 6307// API operation StartMigration for usage and error information. 6308// 6309// Returned Error Codes: 6310// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6311// The specified replication group does not exist. 6312// 6313// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6314// The requested replication group is not in the available state. 6315// 6316// * ErrCodeReplicationGroupAlreadyUnderMigrationFault "ReplicationGroupAlreadyUnderMigrationFault" 6317// The targeted replication group is not available. 6318// 6319// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6320// The value for a parameter is invalid. 6321// 6322// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 6323func (c *ElastiCache) StartMigration(input *StartMigrationInput) (*StartMigrationOutput, error) { 6324 req, out := c.StartMigrationRequest(input) 6325 return out, req.Send() 6326} 6327 6328// StartMigrationWithContext is the same as StartMigration with the addition of 6329// the ability to pass a context and additional request options. 6330// 6331// See StartMigration for details on how to use this API operation. 6332// 6333// The context must be non-nil and will be used for request cancellation. If 6334// the context is nil a panic will occur. In the future the SDK may create 6335// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6336// for more information on using Contexts. 6337func (c *ElastiCache) StartMigrationWithContext(ctx aws.Context, input *StartMigrationInput, opts ...request.Option) (*StartMigrationOutput, error) { 6338 req, out := c.StartMigrationRequest(input) 6339 req.SetContext(ctx) 6340 req.ApplyOptions(opts...) 6341 return out, req.Send() 6342} 6343 6344const opTestFailover = "TestFailover" 6345 6346// TestFailoverRequest generates a "aws/request.Request" representing the 6347// client's request for the TestFailover operation. The "output" return 6348// value will be populated with the request's response once the request completes 6349// successfully. 6350// 6351// Use "Send" method on the returned Request to send the API call to the service. 6352// the "output" return value is not valid until after Send returns without error. 6353// 6354// See TestFailover for more information on using the TestFailover 6355// API call, and error handling. 6356// 6357// This method is useful when you want to inject custom logic or configuration 6358// into the SDK's request lifecycle. Such as custom headers, or retry logic. 6359// 6360// 6361// // Example sending a request using the TestFailoverRequest method. 6362// req, resp := client.TestFailoverRequest(params) 6363// 6364// err := req.Send() 6365// if err == nil { // resp is now filled 6366// fmt.Println(resp) 6367// } 6368// 6369// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 6370func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *request.Request, output *TestFailoverOutput) { 6371 op := &request.Operation{ 6372 Name: opTestFailover, 6373 HTTPMethod: "POST", 6374 HTTPPath: "/", 6375 } 6376 6377 if input == nil { 6378 input = &TestFailoverInput{} 6379 } 6380 6381 output = &TestFailoverOutput{} 6382 req = c.newRequest(op, input, output) 6383 return 6384} 6385 6386// TestFailover API operation for Amazon ElastiCache. 6387// 6388// Represents the input of a TestFailover operation which test automatic failover 6389// on a specified node group (called shard in the console) in a replication 6390// group (called cluster in the console). 6391// 6392// Note the following 6393// 6394// * A customer can use this operation to test automatic failover on up to 6395// 5 shards (called node groups in the ElastiCache API and AWS CLI) in any 6396// rolling 24-hour period. 6397// 6398// * If calling this operation on shards in different clusters (called replication 6399// groups in the API and CLI), the calls can be made concurrently. 6400// 6401// * If calling this operation multiple times on different shards in the 6402// same Redis (cluster mode enabled) replication group, the first node replacement 6403// must complete before a subsequent call can be made. 6404// 6405// * To determine whether the node replacement is complete you can check 6406// Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache 6407// API. Look for the following automatic failover related events, listed 6408// here in order of occurrance: Replication group message: Test Failover 6409// API called for node group <node-group-id> Cache cluster message: Failover 6410// from master node <primary-node-id> to replica node <node-id> completed 6411// Replication group message: Failover from master node <primary-node-id> 6412// to replica node <node-id> completed Cache cluster message: Recovering 6413// cache nodes <node-id> Cache cluster message: Finished recovery for cache 6414// nodes <node-id> For more information see: Viewing ElastiCache Events (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) 6415// in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 6416// in the ElastiCache API Reference 6417// 6418// Also see, Testing Multi-AZ (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) 6419// in the ElastiCache User Guide. 6420// 6421// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 6422// with awserr.Error's Code and Message methods to get detailed information about 6423// the error. 6424// 6425// See the AWS API reference guide for Amazon ElastiCache's 6426// API operation TestFailover for usage and error information. 6427// 6428// Returned Error Codes: 6429// * ErrCodeAPICallRateForCustomerExceededFault "APICallRateForCustomerExceeded" 6430// The customer has exceeded the allowed rate of API calls. 6431// 6432// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 6433// The requested cluster is not in the available state. 6434// 6435// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 6436// The requested replication group is not in the available state. 6437// 6438// * ErrCodeNodeGroupNotFoundFault "NodeGroupNotFoundFault" 6439// The node group specified by the NodeGroupId parameter could not be found. 6440// Please verify that the node group exists and that you spelled the NodeGroupId 6441// value correctly. 6442// 6443// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 6444// The specified replication group does not exist. 6445// 6446// * ErrCodeTestFailoverNotAvailableFault "TestFailoverNotAvailableFault" 6447// The TestFailover action is not available. 6448// 6449// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 6450// The KMS key supplied is not valid. 6451// 6452// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 6453// The value for a parameter is invalid. 6454// 6455// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 6456// Two or more incompatible parameters were specified. 6457// 6458// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 6459func (c *ElastiCache) TestFailover(input *TestFailoverInput) (*TestFailoverOutput, error) { 6460 req, out := c.TestFailoverRequest(input) 6461 return out, req.Send() 6462} 6463 6464// TestFailoverWithContext is the same as TestFailover with the addition of 6465// the ability to pass a context and additional request options. 6466// 6467// See TestFailover for details on how to use this API operation. 6468// 6469// The context must be non-nil and will be used for request cancellation. If 6470// the context is nil a panic will occur. In the future the SDK may create 6471// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 6472// for more information on using Contexts. 6473func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailoverInput, opts ...request.Option) (*TestFailoverOutput, error) { 6474 req, out := c.TestFailoverRequest(input) 6475 req.SetContext(ctx) 6476 req.ApplyOptions(opts...) 6477 return out, req.Send() 6478} 6479 6480// Represents the input of an AddTagsToResource operation. 6481type AddTagsToResourceInput struct { 6482 _ struct{} `type:"structure"` 6483 6484 // The Amazon Resource Name (ARN) of the resource to which the tags are to be 6485 // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 6486 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache 6487 // resources are cluster and snapshot. 6488 // 6489 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 6490 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 6491 // 6492 // ResourceName is a required field 6493 ResourceName *string `type:"string" required:"true"` 6494 6495 // A list of cost allocation tags to be added to this resource. A tag is a key-value 6496 // pair. A tag key must be accompanied by a tag value. 6497 // 6498 // Tags is a required field 6499 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 6500} 6501 6502// String returns the string representation 6503func (s AddTagsToResourceInput) String() string { 6504 return awsutil.Prettify(s) 6505} 6506 6507// GoString returns the string representation 6508func (s AddTagsToResourceInput) GoString() string { 6509 return s.String() 6510} 6511 6512// Validate inspects the fields of the type to determine if they are valid. 6513func (s *AddTagsToResourceInput) Validate() error { 6514 invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} 6515 if s.ResourceName == nil { 6516 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 6517 } 6518 if s.Tags == nil { 6519 invalidParams.Add(request.NewErrParamRequired("Tags")) 6520 } 6521 6522 if invalidParams.Len() > 0 { 6523 return invalidParams 6524 } 6525 return nil 6526} 6527 6528// SetResourceName sets the ResourceName field's value. 6529func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { 6530 s.ResourceName = &v 6531 return s 6532} 6533 6534// SetTags sets the Tags field's value. 6535func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { 6536 s.Tags = v 6537 return s 6538} 6539 6540// Represents the input of an AuthorizeCacheSecurityGroupIngress operation. 6541type AuthorizeCacheSecurityGroupIngressInput struct { 6542 _ struct{} `type:"structure"` 6543 6544 // The cache security group that allows network ingress. 6545 // 6546 // CacheSecurityGroupName is a required field 6547 CacheSecurityGroupName *string `type:"string" required:"true"` 6548 6549 // The Amazon EC2 security group to be authorized for ingress to the cache security 6550 // group. 6551 // 6552 // EC2SecurityGroupName is a required field 6553 EC2SecurityGroupName *string `type:"string" required:"true"` 6554 6555 // The AWS account number of the Amazon EC2 security group owner. Note that 6556 // this is not the same thing as an AWS access key ID - you must provide a valid 6557 // AWS account number for this parameter. 6558 // 6559 // EC2SecurityGroupOwnerId is a required field 6560 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 6561} 6562 6563// String returns the string representation 6564func (s AuthorizeCacheSecurityGroupIngressInput) String() string { 6565 return awsutil.Prettify(s) 6566} 6567 6568// GoString returns the string representation 6569func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { 6570 return s.String() 6571} 6572 6573// Validate inspects the fields of the type to determine if they are valid. 6574func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { 6575 invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} 6576 if s.CacheSecurityGroupName == nil { 6577 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 6578 } 6579 if s.EC2SecurityGroupName == nil { 6580 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 6581 } 6582 if s.EC2SecurityGroupOwnerId == nil { 6583 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 6584 } 6585 6586 if invalidParams.Len() > 0 { 6587 return invalidParams 6588 } 6589 return nil 6590} 6591 6592// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 6593func (s *AuthorizeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 6594 s.CacheSecurityGroupName = &v 6595 return s 6596} 6597 6598// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 6599func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 6600 s.EC2SecurityGroupName = &v 6601 return s 6602} 6603 6604// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 6605func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeCacheSecurityGroupIngressInput { 6606 s.EC2SecurityGroupOwnerId = &v 6607 return s 6608} 6609 6610type AuthorizeCacheSecurityGroupIngressOutput struct { 6611 _ struct{} `type:"structure"` 6612 6613 // Represents the output of one of the following operations: 6614 // 6615 // * AuthorizeCacheSecurityGroupIngress 6616 // 6617 // * CreateCacheSecurityGroup 6618 // 6619 // * RevokeCacheSecurityGroupIngress 6620 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 6621} 6622 6623// String returns the string representation 6624func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { 6625 return awsutil.Prettify(s) 6626} 6627 6628// GoString returns the string representation 6629func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { 6630 return s.String() 6631} 6632 6633// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 6634func (s *AuthorizeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *AuthorizeCacheSecurityGroupIngressOutput { 6635 s.CacheSecurityGroup = v 6636 return s 6637} 6638 6639// Describes an Availability Zone in which the cluster is launched. 6640type AvailabilityZone struct { 6641 _ struct{} `type:"structure"` 6642 6643 // The name of the Availability Zone. 6644 Name *string `type:"string"` 6645} 6646 6647// String returns the string representation 6648func (s AvailabilityZone) String() string { 6649 return awsutil.Prettify(s) 6650} 6651 6652// GoString returns the string representation 6653func (s AvailabilityZone) GoString() string { 6654 return s.String() 6655} 6656 6657// SetName sets the Name field's value. 6658func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 6659 s.Name = &v 6660 return s 6661} 6662 6663type BatchApplyUpdateActionInput struct { 6664 _ struct{} `type:"structure"` 6665 6666 // The cache cluster IDs 6667 CacheClusterIds []*string `type:"list"` 6668 6669 // The replication group IDs 6670 ReplicationGroupIds []*string `type:"list"` 6671 6672 // The unique ID of the service update 6673 // 6674 // ServiceUpdateName is a required field 6675 ServiceUpdateName *string `type:"string" required:"true"` 6676} 6677 6678// String returns the string representation 6679func (s BatchApplyUpdateActionInput) String() string { 6680 return awsutil.Prettify(s) 6681} 6682 6683// GoString returns the string representation 6684func (s BatchApplyUpdateActionInput) GoString() string { 6685 return s.String() 6686} 6687 6688// Validate inspects the fields of the type to determine if they are valid. 6689func (s *BatchApplyUpdateActionInput) Validate() error { 6690 invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} 6691 if s.ServiceUpdateName == nil { 6692 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 6693 } 6694 6695 if invalidParams.Len() > 0 { 6696 return invalidParams 6697 } 6698 return nil 6699} 6700 6701// SetCacheClusterIds sets the CacheClusterIds field's value. 6702func (s *BatchApplyUpdateActionInput) SetCacheClusterIds(v []*string) *BatchApplyUpdateActionInput { 6703 s.CacheClusterIds = v 6704 return s 6705} 6706 6707// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 6708func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { 6709 s.ReplicationGroupIds = v 6710 return s 6711} 6712 6713// SetServiceUpdateName sets the ServiceUpdateName field's value. 6714func (s *BatchApplyUpdateActionInput) SetServiceUpdateName(v string) *BatchApplyUpdateActionInput { 6715 s.ServiceUpdateName = &v 6716 return s 6717} 6718 6719type BatchApplyUpdateActionOutput struct { 6720 _ struct{} `type:"structure"` 6721 6722 // Update actions that have been processed successfully 6723 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 6724 6725 // Update actions that haven't been processed successfully 6726 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 6727} 6728 6729// String returns the string representation 6730func (s BatchApplyUpdateActionOutput) String() string { 6731 return awsutil.Prettify(s) 6732} 6733 6734// GoString returns the string representation 6735func (s BatchApplyUpdateActionOutput) GoString() string { 6736 return s.String() 6737} 6738 6739// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 6740func (s *BatchApplyUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchApplyUpdateActionOutput { 6741 s.ProcessedUpdateActions = v 6742 return s 6743} 6744 6745// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 6746func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchApplyUpdateActionOutput { 6747 s.UnprocessedUpdateActions = v 6748 return s 6749} 6750 6751type BatchStopUpdateActionInput struct { 6752 _ struct{} `type:"structure"` 6753 6754 // The cache cluster IDs 6755 CacheClusterIds []*string `type:"list"` 6756 6757 // The replication group IDs 6758 ReplicationGroupIds []*string `type:"list"` 6759 6760 // The unique ID of the service update 6761 // 6762 // ServiceUpdateName is a required field 6763 ServiceUpdateName *string `type:"string" required:"true"` 6764} 6765 6766// String returns the string representation 6767func (s BatchStopUpdateActionInput) String() string { 6768 return awsutil.Prettify(s) 6769} 6770 6771// GoString returns the string representation 6772func (s BatchStopUpdateActionInput) GoString() string { 6773 return s.String() 6774} 6775 6776// Validate inspects the fields of the type to determine if they are valid. 6777func (s *BatchStopUpdateActionInput) Validate() error { 6778 invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} 6779 if s.ServiceUpdateName == nil { 6780 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 6781 } 6782 6783 if invalidParams.Len() > 0 { 6784 return invalidParams 6785 } 6786 return nil 6787} 6788 6789// SetCacheClusterIds sets the CacheClusterIds field's value. 6790func (s *BatchStopUpdateActionInput) SetCacheClusterIds(v []*string) *BatchStopUpdateActionInput { 6791 s.CacheClusterIds = v 6792 return s 6793} 6794 6795// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 6796func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { 6797 s.ReplicationGroupIds = v 6798 return s 6799} 6800 6801// SetServiceUpdateName sets the ServiceUpdateName field's value. 6802func (s *BatchStopUpdateActionInput) SetServiceUpdateName(v string) *BatchStopUpdateActionInput { 6803 s.ServiceUpdateName = &v 6804 return s 6805} 6806 6807type BatchStopUpdateActionOutput struct { 6808 _ struct{} `type:"structure"` 6809 6810 // Update actions that have been processed successfully 6811 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 6812 6813 // Update actions that haven't been processed successfully 6814 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 6815} 6816 6817// String returns the string representation 6818func (s BatchStopUpdateActionOutput) String() string { 6819 return awsutil.Prettify(s) 6820} 6821 6822// GoString returns the string representation 6823func (s BatchStopUpdateActionOutput) GoString() string { 6824 return s.String() 6825} 6826 6827// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 6828func (s *BatchStopUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchStopUpdateActionOutput { 6829 s.ProcessedUpdateActions = v 6830 return s 6831} 6832 6833// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 6834func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchStopUpdateActionOutput { 6835 s.UnprocessedUpdateActions = v 6836 return s 6837} 6838 6839// Contains all of the attributes of a specific cluster. 6840type CacheCluster struct { 6841 _ struct{} `type:"structure"` 6842 6843 // The ARN (Amazon Resource Name) of the cache cluster. 6844 ARN *string `type:"string"` 6845 6846 // A flag that enables encryption at-rest when set to true. 6847 // 6848 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 6849 // is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled 6850 // to true when you create a cluster. 6851 // 6852 // Required: Only available when creating a replication group in an Amazon VPC 6853 // using redis version 3.2.6, 4.x or later. 6854 // 6855 // Default: false 6856 AtRestEncryptionEnabled *bool `type:"boolean"` 6857 6858 // A flag that enables using an AuthToken (password) when issuing Redis commands. 6859 // 6860 // Default: false 6861 AuthTokenEnabled *bool `type:"boolean"` 6862 6863 // The date the auth token was last modified 6864 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 6865 6866 // This parameter is currently disabled. 6867 AutoMinorVersionUpgrade *bool `type:"boolean"` 6868 6869 // The date and time when the cluster was created. 6870 CacheClusterCreateTime *time.Time `type:"timestamp"` 6871 6872 // The user-supplied identifier of the cluster. This identifier is a unique 6873 // key that identifies a cluster. 6874 CacheClusterId *string `type:"string"` 6875 6876 // The current state of this cluster, one of the following values: available, 6877 // creating, deleted, deleting, incompatible-network, modifying, rebooting cluster 6878 // nodes, restore-failed, or snapshotting. 6879 CacheClusterStatus *string `type:"string"` 6880 6881 // The name of the compute and memory capacity node type for the cluster. 6882 // 6883 // The following node types are supported by ElastiCache. Generally speaking, 6884 // the current generation types provide more memory and computational power 6885 // at lower cost when compared to their equivalent previous generation counterparts. 6886 // 6887 // * General purpose: Current generation: M5 node types: cache.m5.large, 6888 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 6889 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 6890 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 6891 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 6892 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 6893 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 6894 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 6895 // 6896 // * Compute optimized: Previous generation: (not recommended) C1 node types: 6897 // cache.c1.xlarge 6898 // 6899 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 6900 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 6901 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 6902 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 6903 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 6904 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 6905 // cache.r3.8xlarge 6906 // 6907 // Additional node type info 6908 // 6909 // * All current generation instance types are created in Amazon VPC by default. 6910 // 6911 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 6912 // 6913 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 6914 // 6915 // * Redis configuration variables appendonly and appendfsync are not supported 6916 // on Redis version 2.8.22 and later. 6917 CacheNodeType *string `type:"string"` 6918 6919 // A list of cache nodes that are members of the cluster. 6920 CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` 6921 6922 // Status of the cache parameter group. 6923 CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` 6924 6925 // A list of cache security group elements, composed of name and status sub-elements. 6926 CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` 6927 6928 // The name of the cache subnet group associated with the cluster. 6929 CacheSubnetGroupName *string `type:"string"` 6930 6931 // The URL of the web page where you can download the latest ElastiCache client 6932 // library. 6933 ClientDownloadLandingPage *string `type:"string"` 6934 6935 // Represents a Memcached cluster endpoint which, if Automatic Discovery is 6936 // enabled on the cluster, can be used by an application to connect to any node 6937 // in the cluster. The configuration endpoint will always have .cfg in it. 6938 // 6939 // Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 6940 ConfigurationEndpoint *Endpoint `type:"structure"` 6941 6942 // The name of the cache engine (memcached or redis) to be used for this cluster. 6943 Engine *string `type:"string"` 6944 6945 // The version of the cache engine that is used in this cluster. 6946 EngineVersion *string `type:"string"` 6947 6948 // Describes a notification topic and its status. Notification topics are used 6949 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 6950 // Service (SNS). 6951 NotificationConfiguration *NotificationConfiguration `type:"structure"` 6952 6953 // The number of cache nodes in the cluster. 6954 // 6955 // For clusters running Redis, this value must be 1. For clusters running Memcached, 6956 // this value must be between 1 and 20. 6957 NumCacheNodes *int64 `type:"integer"` 6958 6959 // A group of settings that are applied to the cluster in the future, or that 6960 // are currently being applied. 6961 PendingModifiedValues *PendingModifiedValues `type:"structure"` 6962 6963 // The name of the Availability Zone in which the cluster is located or "Multiple" 6964 // if the cache nodes are located in different Availability Zones. 6965 PreferredAvailabilityZone *string `type:"string"` 6966 6967 // Specifies the weekly time range during which maintenance on the cluster is 6968 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 6969 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 6970 // 6971 // Valid values for ddd are: 6972 // 6973 // * sun 6974 // 6975 // * mon 6976 // 6977 // * tue 6978 // 6979 // * wed 6980 // 6981 // * thu 6982 // 6983 // * fri 6984 // 6985 // * sat 6986 // 6987 // Example: sun:23:00-mon:01:30 6988 PreferredMaintenanceWindow *string `type:"string"` 6989 6990 // The replication group to which this cluster belongs. If this field is empty, 6991 // the cluster is not associated with any replication group. 6992 ReplicationGroupId *string `type:"string"` 6993 6994 // A list of VPC Security Groups associated with the cluster. 6995 SecurityGroups []*SecurityGroupMembership `type:"list"` 6996 6997 // The number of days for which ElastiCache retains automatic cluster snapshots 6998 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 6999 // a snapshot that was taken today is retained for 5 days before being deleted. 7000 // 7001 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 7002 // off. 7003 SnapshotRetentionLimit *int64 `type:"integer"` 7004 7005 // The daily time range (in UTC) during which ElastiCache begins taking a daily 7006 // snapshot of your cluster. 7007 // 7008 // Example: 05:00-09:00 7009 SnapshotWindow *string `type:"string"` 7010 7011 // A flag that enables in-transit encryption when set to true. 7012 // 7013 // You cannot modify the value of TransitEncryptionEnabled after the cluster 7014 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 7015 // to true when you create a cluster. 7016 // 7017 // Required: Only available when creating a replication group in an Amazon VPC 7018 // using redis version 3.2.6, 4.x or later. 7019 // 7020 // Default: false 7021 TransitEncryptionEnabled *bool `type:"boolean"` 7022} 7023 7024// String returns the string representation 7025func (s CacheCluster) String() string { 7026 return awsutil.Prettify(s) 7027} 7028 7029// GoString returns the string representation 7030func (s CacheCluster) GoString() string { 7031 return s.String() 7032} 7033 7034// SetARN sets the ARN field's value. 7035func (s *CacheCluster) SetARN(v string) *CacheCluster { 7036 s.ARN = &v 7037 return s 7038} 7039 7040// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 7041func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { 7042 s.AtRestEncryptionEnabled = &v 7043 return s 7044} 7045 7046// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 7047func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster { 7048 s.AuthTokenEnabled = &v 7049 return s 7050} 7051 7052// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 7053func (s *CacheCluster) SetAuthTokenLastModifiedDate(v time.Time) *CacheCluster { 7054 s.AuthTokenLastModifiedDate = &v 7055 return s 7056} 7057 7058// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 7059func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster { 7060 s.AutoMinorVersionUpgrade = &v 7061 return s 7062} 7063 7064// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 7065func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster { 7066 s.CacheClusterCreateTime = &v 7067 return s 7068} 7069 7070// SetCacheClusterId sets the CacheClusterId field's value. 7071func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster { 7072 s.CacheClusterId = &v 7073 return s 7074} 7075 7076// SetCacheClusterStatus sets the CacheClusterStatus field's value. 7077func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster { 7078 s.CacheClusterStatus = &v 7079 return s 7080} 7081 7082// SetCacheNodeType sets the CacheNodeType field's value. 7083func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster { 7084 s.CacheNodeType = &v 7085 return s 7086} 7087 7088// SetCacheNodes sets the CacheNodes field's value. 7089func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster { 7090 s.CacheNodes = v 7091 return s 7092} 7093 7094// SetCacheParameterGroup sets the CacheParameterGroup field's value. 7095func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster { 7096 s.CacheParameterGroup = v 7097 return s 7098} 7099 7100// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 7101func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster { 7102 s.CacheSecurityGroups = v 7103 return s 7104} 7105 7106// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7107func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster { 7108 s.CacheSubnetGroupName = &v 7109 return s 7110} 7111 7112// SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value. 7113func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster { 7114 s.ClientDownloadLandingPage = &v 7115 return s 7116} 7117 7118// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 7119func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster { 7120 s.ConfigurationEndpoint = v 7121 return s 7122} 7123 7124// SetEngine sets the Engine field's value. 7125func (s *CacheCluster) SetEngine(v string) *CacheCluster { 7126 s.Engine = &v 7127 return s 7128} 7129 7130// SetEngineVersion sets the EngineVersion field's value. 7131func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { 7132 s.EngineVersion = &v 7133 return s 7134} 7135 7136// SetNotificationConfiguration sets the NotificationConfiguration field's value. 7137func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { 7138 s.NotificationConfiguration = v 7139 return s 7140} 7141 7142// SetNumCacheNodes sets the NumCacheNodes field's value. 7143func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster { 7144 s.NumCacheNodes = &v 7145 return s 7146} 7147 7148// SetPendingModifiedValues sets the PendingModifiedValues field's value. 7149func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster { 7150 s.PendingModifiedValues = v 7151 return s 7152} 7153 7154// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 7155func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster { 7156 s.PreferredAvailabilityZone = &v 7157 return s 7158} 7159 7160// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 7161func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster { 7162 s.PreferredMaintenanceWindow = &v 7163 return s 7164} 7165 7166// SetReplicationGroupId sets the ReplicationGroupId field's value. 7167func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster { 7168 s.ReplicationGroupId = &v 7169 return s 7170} 7171 7172// SetSecurityGroups sets the SecurityGroups field's value. 7173func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster { 7174 s.SecurityGroups = v 7175 return s 7176} 7177 7178// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 7179func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster { 7180 s.SnapshotRetentionLimit = &v 7181 return s 7182} 7183 7184// SetSnapshotWindow sets the SnapshotWindow field's value. 7185func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster { 7186 s.SnapshotWindow = &v 7187 return s 7188} 7189 7190// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 7191func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster { 7192 s.TransitEncryptionEnabled = &v 7193 return s 7194} 7195 7196// Provides all of the details about a particular cache engine version. 7197type CacheEngineVersion struct { 7198 _ struct{} `type:"structure"` 7199 7200 // The description of the cache engine. 7201 CacheEngineDescription *string `type:"string"` 7202 7203 // The description of the cache engine version. 7204 CacheEngineVersionDescription *string `type:"string"` 7205 7206 // The name of the cache parameter group family associated with this cache engine. 7207 // 7208 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 7209 // | redis4.0 | redis5.0 | 7210 CacheParameterGroupFamily *string `type:"string"` 7211 7212 // The name of the cache engine. 7213 Engine *string `type:"string"` 7214 7215 // The version number of the cache engine. 7216 EngineVersion *string `type:"string"` 7217} 7218 7219// String returns the string representation 7220func (s CacheEngineVersion) String() string { 7221 return awsutil.Prettify(s) 7222} 7223 7224// GoString returns the string representation 7225func (s CacheEngineVersion) GoString() string { 7226 return s.String() 7227} 7228 7229// SetCacheEngineDescription sets the CacheEngineDescription field's value. 7230func (s *CacheEngineVersion) SetCacheEngineDescription(v string) *CacheEngineVersion { 7231 s.CacheEngineDescription = &v 7232 return s 7233} 7234 7235// SetCacheEngineVersionDescription sets the CacheEngineVersionDescription field's value. 7236func (s *CacheEngineVersion) SetCacheEngineVersionDescription(v string) *CacheEngineVersion { 7237 s.CacheEngineVersionDescription = &v 7238 return s 7239} 7240 7241// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 7242func (s *CacheEngineVersion) SetCacheParameterGroupFamily(v string) *CacheEngineVersion { 7243 s.CacheParameterGroupFamily = &v 7244 return s 7245} 7246 7247// SetEngine sets the Engine field's value. 7248func (s *CacheEngineVersion) SetEngine(v string) *CacheEngineVersion { 7249 s.Engine = &v 7250 return s 7251} 7252 7253// SetEngineVersion sets the EngineVersion field's value. 7254func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { 7255 s.EngineVersion = &v 7256 return s 7257} 7258 7259// Represents an individual cache node within a cluster. Each cache node runs 7260// its own instance of the cluster's protocol-compliant caching software - either 7261// Memcached or Redis. 7262// 7263// The following node types are supported by ElastiCache. Generally speaking, 7264// the current generation types provide more memory and computational power 7265// at lower cost when compared to their equivalent previous generation counterparts. 7266// 7267// * General purpose: Current generation: M5 node types: cache.m5.large, 7268// cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 7269// cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 7270// cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 7271// cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 7272// Previous generation: (not recommended) T1 node types: cache.t1.micro M1 7273// node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 7274// M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 7275// 7276// * Compute optimized: Previous generation: (not recommended) C1 node types: 7277// cache.c1.xlarge 7278// 7279// * Memory optimized: Current generation: R5 node types: cache.r5.large, 7280// cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 7281// cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 7282// cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 7283// (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 7284// R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 7285// cache.r3.8xlarge 7286// 7287// Additional node type info 7288// 7289// * All current generation instance types are created in Amazon VPC by default. 7290// 7291// * Redis append-only files (AOF) are not supported for T1 or T2 instances. 7292// 7293// * Redis Multi-AZ with automatic failover is not supported on T1 instances. 7294// 7295// * Redis configuration variables appendonly and appendfsync are not supported 7296// on Redis version 2.8.22 and later. 7297type CacheNode struct { 7298 _ struct{} `type:"structure"` 7299 7300 // The date and time when the cache node was created. 7301 CacheNodeCreateTime *time.Time `type:"timestamp"` 7302 7303 // The cache node identifier. A node ID is a numeric identifier (0001, 0002, 7304 // etc.). The combination of cluster ID and node ID uniquely identifies every 7305 // cache node used in a customer's AWS account. 7306 CacheNodeId *string `type:"string"` 7307 7308 // The current state of this cache node, one of the following values: available, 7309 // creating, rebooting, or deleting. 7310 CacheNodeStatus *string `type:"string"` 7311 7312 // The Availability Zone where this node was created and now resides. 7313 CustomerAvailabilityZone *string `type:"string"` 7314 7315 // The hostname for connecting to this cache node. 7316 Endpoint *Endpoint `type:"structure"` 7317 7318 // The status of the parameter group applied to this cache node. 7319 ParameterGroupStatus *string `type:"string"` 7320 7321 // The ID of the primary node to which this read replica node is synchronized. 7322 // If this field is empty, this node is not associated with a primary cluster. 7323 SourceCacheNodeId *string `type:"string"` 7324} 7325 7326// String returns the string representation 7327func (s CacheNode) String() string { 7328 return awsutil.Prettify(s) 7329} 7330 7331// GoString returns the string representation 7332func (s CacheNode) GoString() string { 7333 return s.String() 7334} 7335 7336// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 7337func (s *CacheNode) SetCacheNodeCreateTime(v time.Time) *CacheNode { 7338 s.CacheNodeCreateTime = &v 7339 return s 7340} 7341 7342// SetCacheNodeId sets the CacheNodeId field's value. 7343func (s *CacheNode) SetCacheNodeId(v string) *CacheNode { 7344 s.CacheNodeId = &v 7345 return s 7346} 7347 7348// SetCacheNodeStatus sets the CacheNodeStatus field's value. 7349func (s *CacheNode) SetCacheNodeStatus(v string) *CacheNode { 7350 s.CacheNodeStatus = &v 7351 return s 7352} 7353 7354// SetCustomerAvailabilityZone sets the CustomerAvailabilityZone field's value. 7355func (s *CacheNode) SetCustomerAvailabilityZone(v string) *CacheNode { 7356 s.CustomerAvailabilityZone = &v 7357 return s 7358} 7359 7360// SetEndpoint sets the Endpoint field's value. 7361func (s *CacheNode) SetEndpoint(v *Endpoint) *CacheNode { 7362 s.Endpoint = v 7363 return s 7364} 7365 7366// SetParameterGroupStatus sets the ParameterGroupStatus field's value. 7367func (s *CacheNode) SetParameterGroupStatus(v string) *CacheNode { 7368 s.ParameterGroupStatus = &v 7369 return s 7370} 7371 7372// SetSourceCacheNodeId sets the SourceCacheNodeId field's value. 7373func (s *CacheNode) SetSourceCacheNodeId(v string) *CacheNode { 7374 s.SourceCacheNodeId = &v 7375 return s 7376} 7377 7378// A parameter that has a different value for each cache node type it is applied 7379// to. For example, in a Redis cluster, a cache.m1.large cache node type would 7380// have a larger maxmemory value than a cache.m1.small type. 7381type CacheNodeTypeSpecificParameter struct { 7382 _ struct{} `type:"structure"` 7383 7384 // The valid range of values for the parameter. 7385 AllowedValues *string `type:"string"` 7386 7387 // A list of cache node types and their corresponding values for this parameter. 7388 CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` 7389 7390 // Indicates whether a change to the parameter is applied immediately or requires 7391 // a reboot for the change to be applied. You can force a reboot or wait until 7392 // the next maintenance window's reboot. For more information, see Rebooting 7393 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 7394 ChangeType *string `type:"string" enum:"ChangeType"` 7395 7396 // The valid data type for the parameter. 7397 DataType *string `type:"string"` 7398 7399 // A description of the parameter. 7400 Description *string `type:"string"` 7401 7402 // Indicates whether (true) or not (false) the parameter can be modified. Some 7403 // parameters have security or operational implications that prevent them from 7404 // being changed. 7405 IsModifiable *bool `type:"boolean"` 7406 7407 // The earliest cache engine version to which the parameter can apply. 7408 MinimumEngineVersion *string `type:"string"` 7409 7410 // The name of the parameter. 7411 ParameterName *string `type:"string"` 7412 7413 // The source of the parameter value. 7414 Source *string `type:"string"` 7415} 7416 7417// String returns the string representation 7418func (s CacheNodeTypeSpecificParameter) String() string { 7419 return awsutil.Prettify(s) 7420} 7421 7422// GoString returns the string representation 7423func (s CacheNodeTypeSpecificParameter) GoString() string { 7424 return s.String() 7425} 7426 7427// SetAllowedValues sets the AllowedValues field's value. 7428func (s *CacheNodeTypeSpecificParameter) SetAllowedValues(v string) *CacheNodeTypeSpecificParameter { 7429 s.AllowedValues = &v 7430 return s 7431} 7432 7433// SetCacheNodeTypeSpecificValues sets the CacheNodeTypeSpecificValues field's value. 7434func (s *CacheNodeTypeSpecificParameter) SetCacheNodeTypeSpecificValues(v []*CacheNodeTypeSpecificValue) *CacheNodeTypeSpecificParameter { 7435 s.CacheNodeTypeSpecificValues = v 7436 return s 7437} 7438 7439// SetChangeType sets the ChangeType field's value. 7440func (s *CacheNodeTypeSpecificParameter) SetChangeType(v string) *CacheNodeTypeSpecificParameter { 7441 s.ChangeType = &v 7442 return s 7443} 7444 7445// SetDataType sets the DataType field's value. 7446func (s *CacheNodeTypeSpecificParameter) SetDataType(v string) *CacheNodeTypeSpecificParameter { 7447 s.DataType = &v 7448 return s 7449} 7450 7451// SetDescription sets the Description field's value. 7452func (s *CacheNodeTypeSpecificParameter) SetDescription(v string) *CacheNodeTypeSpecificParameter { 7453 s.Description = &v 7454 return s 7455} 7456 7457// SetIsModifiable sets the IsModifiable field's value. 7458func (s *CacheNodeTypeSpecificParameter) SetIsModifiable(v bool) *CacheNodeTypeSpecificParameter { 7459 s.IsModifiable = &v 7460 return s 7461} 7462 7463// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 7464func (s *CacheNodeTypeSpecificParameter) SetMinimumEngineVersion(v string) *CacheNodeTypeSpecificParameter { 7465 s.MinimumEngineVersion = &v 7466 return s 7467} 7468 7469// SetParameterName sets the ParameterName field's value. 7470func (s *CacheNodeTypeSpecificParameter) SetParameterName(v string) *CacheNodeTypeSpecificParameter { 7471 s.ParameterName = &v 7472 return s 7473} 7474 7475// SetSource sets the Source field's value. 7476func (s *CacheNodeTypeSpecificParameter) SetSource(v string) *CacheNodeTypeSpecificParameter { 7477 s.Source = &v 7478 return s 7479} 7480 7481// A value that applies only to a certain cache node type. 7482type CacheNodeTypeSpecificValue struct { 7483 _ struct{} `type:"structure"` 7484 7485 // The cache node type for which this value applies. 7486 CacheNodeType *string `type:"string"` 7487 7488 // The value for the cache node type. 7489 Value *string `type:"string"` 7490} 7491 7492// String returns the string representation 7493func (s CacheNodeTypeSpecificValue) String() string { 7494 return awsutil.Prettify(s) 7495} 7496 7497// GoString returns the string representation 7498func (s CacheNodeTypeSpecificValue) GoString() string { 7499 return s.String() 7500} 7501 7502// SetCacheNodeType sets the CacheNodeType field's value. 7503func (s *CacheNodeTypeSpecificValue) SetCacheNodeType(v string) *CacheNodeTypeSpecificValue { 7504 s.CacheNodeType = &v 7505 return s 7506} 7507 7508// SetValue sets the Value field's value. 7509func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificValue { 7510 s.Value = &v 7511 return s 7512} 7513 7514// The status of the service update on the cache node 7515type CacheNodeUpdateStatus struct { 7516 _ struct{} `type:"structure"` 7517 7518 // The node ID of the cache cluster 7519 CacheNodeId *string `type:"string"` 7520 7521 // The deletion date of the node 7522 NodeDeletionDate *time.Time `type:"timestamp"` 7523 7524 // The end date of the update for a node 7525 NodeUpdateEndDate *time.Time `type:"timestamp"` 7526 7527 // Reflects whether the update was initiated by the customer or automatically 7528 // applied 7529 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 7530 7531 // The date when the update is triggered 7532 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 7533 7534 // The start date of the update for a node 7535 NodeUpdateStartDate *time.Time `type:"timestamp"` 7536 7537 // The update status of the node 7538 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 7539 7540 // The date when the NodeUpdateStatus was last modified> 7541 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 7542} 7543 7544// String returns the string representation 7545func (s CacheNodeUpdateStatus) String() string { 7546 return awsutil.Prettify(s) 7547} 7548 7549// GoString returns the string representation 7550func (s CacheNodeUpdateStatus) GoString() string { 7551 return s.String() 7552} 7553 7554// SetCacheNodeId sets the CacheNodeId field's value. 7555func (s *CacheNodeUpdateStatus) SetCacheNodeId(v string) *CacheNodeUpdateStatus { 7556 s.CacheNodeId = &v 7557 return s 7558} 7559 7560// SetNodeDeletionDate sets the NodeDeletionDate field's value. 7561func (s *CacheNodeUpdateStatus) SetNodeDeletionDate(v time.Time) *CacheNodeUpdateStatus { 7562 s.NodeDeletionDate = &v 7563 return s 7564} 7565 7566// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 7567func (s *CacheNodeUpdateStatus) SetNodeUpdateEndDate(v time.Time) *CacheNodeUpdateStatus { 7568 s.NodeUpdateEndDate = &v 7569 return s 7570} 7571 7572// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 7573func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedBy(v string) *CacheNodeUpdateStatus { 7574 s.NodeUpdateInitiatedBy = &v 7575 return s 7576} 7577 7578// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 7579func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *CacheNodeUpdateStatus { 7580 s.NodeUpdateInitiatedDate = &v 7581 return s 7582} 7583 7584// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 7585func (s *CacheNodeUpdateStatus) SetNodeUpdateStartDate(v time.Time) *CacheNodeUpdateStatus { 7586 s.NodeUpdateStartDate = &v 7587 return s 7588} 7589 7590// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 7591func (s *CacheNodeUpdateStatus) SetNodeUpdateStatus(v string) *CacheNodeUpdateStatus { 7592 s.NodeUpdateStatus = &v 7593 return s 7594} 7595 7596// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 7597func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *CacheNodeUpdateStatus { 7598 s.NodeUpdateStatusModifiedDate = &v 7599 return s 7600} 7601 7602// Represents the output of a CreateCacheParameterGroup operation. 7603type CacheParameterGroup struct { 7604 _ struct{} `type:"structure"` 7605 7606 // The ARN (Amazon Resource Name) of the cache parameter group. 7607 ARN *string `type:"string"` 7608 7609 // The name of the cache parameter group family that this cache parameter group 7610 // is compatible with. 7611 // 7612 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 7613 // | redis4.0 | redis5.0 | 7614 CacheParameterGroupFamily *string `type:"string"` 7615 7616 // The name of the cache parameter group. 7617 CacheParameterGroupName *string `type:"string"` 7618 7619 // The description for this cache parameter group. 7620 Description *string `type:"string"` 7621 7622 // Indicates whether the parameter group is associated with a Global Datastore 7623 IsGlobal *bool `type:"boolean"` 7624} 7625 7626// String returns the string representation 7627func (s CacheParameterGroup) String() string { 7628 return awsutil.Prettify(s) 7629} 7630 7631// GoString returns the string representation 7632func (s CacheParameterGroup) GoString() string { 7633 return s.String() 7634} 7635 7636// SetARN sets the ARN field's value. 7637func (s *CacheParameterGroup) SetARN(v string) *CacheParameterGroup { 7638 s.ARN = &v 7639 return s 7640} 7641 7642// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 7643func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { 7644 s.CacheParameterGroupFamily = &v 7645 return s 7646} 7647 7648// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7649func (s *CacheParameterGroup) SetCacheParameterGroupName(v string) *CacheParameterGroup { 7650 s.CacheParameterGroupName = &v 7651 return s 7652} 7653 7654// SetDescription sets the Description field's value. 7655func (s *CacheParameterGroup) SetDescription(v string) *CacheParameterGroup { 7656 s.Description = &v 7657 return s 7658} 7659 7660// SetIsGlobal sets the IsGlobal field's value. 7661func (s *CacheParameterGroup) SetIsGlobal(v bool) *CacheParameterGroup { 7662 s.IsGlobal = &v 7663 return s 7664} 7665 7666// Represents the output of one of the following operations: 7667// 7668// * ModifyCacheParameterGroup 7669// 7670// * ResetCacheParameterGroup 7671type CacheParameterGroupNameMessage struct { 7672 _ struct{} `type:"structure"` 7673 7674 // The name of the cache parameter group. 7675 CacheParameterGroupName *string `type:"string"` 7676} 7677 7678// String returns the string representation 7679func (s CacheParameterGroupNameMessage) String() string { 7680 return awsutil.Prettify(s) 7681} 7682 7683// GoString returns the string representation 7684func (s CacheParameterGroupNameMessage) GoString() string { 7685 return s.String() 7686} 7687 7688// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7689func (s *CacheParameterGroupNameMessage) SetCacheParameterGroupName(v string) *CacheParameterGroupNameMessage { 7690 s.CacheParameterGroupName = &v 7691 return s 7692} 7693 7694// Status of the cache parameter group. 7695type CacheParameterGroupStatus struct { 7696 _ struct{} `type:"structure"` 7697 7698 // A list of the cache node IDs which need to be rebooted for parameter changes 7699 // to be applied. A node ID is a numeric identifier (0001, 0002, etc.). 7700 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"` 7701 7702 // The name of the cache parameter group. 7703 CacheParameterGroupName *string `type:"string"` 7704 7705 // The status of parameter updates. 7706 ParameterApplyStatus *string `type:"string"` 7707} 7708 7709// String returns the string representation 7710func (s CacheParameterGroupStatus) String() string { 7711 return awsutil.Prettify(s) 7712} 7713 7714// GoString returns the string representation 7715func (s CacheParameterGroupStatus) GoString() string { 7716 return s.String() 7717} 7718 7719// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 7720func (s *CacheParameterGroupStatus) SetCacheNodeIdsToReboot(v []*string) *CacheParameterGroupStatus { 7721 s.CacheNodeIdsToReboot = v 7722 return s 7723} 7724 7725// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7726func (s *CacheParameterGroupStatus) SetCacheParameterGroupName(v string) *CacheParameterGroupStatus { 7727 s.CacheParameterGroupName = &v 7728 return s 7729} 7730 7731// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 7732func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CacheParameterGroupStatus { 7733 s.ParameterApplyStatus = &v 7734 return s 7735} 7736 7737// Represents the output of one of the following operations: 7738// 7739// * AuthorizeCacheSecurityGroupIngress 7740// 7741// * CreateCacheSecurityGroup 7742// 7743// * RevokeCacheSecurityGroupIngress 7744type CacheSecurityGroup struct { 7745 _ struct{} `type:"structure"` 7746 7747 // The ARN (Amazon Resource Name) of the cache security group. 7748 ARN *string `type:"string"` 7749 7750 // The name of the cache security group. 7751 CacheSecurityGroupName *string `type:"string"` 7752 7753 // The description of the cache security group. 7754 Description *string `type:"string"` 7755 7756 // A list of Amazon EC2 security groups that are associated with this cache 7757 // security group. 7758 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 7759 7760 // The AWS account ID of the cache security group owner. 7761 OwnerId *string `type:"string"` 7762} 7763 7764// String returns the string representation 7765func (s CacheSecurityGroup) String() string { 7766 return awsutil.Prettify(s) 7767} 7768 7769// GoString returns the string representation 7770func (s CacheSecurityGroup) GoString() string { 7771 return s.String() 7772} 7773 7774// SetARN sets the ARN field's value. 7775func (s *CacheSecurityGroup) SetARN(v string) *CacheSecurityGroup { 7776 s.ARN = &v 7777 return s 7778} 7779 7780// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7781func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { 7782 s.CacheSecurityGroupName = &v 7783 return s 7784} 7785 7786// SetDescription sets the Description field's value. 7787func (s *CacheSecurityGroup) SetDescription(v string) *CacheSecurityGroup { 7788 s.Description = &v 7789 return s 7790} 7791 7792// SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 7793func (s *CacheSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *CacheSecurityGroup { 7794 s.EC2SecurityGroups = v 7795 return s 7796} 7797 7798// SetOwnerId sets the OwnerId field's value. 7799func (s *CacheSecurityGroup) SetOwnerId(v string) *CacheSecurityGroup { 7800 s.OwnerId = &v 7801 return s 7802} 7803 7804// Represents a cluster's status within a particular cache security group. 7805type CacheSecurityGroupMembership struct { 7806 _ struct{} `type:"structure"` 7807 7808 // The name of the cache security group. 7809 CacheSecurityGroupName *string `type:"string"` 7810 7811 // The membership status in the cache security group. The status changes when 7812 // a cache security group is modified, or when the cache security groups assigned 7813 // to a cluster are modified. 7814 Status *string `type:"string"` 7815} 7816 7817// String returns the string representation 7818func (s CacheSecurityGroupMembership) String() string { 7819 return awsutil.Prettify(s) 7820} 7821 7822// GoString returns the string representation 7823func (s CacheSecurityGroupMembership) GoString() string { 7824 return s.String() 7825} 7826 7827// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7828func (s *CacheSecurityGroupMembership) SetCacheSecurityGroupName(v string) *CacheSecurityGroupMembership { 7829 s.CacheSecurityGroupName = &v 7830 return s 7831} 7832 7833// SetStatus sets the Status field's value. 7834func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMembership { 7835 s.Status = &v 7836 return s 7837} 7838 7839// Represents the output of one of the following operations: 7840// 7841// * CreateCacheSubnetGroup 7842// 7843// * ModifyCacheSubnetGroup 7844type CacheSubnetGroup struct { 7845 _ struct{} `type:"structure"` 7846 7847 // The ARN (Amazon Resource Name) of the cache subnet group. 7848 ARN *string `type:"string"` 7849 7850 // The description of the cache subnet group. 7851 CacheSubnetGroupDescription *string `type:"string"` 7852 7853 // The name of the cache subnet group. 7854 CacheSubnetGroupName *string `type:"string"` 7855 7856 // A list of subnets associated with the cache subnet group. 7857 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 7858 7859 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 7860 // group. 7861 VpcId *string `type:"string"` 7862} 7863 7864// String returns the string representation 7865func (s CacheSubnetGroup) String() string { 7866 return awsutil.Prettify(s) 7867} 7868 7869// GoString returns the string representation 7870func (s CacheSubnetGroup) GoString() string { 7871 return s.String() 7872} 7873 7874// SetARN sets the ARN field's value. 7875func (s *CacheSubnetGroup) SetARN(v string) *CacheSubnetGroup { 7876 s.ARN = &v 7877 return s 7878} 7879 7880// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 7881func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { 7882 s.CacheSubnetGroupDescription = &v 7883 return s 7884} 7885 7886// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7887func (s *CacheSubnetGroup) SetCacheSubnetGroupName(v string) *CacheSubnetGroup { 7888 s.CacheSubnetGroupName = &v 7889 return s 7890} 7891 7892// SetSubnets sets the Subnets field's value. 7893func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { 7894 s.Subnets = v 7895 return s 7896} 7897 7898// SetVpcId sets the VpcId field's value. 7899func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { 7900 s.VpcId = &v 7901 return s 7902} 7903 7904type CompleteMigrationInput struct { 7905 _ struct{} `type:"structure"` 7906 7907 // Forces the migration to stop without ensuring that data is in sync. It is 7908 // recommended to use this option only to abort the migration and not recommended 7909 // when application wants to continue migration to ElastiCache. 7910 Force *bool `type:"boolean"` 7911 7912 // The ID of the replication group to which data is being migrated. 7913 // 7914 // ReplicationGroupId is a required field 7915 ReplicationGroupId *string `type:"string" required:"true"` 7916} 7917 7918// String returns the string representation 7919func (s CompleteMigrationInput) String() string { 7920 return awsutil.Prettify(s) 7921} 7922 7923// GoString returns the string representation 7924func (s CompleteMigrationInput) GoString() string { 7925 return s.String() 7926} 7927 7928// Validate inspects the fields of the type to determine if they are valid. 7929func (s *CompleteMigrationInput) Validate() error { 7930 invalidParams := request.ErrInvalidParams{Context: "CompleteMigrationInput"} 7931 if s.ReplicationGroupId == nil { 7932 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 7933 } 7934 7935 if invalidParams.Len() > 0 { 7936 return invalidParams 7937 } 7938 return nil 7939} 7940 7941// SetForce sets the Force field's value. 7942func (s *CompleteMigrationInput) SetForce(v bool) *CompleteMigrationInput { 7943 s.Force = &v 7944 return s 7945} 7946 7947// SetReplicationGroupId sets the ReplicationGroupId field's value. 7948func (s *CompleteMigrationInput) SetReplicationGroupId(v string) *CompleteMigrationInput { 7949 s.ReplicationGroupId = &v 7950 return s 7951} 7952 7953type CompleteMigrationOutput struct { 7954 _ struct{} `type:"structure"` 7955 7956 // Contains all of the attributes of a specific Redis replication group. 7957 ReplicationGroup *ReplicationGroup `type:"structure"` 7958} 7959 7960// String returns the string representation 7961func (s CompleteMigrationOutput) String() string { 7962 return awsutil.Prettify(s) 7963} 7964 7965// GoString returns the string representation 7966func (s CompleteMigrationOutput) GoString() string { 7967 return s.String() 7968} 7969 7970// SetReplicationGroup sets the ReplicationGroup field's value. 7971func (s *CompleteMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *CompleteMigrationOutput { 7972 s.ReplicationGroup = v 7973 return s 7974} 7975 7976// Node group (shard) configuration options when adding or removing replicas. 7977// Each node group (shard) configuration has the following members: NodeGroupId, 7978// NewReplicaCount, and PreferredAvailabilityZones. 7979type ConfigureShard struct { 7980 _ struct{} `type:"structure"` 7981 7982 // The number of replicas you want in this node group at the end of this operation. 7983 // The maximum value for NewReplicaCount is 5. The minimum value depends upon 7984 // the type of Redis replication group you are working with. 7985 // 7986 // The minimum number of replicas in a shard or replication group is: 7987 // 7988 // * Redis (cluster mode disabled) If Multi-AZ: 1 If Multi-AZ: 0 7989 // 7990 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 7991 // to a replica if your primary node fails) 7992 // 7993 // NewReplicaCount is a required field 7994 NewReplicaCount *int64 `type:"integer" required:"true"` 7995 7996 // The 4-digit id for the node group you are configuring. For Redis (cluster 7997 // mode disabled) replication groups, the node group id is always 0001. To find 7998 // a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a 7999 // Shard's Id (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html). 8000 // 8001 // NodeGroupId is a required field 8002 NodeGroupId *string `min:"1" type:"string" required:"true"` 8003 8004 // A list of PreferredAvailabilityZone strings that specify which availability 8005 // zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone 8006 // values must equal the value of NewReplicaCount plus 1 to account for the 8007 // primary node. If this member of ReplicaConfiguration is omitted, ElastiCache 8008 // for Redis selects the availability zone for each of the replicas. 8009 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 8010} 8011 8012// String returns the string representation 8013func (s ConfigureShard) String() string { 8014 return awsutil.Prettify(s) 8015} 8016 8017// GoString returns the string representation 8018func (s ConfigureShard) GoString() string { 8019 return s.String() 8020} 8021 8022// Validate inspects the fields of the type to determine if they are valid. 8023func (s *ConfigureShard) Validate() error { 8024 invalidParams := request.ErrInvalidParams{Context: "ConfigureShard"} 8025 if s.NewReplicaCount == nil { 8026 invalidParams.Add(request.NewErrParamRequired("NewReplicaCount")) 8027 } 8028 if s.NodeGroupId == nil { 8029 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 8030 } 8031 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 8032 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 8033 } 8034 8035 if invalidParams.Len() > 0 { 8036 return invalidParams 8037 } 8038 return nil 8039} 8040 8041// SetNewReplicaCount sets the NewReplicaCount field's value. 8042func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { 8043 s.NewReplicaCount = &v 8044 return s 8045} 8046 8047// SetNodeGroupId sets the NodeGroupId field's value. 8048func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { 8049 s.NodeGroupId = &v 8050 return s 8051} 8052 8053// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 8054func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { 8055 s.PreferredAvailabilityZones = v 8056 return s 8057} 8058 8059// Represents the input of a CopySnapshotMessage operation. 8060type CopySnapshotInput struct { 8061 _ struct{} `type:"structure"` 8062 8063 // The ID of the KMS key used to encrypt the target snapshot. 8064 KmsKeyId *string `type:"string"` 8065 8066 // The name of an existing snapshot from which to make a copy. 8067 // 8068 // SourceSnapshotName is a required field 8069 SourceSnapshotName *string `type:"string" required:"true"` 8070 8071 // The Amazon S3 bucket to which the snapshot is exported. This parameter is 8072 // used only when exporting a snapshot for external access. 8073 // 8074 // When using this parameter to export a snapshot, be sure Amazon ElastiCache 8075 // has the needed permissions to this S3 bucket. For more information, see Step 8076 // 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) 8077 // in the Amazon ElastiCache User Guide. 8078 // 8079 // For more information, see Exporting a Snapshot (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html) 8080 // in the Amazon ElastiCache User Guide. 8081 TargetBucket *string `type:"string"` 8082 8083 // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, 8084 // therefore this name must be unique within its context - ElastiCache or an 8085 // Amazon S3 bucket if exporting. 8086 // 8087 // TargetSnapshotName is a required field 8088 TargetSnapshotName *string `type:"string" required:"true"` 8089} 8090 8091// String returns the string representation 8092func (s CopySnapshotInput) String() string { 8093 return awsutil.Prettify(s) 8094} 8095 8096// GoString returns the string representation 8097func (s CopySnapshotInput) GoString() string { 8098 return s.String() 8099} 8100 8101// Validate inspects the fields of the type to determine if they are valid. 8102func (s *CopySnapshotInput) Validate() error { 8103 invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} 8104 if s.SourceSnapshotName == nil { 8105 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) 8106 } 8107 if s.TargetSnapshotName == nil { 8108 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) 8109 } 8110 8111 if invalidParams.Len() > 0 { 8112 return invalidParams 8113 } 8114 return nil 8115} 8116 8117// SetKmsKeyId sets the KmsKeyId field's value. 8118func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput { 8119 s.KmsKeyId = &v 8120 return s 8121} 8122 8123// SetSourceSnapshotName sets the SourceSnapshotName field's value. 8124func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { 8125 s.SourceSnapshotName = &v 8126 return s 8127} 8128 8129// SetTargetBucket sets the TargetBucket field's value. 8130func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { 8131 s.TargetBucket = &v 8132 return s 8133} 8134 8135// SetTargetSnapshotName sets the TargetSnapshotName field's value. 8136func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { 8137 s.TargetSnapshotName = &v 8138 return s 8139} 8140 8141type CopySnapshotOutput struct { 8142 _ struct{} `type:"structure"` 8143 8144 // Represents a copy of an entire Redis cluster as of the time when the snapshot 8145 // was taken. 8146 Snapshot *Snapshot `type:"structure"` 8147} 8148 8149// String returns the string representation 8150func (s CopySnapshotOutput) String() string { 8151 return awsutil.Prettify(s) 8152} 8153 8154// GoString returns the string representation 8155func (s CopySnapshotOutput) GoString() string { 8156 return s.String() 8157} 8158 8159// SetSnapshot sets the Snapshot field's value. 8160func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { 8161 s.Snapshot = v 8162 return s 8163} 8164 8165// Represents the input of a CreateCacheCluster operation. 8166type CreateCacheClusterInput struct { 8167 _ struct{} `type:"structure"` 8168 8169 // Specifies whether the nodes in this Memcached cluster are created in a single 8170 // Availability Zone or created across multiple Availability Zones in the cluster's 8171 // region. 8172 // 8173 // This parameter is only supported for Memcached clusters. 8174 // 8175 // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache 8176 // assumes single-az mode. 8177 AZMode *string `type:"string" enum:"AZMode"` 8178 8179 // Reserved parameter. The password used to access a password protected server. 8180 // 8181 // Password constraints: 8182 // 8183 // * Must be only printable ASCII characters. 8184 // 8185 // * Must be at least 16 characters and no more than 128 characters in length. 8186 // 8187 // * The only permitted printable special characters are !, &, #, $, ^, <, 8188 // >, and -. Other printable special characters cannot be used in the AUTH 8189 // token. 8190 // 8191 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 8192 // http://redis.io/commands/AUTH. 8193 AuthToken *string `type:"string"` 8194 8195 // This parameter is currently disabled. 8196 AutoMinorVersionUpgrade *bool `type:"boolean"` 8197 8198 // The node group (shard) identifier. This parameter is stored as a lowercase 8199 // string. 8200 // 8201 // Constraints: 8202 // 8203 // * A name must contain from 1 to 50 alphanumeric characters or hyphens. 8204 // 8205 // * The first character must be a letter. 8206 // 8207 // * A name cannot end with a hyphen or contain two consecutive hyphens. 8208 // 8209 // CacheClusterId is a required field 8210 CacheClusterId *string `type:"string" required:"true"` 8211 8212 // The compute and memory capacity of the nodes in the node group (shard). 8213 // 8214 // The following node types are supported by ElastiCache. Generally speaking, 8215 // the current generation types provide more memory and computational power 8216 // at lower cost when compared to their equivalent previous generation counterparts. 8217 // 8218 // * General purpose: Current generation: M5 node types: cache.m5.large, 8219 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 8220 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 8221 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 8222 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 8223 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 8224 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 8225 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 8226 // 8227 // * Compute optimized: Previous generation: (not recommended) C1 node types: 8228 // cache.c1.xlarge 8229 // 8230 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 8231 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 8232 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 8233 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 8234 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 8235 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 8236 // cache.r3.8xlarge 8237 // 8238 // Additional node type info 8239 // 8240 // * All current generation instance types are created in Amazon VPC by default. 8241 // 8242 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 8243 // 8244 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 8245 // 8246 // * Redis configuration variables appendonly and appendfsync are not supported 8247 // on Redis version 2.8.22 and later. 8248 CacheNodeType *string `type:"string"` 8249 8250 // The name of the parameter group to associate with this cluster. If this argument 8251 // is omitted, the default parameter group for the specified engine is used. 8252 // You cannot use any parameter group which has cluster-enabled='yes' when creating 8253 // a cluster. 8254 CacheParameterGroupName *string `type:"string"` 8255 8256 // A list of security group names to associate with this cluster. 8257 // 8258 // Use this parameter only when you are creating a cluster outside of an Amazon 8259 // Virtual Private Cloud (Amazon VPC). 8260 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 8261 8262 // The name of the subnet group to be used for the cluster. 8263 // 8264 // Use this parameter only when you are creating a cluster in an Amazon Virtual 8265 // Private Cloud (Amazon VPC). 8266 // 8267 // If you're going to launch your cluster in an Amazon VPC, you need to create 8268 // a subnet group before you start creating a cluster. For more information, 8269 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 8270 CacheSubnetGroupName *string `type:"string"` 8271 8272 // The name of the cache engine to be used for this cluster. 8273 // 8274 // Valid values for this parameter are: memcached | redis 8275 Engine *string `type:"string"` 8276 8277 // The version number of the cache engine to be used for this cluster. To view 8278 // the supported cache engine versions, use the DescribeCacheEngineVersions 8279 // operation. 8280 // 8281 // Important: You can upgrade to a newer engine version (see Selecting a Cache 8282 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 8283 // but you cannot downgrade to an earlier engine version. If you want to use 8284 // an earlier engine version, you must delete the existing cluster or replication 8285 // group and create it anew with the earlier engine version. 8286 EngineVersion *string `type:"string"` 8287 8288 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 8289 // (SNS) topic to which notifications are sent. 8290 // 8291 // The Amazon SNS topic owner must be the same as the cluster owner. 8292 NotificationTopicArn *string `type:"string"` 8293 8294 // The initial number of cache nodes that the cluster has. 8295 // 8296 // For clusters running Redis, this value must be 1. For clusters running Memcached, 8297 // this value must be between 1 and 20. 8298 // 8299 // If you need more than 20 nodes for your Memcached cluster, please fill out 8300 // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ 8301 // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). 8302 NumCacheNodes *int64 `type:"integer"` 8303 8304 // The port number on which each of the cache nodes accepts connections. 8305 Port *int64 `type:"integer"` 8306 8307 // The EC2 Availability Zone in which the cluster is created. 8308 // 8309 // All nodes belonging to this cluster are placed in the preferred Availability 8310 // Zone. If you want to create your nodes across multiple Availability Zones, 8311 // use PreferredAvailabilityZones. 8312 // 8313 // Default: System chosen Availability Zone. 8314 PreferredAvailabilityZone *string `type:"string"` 8315 8316 // A list of the Availability Zones in which cache nodes are created. The order 8317 // of the zones in the list is not important. 8318 // 8319 // This option is only supported on Memcached. 8320 // 8321 // If you are creating your cluster in an Amazon VPC (recommended) you can only 8322 // locate nodes in Availability Zones that are associated with the subnets in 8323 // the selected subnet group. 8324 // 8325 // The number of Availability Zones listed must equal the value of NumCacheNodes. 8326 // 8327 // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone 8328 // instead, or repeat the Availability Zone multiple times in the list. 8329 // 8330 // Default: System chosen Availability Zones. 8331 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 8332 8333 // Specifies the weekly time range during which maintenance on the cluster is 8334 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8335 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 8336 // values for ddd are: 8337 // 8338 // Specifies the weekly time range during which maintenance on the cluster is 8339 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8340 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 8341 // 8342 // Valid values for ddd are: 8343 // 8344 // * sun 8345 // 8346 // * mon 8347 // 8348 // * tue 8349 // 8350 // * wed 8351 // 8352 // * thu 8353 // 8354 // * fri 8355 // 8356 // * sat 8357 // 8358 // Example: sun:23:00-mon:01:30 8359 PreferredMaintenanceWindow *string `type:"string"` 8360 8361 // The ID of the replication group to which this cluster should belong. If this 8362 // parameter is specified, the cluster is added to the specified replication 8363 // group as a read replica; otherwise, the cluster is a standalone primary that 8364 // is not part of any replication group. 8365 // 8366 // If the specified replication group is Multi-AZ enabled and the Availability 8367 // Zone is not specified, the cluster is created in Availability Zones that 8368 // provide the best spread of read replicas across Availability Zones. 8369 // 8370 // This parameter is only valid if the Engine parameter is redis. 8371 ReplicationGroupId *string `type:"string"` 8372 8373 // One or more VPC security groups associated with the cluster. 8374 // 8375 // Use this parameter only when you are creating a cluster in an Amazon Virtual 8376 // Private Cloud (Amazon VPC). 8377 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 8378 8379 // A single-element string list containing an Amazon Resource Name (ARN) that 8380 // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 8381 // file is used to populate the node group (shard). The Amazon S3 object name 8382 // in the ARN cannot contain any commas. 8383 // 8384 // This parameter is only valid if the Engine parameter is redis. 8385 // 8386 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 8387 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 8388 8389 // The name of a Redis snapshot from which to restore data into the new node 8390 // group (shard). The snapshot status changes to restoring while the new node 8391 // group (shard) is being created. 8392 // 8393 // This parameter is only valid if the Engine parameter is redis. 8394 SnapshotName *string `type:"string"` 8395 8396 // The number of days for which ElastiCache retains automatic snapshots before 8397 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 8398 // taken today is retained for 5 days before being deleted. 8399 // 8400 // This parameter is only valid if the Engine parameter is redis. 8401 // 8402 // Default: 0 (i.e., automatic backups are disabled for this cache cluster). 8403 SnapshotRetentionLimit *int64 `type:"integer"` 8404 8405 // The daily time range (in UTC) during which ElastiCache begins taking a daily 8406 // snapshot of your node group (shard). 8407 // 8408 // Example: 05:00-09:00 8409 // 8410 // If you do not specify this parameter, ElastiCache automatically chooses an 8411 // appropriate time range. 8412 // 8413 // This parameter is only valid if the Engine parameter is redis. 8414 SnapshotWindow *string `type:"string"` 8415 8416 // A list of cost allocation tags to be added to this resource. 8417 Tags []*Tag `locationNameList:"Tag" type:"list"` 8418} 8419 8420// String returns the string representation 8421func (s CreateCacheClusterInput) String() string { 8422 return awsutil.Prettify(s) 8423} 8424 8425// GoString returns the string representation 8426func (s CreateCacheClusterInput) GoString() string { 8427 return s.String() 8428} 8429 8430// Validate inspects the fields of the type to determine if they are valid. 8431func (s *CreateCacheClusterInput) Validate() error { 8432 invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} 8433 if s.CacheClusterId == nil { 8434 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 8435 } 8436 8437 if invalidParams.Len() > 0 { 8438 return invalidParams 8439 } 8440 return nil 8441} 8442 8443// SetAZMode sets the AZMode field's value. 8444func (s *CreateCacheClusterInput) SetAZMode(v string) *CreateCacheClusterInput { 8445 s.AZMode = &v 8446 return s 8447} 8448 8449// SetAuthToken sets the AuthToken field's value. 8450func (s *CreateCacheClusterInput) SetAuthToken(v string) *CreateCacheClusterInput { 8451 s.AuthToken = &v 8452 return s 8453} 8454 8455// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 8456func (s *CreateCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateCacheClusterInput { 8457 s.AutoMinorVersionUpgrade = &v 8458 return s 8459} 8460 8461// SetCacheClusterId sets the CacheClusterId field's value. 8462func (s *CreateCacheClusterInput) SetCacheClusterId(v string) *CreateCacheClusterInput { 8463 s.CacheClusterId = &v 8464 return s 8465} 8466 8467// SetCacheNodeType sets the CacheNodeType field's value. 8468func (s *CreateCacheClusterInput) SetCacheNodeType(v string) *CreateCacheClusterInput { 8469 s.CacheNodeType = &v 8470 return s 8471} 8472 8473// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8474func (s *CreateCacheClusterInput) SetCacheParameterGroupName(v string) *CreateCacheClusterInput { 8475 s.CacheParameterGroupName = &v 8476 return s 8477} 8478 8479// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 8480func (s *CreateCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *CreateCacheClusterInput { 8481 s.CacheSecurityGroupNames = v 8482 return s 8483} 8484 8485// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8486func (s *CreateCacheClusterInput) SetCacheSubnetGroupName(v string) *CreateCacheClusterInput { 8487 s.CacheSubnetGroupName = &v 8488 return s 8489} 8490 8491// SetEngine sets the Engine field's value. 8492func (s *CreateCacheClusterInput) SetEngine(v string) *CreateCacheClusterInput { 8493 s.Engine = &v 8494 return s 8495} 8496 8497// SetEngineVersion sets the EngineVersion field's value. 8498func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheClusterInput { 8499 s.EngineVersion = &v 8500 return s 8501} 8502 8503// SetNotificationTopicArn sets the NotificationTopicArn field's value. 8504func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { 8505 s.NotificationTopicArn = &v 8506 return s 8507} 8508 8509// SetNumCacheNodes sets the NumCacheNodes field's value. 8510func (s *CreateCacheClusterInput) SetNumCacheNodes(v int64) *CreateCacheClusterInput { 8511 s.NumCacheNodes = &v 8512 return s 8513} 8514 8515// SetPort sets the Port field's value. 8516func (s *CreateCacheClusterInput) SetPort(v int64) *CreateCacheClusterInput { 8517 s.Port = &v 8518 return s 8519} 8520 8521// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 8522func (s *CreateCacheClusterInput) SetPreferredAvailabilityZone(v string) *CreateCacheClusterInput { 8523 s.PreferredAvailabilityZone = &v 8524 return s 8525} 8526 8527// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 8528func (s *CreateCacheClusterInput) SetPreferredAvailabilityZones(v []*string) *CreateCacheClusterInput { 8529 s.PreferredAvailabilityZones = v 8530 return s 8531} 8532 8533// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 8534func (s *CreateCacheClusterInput) SetPreferredMaintenanceWindow(v string) *CreateCacheClusterInput { 8535 s.PreferredMaintenanceWindow = &v 8536 return s 8537} 8538 8539// SetReplicationGroupId sets the ReplicationGroupId field's value. 8540func (s *CreateCacheClusterInput) SetReplicationGroupId(v string) *CreateCacheClusterInput { 8541 s.ReplicationGroupId = &v 8542 return s 8543} 8544 8545// SetSecurityGroupIds sets the SecurityGroupIds field's value. 8546func (s *CreateCacheClusterInput) SetSecurityGroupIds(v []*string) *CreateCacheClusterInput { 8547 s.SecurityGroupIds = v 8548 return s 8549} 8550 8551// SetSnapshotArns sets the SnapshotArns field's value. 8552func (s *CreateCacheClusterInput) SetSnapshotArns(v []*string) *CreateCacheClusterInput { 8553 s.SnapshotArns = v 8554 return s 8555} 8556 8557// SetSnapshotName sets the SnapshotName field's value. 8558func (s *CreateCacheClusterInput) SetSnapshotName(v string) *CreateCacheClusterInput { 8559 s.SnapshotName = &v 8560 return s 8561} 8562 8563// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 8564func (s *CreateCacheClusterInput) SetSnapshotRetentionLimit(v int64) *CreateCacheClusterInput { 8565 s.SnapshotRetentionLimit = &v 8566 return s 8567} 8568 8569// SetSnapshotWindow sets the SnapshotWindow field's value. 8570func (s *CreateCacheClusterInput) SetSnapshotWindow(v string) *CreateCacheClusterInput { 8571 s.SnapshotWindow = &v 8572 return s 8573} 8574 8575// SetTags sets the Tags field's value. 8576func (s *CreateCacheClusterInput) SetTags(v []*Tag) *CreateCacheClusterInput { 8577 s.Tags = v 8578 return s 8579} 8580 8581type CreateCacheClusterOutput struct { 8582 _ struct{} `type:"structure"` 8583 8584 // Contains all of the attributes of a specific cluster. 8585 CacheCluster *CacheCluster `type:"structure"` 8586} 8587 8588// String returns the string representation 8589func (s CreateCacheClusterOutput) String() string { 8590 return awsutil.Prettify(s) 8591} 8592 8593// GoString returns the string representation 8594func (s CreateCacheClusterOutput) GoString() string { 8595 return s.String() 8596} 8597 8598// SetCacheCluster sets the CacheCluster field's value. 8599func (s *CreateCacheClusterOutput) SetCacheCluster(v *CacheCluster) *CreateCacheClusterOutput { 8600 s.CacheCluster = v 8601 return s 8602} 8603 8604// Represents the input of a CreateCacheParameterGroup operation. 8605type CreateCacheParameterGroupInput struct { 8606 _ struct{} `type:"structure"` 8607 8608 // The name of the cache parameter group family that the cache parameter group 8609 // can be used with. 8610 // 8611 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 8612 // | redis4.0 | redis5.0 | 8613 // 8614 // CacheParameterGroupFamily is a required field 8615 CacheParameterGroupFamily *string `type:"string" required:"true"` 8616 8617 // A user-specified name for the cache parameter group. 8618 // 8619 // CacheParameterGroupName is a required field 8620 CacheParameterGroupName *string `type:"string" required:"true"` 8621 8622 // A user-specified description for the cache parameter group. 8623 // 8624 // Description is a required field 8625 Description *string `type:"string" required:"true"` 8626} 8627 8628// String returns the string representation 8629func (s CreateCacheParameterGroupInput) String() string { 8630 return awsutil.Prettify(s) 8631} 8632 8633// GoString returns the string representation 8634func (s CreateCacheParameterGroupInput) GoString() string { 8635 return s.String() 8636} 8637 8638// Validate inspects the fields of the type to determine if they are valid. 8639func (s *CreateCacheParameterGroupInput) Validate() error { 8640 invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} 8641 if s.CacheParameterGroupFamily == nil { 8642 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 8643 } 8644 if s.CacheParameterGroupName == nil { 8645 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 8646 } 8647 if s.Description == nil { 8648 invalidParams.Add(request.NewErrParamRequired("Description")) 8649 } 8650 8651 if invalidParams.Len() > 0 { 8652 return invalidParams 8653 } 8654 return nil 8655} 8656 8657// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 8658func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupFamily(v string) *CreateCacheParameterGroupInput { 8659 s.CacheParameterGroupFamily = &v 8660 return s 8661} 8662 8663// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8664func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupName(v string) *CreateCacheParameterGroupInput { 8665 s.CacheParameterGroupName = &v 8666 return s 8667} 8668 8669// SetDescription sets the Description field's value. 8670func (s *CreateCacheParameterGroupInput) SetDescription(v string) *CreateCacheParameterGroupInput { 8671 s.Description = &v 8672 return s 8673} 8674 8675type CreateCacheParameterGroupOutput struct { 8676 _ struct{} `type:"structure"` 8677 8678 // Represents the output of a CreateCacheParameterGroup operation. 8679 CacheParameterGroup *CacheParameterGroup `type:"structure"` 8680} 8681 8682// String returns the string representation 8683func (s CreateCacheParameterGroupOutput) String() string { 8684 return awsutil.Prettify(s) 8685} 8686 8687// GoString returns the string representation 8688func (s CreateCacheParameterGroupOutput) GoString() string { 8689 return s.String() 8690} 8691 8692// SetCacheParameterGroup sets the CacheParameterGroup field's value. 8693func (s *CreateCacheParameterGroupOutput) SetCacheParameterGroup(v *CacheParameterGroup) *CreateCacheParameterGroupOutput { 8694 s.CacheParameterGroup = v 8695 return s 8696} 8697 8698// Represents the input of a CreateCacheSecurityGroup operation. 8699type CreateCacheSecurityGroupInput struct { 8700 _ struct{} `type:"structure"` 8701 8702 // A name for the cache security group. This value is stored as a lowercase 8703 // string. 8704 // 8705 // Constraints: Must contain no more than 255 alphanumeric characters. Cannot 8706 // be the word "Default". 8707 // 8708 // Example: mysecuritygroup 8709 // 8710 // CacheSecurityGroupName is a required field 8711 CacheSecurityGroupName *string `type:"string" required:"true"` 8712 8713 // A description for the cache security group. 8714 // 8715 // Description is a required field 8716 Description *string `type:"string" required:"true"` 8717} 8718 8719// String returns the string representation 8720func (s CreateCacheSecurityGroupInput) String() string { 8721 return awsutil.Prettify(s) 8722} 8723 8724// GoString returns the string representation 8725func (s CreateCacheSecurityGroupInput) GoString() string { 8726 return s.String() 8727} 8728 8729// Validate inspects the fields of the type to determine if they are valid. 8730func (s *CreateCacheSecurityGroupInput) Validate() error { 8731 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} 8732 if s.CacheSecurityGroupName == nil { 8733 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 8734 } 8735 if s.Description == nil { 8736 invalidParams.Add(request.NewErrParamRequired("Description")) 8737 } 8738 8739 if invalidParams.Len() > 0 { 8740 return invalidParams 8741 } 8742 return nil 8743} 8744 8745// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 8746func (s *CreateCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *CreateCacheSecurityGroupInput { 8747 s.CacheSecurityGroupName = &v 8748 return s 8749} 8750 8751// SetDescription sets the Description field's value. 8752func (s *CreateCacheSecurityGroupInput) SetDescription(v string) *CreateCacheSecurityGroupInput { 8753 s.Description = &v 8754 return s 8755} 8756 8757type CreateCacheSecurityGroupOutput struct { 8758 _ struct{} `type:"structure"` 8759 8760 // Represents the output of one of the following operations: 8761 // 8762 // * AuthorizeCacheSecurityGroupIngress 8763 // 8764 // * CreateCacheSecurityGroup 8765 // 8766 // * RevokeCacheSecurityGroupIngress 8767 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 8768} 8769 8770// String returns the string representation 8771func (s CreateCacheSecurityGroupOutput) String() string { 8772 return awsutil.Prettify(s) 8773} 8774 8775// GoString returns the string representation 8776func (s CreateCacheSecurityGroupOutput) GoString() string { 8777 return s.String() 8778} 8779 8780// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 8781func (s *CreateCacheSecurityGroupOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *CreateCacheSecurityGroupOutput { 8782 s.CacheSecurityGroup = v 8783 return s 8784} 8785 8786// Represents the input of a CreateCacheSubnetGroup operation. 8787type CreateCacheSubnetGroupInput struct { 8788 _ struct{} `type:"structure"` 8789 8790 // A description for the cache subnet group. 8791 // 8792 // CacheSubnetGroupDescription is a required field 8793 CacheSubnetGroupDescription *string `type:"string" required:"true"` 8794 8795 // A name for the cache subnet group. This value is stored as a lowercase string. 8796 // 8797 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 8798 // 8799 // Example: mysubnetgroup 8800 // 8801 // CacheSubnetGroupName is a required field 8802 CacheSubnetGroupName *string `type:"string" required:"true"` 8803 8804 // A list of VPC subnet IDs for the cache subnet group. 8805 // 8806 // SubnetIds is a required field 8807 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 8808} 8809 8810// String returns the string representation 8811func (s CreateCacheSubnetGroupInput) String() string { 8812 return awsutil.Prettify(s) 8813} 8814 8815// GoString returns the string representation 8816func (s CreateCacheSubnetGroupInput) GoString() string { 8817 return s.String() 8818} 8819 8820// Validate inspects the fields of the type to determine if they are valid. 8821func (s *CreateCacheSubnetGroupInput) Validate() error { 8822 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} 8823 if s.CacheSubnetGroupDescription == nil { 8824 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) 8825 } 8826 if s.CacheSubnetGroupName == nil { 8827 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 8828 } 8829 if s.SubnetIds == nil { 8830 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 8831 } 8832 8833 if invalidParams.Len() > 0 { 8834 return invalidParams 8835 } 8836 return nil 8837} 8838 8839// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 8840func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *CreateCacheSubnetGroupInput { 8841 s.CacheSubnetGroupDescription = &v 8842 return s 8843} 8844 8845// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8846func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *CreateCacheSubnetGroupInput { 8847 s.CacheSubnetGroupName = &v 8848 return s 8849} 8850 8851// SetSubnetIds sets the SubnetIds field's value. 8852func (s *CreateCacheSubnetGroupInput) SetSubnetIds(v []*string) *CreateCacheSubnetGroupInput { 8853 s.SubnetIds = v 8854 return s 8855} 8856 8857type CreateCacheSubnetGroupOutput struct { 8858 _ struct{} `type:"structure"` 8859 8860 // Represents the output of one of the following operations: 8861 // 8862 // * CreateCacheSubnetGroup 8863 // 8864 // * ModifyCacheSubnetGroup 8865 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 8866} 8867 8868// String returns the string representation 8869func (s CreateCacheSubnetGroupOutput) String() string { 8870 return awsutil.Prettify(s) 8871} 8872 8873// GoString returns the string representation 8874func (s CreateCacheSubnetGroupOutput) GoString() string { 8875 return s.String() 8876} 8877 8878// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 8879func (s *CreateCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *CreateCacheSubnetGroupOutput { 8880 s.CacheSubnetGroup = v 8881 return s 8882} 8883 8884type CreateGlobalReplicationGroupInput struct { 8885 _ struct{} `type:"structure"` 8886 8887 // Provides details of the Global Datastore 8888 GlobalReplicationGroupDescription *string `type:"string"` 8889 8890 // The suffix name of a Global Datastore. The suffix guarantees uniqueness of 8891 // the Global Datastore name across multiple regions. 8892 // 8893 // GlobalReplicationGroupIdSuffix is a required field 8894 GlobalReplicationGroupIdSuffix *string `type:"string" required:"true"` 8895 8896 // The name of the primary cluster that accepts writes and will replicate updates 8897 // to the secondary cluster. 8898 // 8899 // PrimaryReplicationGroupId is a required field 8900 PrimaryReplicationGroupId *string `type:"string" required:"true"` 8901} 8902 8903// String returns the string representation 8904func (s CreateGlobalReplicationGroupInput) String() string { 8905 return awsutil.Prettify(s) 8906} 8907 8908// GoString returns the string representation 8909func (s CreateGlobalReplicationGroupInput) GoString() string { 8910 return s.String() 8911} 8912 8913// Validate inspects the fields of the type to determine if they are valid. 8914func (s *CreateGlobalReplicationGroupInput) Validate() error { 8915 invalidParams := request.ErrInvalidParams{Context: "CreateGlobalReplicationGroupInput"} 8916 if s.GlobalReplicationGroupIdSuffix == nil { 8917 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupIdSuffix")) 8918 } 8919 if s.PrimaryReplicationGroupId == nil { 8920 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 8921 } 8922 8923 if invalidParams.Len() > 0 { 8924 return invalidParams 8925 } 8926 return nil 8927} 8928 8929// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 8930func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *CreateGlobalReplicationGroupInput { 8931 s.GlobalReplicationGroupDescription = &v 8932 return s 8933} 8934 8935// SetGlobalReplicationGroupIdSuffix sets the GlobalReplicationGroupIdSuffix field's value. 8936func (s *CreateGlobalReplicationGroupInput) SetGlobalReplicationGroupIdSuffix(v string) *CreateGlobalReplicationGroupInput { 8937 s.GlobalReplicationGroupIdSuffix = &v 8938 return s 8939} 8940 8941// SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 8942func (s *CreateGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *CreateGlobalReplicationGroupInput { 8943 s.PrimaryReplicationGroupId = &v 8944 return s 8945} 8946 8947type CreateGlobalReplicationGroupOutput struct { 8948 _ struct{} `type:"structure"` 8949 8950 // Consists of a primary cluster that accepts writes and an associated secondary 8951 // cluster that resides in a different AWS region. The secondary cluster accepts 8952 // only reads. The primary cluster automatically replicates updates to the secondary 8953 // cluster. 8954 // 8955 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 8956 // Datastore, which is what you use to associate a secondary cluster. 8957 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 8958} 8959 8960// String returns the string representation 8961func (s CreateGlobalReplicationGroupOutput) String() string { 8962 return awsutil.Prettify(s) 8963} 8964 8965// GoString returns the string representation 8966func (s CreateGlobalReplicationGroupOutput) GoString() string { 8967 return s.String() 8968} 8969 8970// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 8971func (s *CreateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *CreateGlobalReplicationGroupOutput { 8972 s.GlobalReplicationGroup = v 8973 return s 8974} 8975 8976// Represents the input of a CreateReplicationGroup operation. 8977type CreateReplicationGroupInput struct { 8978 _ struct{} `type:"structure"` 8979 8980 // A flag that enables encryption at rest when set to true. 8981 // 8982 // You cannot modify the value of AtRestEncryptionEnabled after the replication 8983 // group is created. To enable encryption at rest on a replication group you 8984 // must set AtRestEncryptionEnabled to true when you create the replication 8985 // group. 8986 // 8987 // Required: Only available when creating a replication group in an Amazon VPC 8988 // using redis version 3.2.6, 4.x or later. 8989 // 8990 // Default: false 8991 AtRestEncryptionEnabled *bool `type:"boolean"` 8992 8993 // Reserved parameter. The password used to access a password protected server. 8994 // 8995 // AuthToken can be specified only on replication groups where TransitEncryptionEnabled 8996 // is true. 8997 // 8998 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 8999 // an AuthToken, and a CacheSubnetGroup. 9000 // 9001 // Password constraints: 9002 // 9003 // * Must be only printable ASCII characters. 9004 // 9005 // * Must be at least 16 characters and no more than 128 characters in length. 9006 // 9007 // * The only permitted printable special characters are !, &, #, $, ^, <, 9008 // >, and -. Other printable special characters cannot be used in the AUTH 9009 // token. 9010 // 9011 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 9012 // http://redis.io/commands/AUTH. 9013 AuthToken *string `type:"string"` 9014 9015 // This parameter is currently disabled. 9016 AutoMinorVersionUpgrade *bool `type:"boolean"` 9017 9018 // Specifies whether a read-only replica is automatically promoted to read/write 9019 // primary if the existing primary fails. 9020 // 9021 // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) 9022 // replication groups. 9023 // 9024 // Default: false 9025 AutomaticFailoverEnabled *bool `type:"boolean"` 9026 9027 // The compute and memory capacity of the nodes in the node group (shard). 9028 // 9029 // The following node types are supported by ElastiCache. Generally speaking, 9030 // the current generation types provide more memory and computational power 9031 // at lower cost when compared to their equivalent previous generation counterparts. 9032 // 9033 // * General purpose: Current generation: M5 node types: cache.m5.large, 9034 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 9035 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 9036 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 9037 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 9038 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 9039 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 9040 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 9041 // 9042 // * Compute optimized: Previous generation: (not recommended) C1 node types: 9043 // cache.c1.xlarge 9044 // 9045 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 9046 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 9047 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 9048 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 9049 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 9050 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 9051 // cache.r3.8xlarge 9052 // 9053 // Additional node type info 9054 // 9055 // * All current generation instance types are created in Amazon VPC by default. 9056 // 9057 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 9058 // 9059 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 9060 // 9061 // * Redis configuration variables appendonly and appendfsync are not supported 9062 // on Redis version 2.8.22 and later. 9063 CacheNodeType *string `type:"string"` 9064 9065 // The name of the parameter group to associate with this replication group. 9066 // If this argument is omitted, the default cache parameter group for the specified 9067 // engine is used. 9068 // 9069 // If you are restoring to an engine version that is different than the original, 9070 // you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0. 9071 // 9072 // If you are running Redis version 3.2.4 or later, only one node group (shard), 9073 // and want to use a default parameter group, we recommend that you specify 9074 // the parameter group by name. 9075 // 9076 // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. 9077 // 9078 // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. 9079 CacheParameterGroupName *string `type:"string"` 9080 9081 // A list of cache security group names to associate with this replication group. 9082 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 9083 9084 // The name of the cache subnet group to be used for the replication group. 9085 // 9086 // If you're going to launch your cluster in an Amazon VPC, you need to create 9087 // a subnet group before you start creating a cluster. For more information, 9088 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 9089 CacheSubnetGroupName *string `type:"string"` 9090 9091 // The name of the cache engine to be used for the clusters in this replication 9092 // group. 9093 Engine *string `type:"string"` 9094 9095 // The version number of the cache engine to be used for the clusters in this 9096 // replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions 9097 // operation. 9098 // 9099 // Important: You can upgrade to a newer engine version (see Selecting a Cache 9100 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)) 9101 // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine 9102 // version. If you want to use an earlier engine version, you must delete the 9103 // existing cluster or replication group and create it anew with the earlier 9104 // engine version. 9105 EngineVersion *string `type:"string"` 9106 9107 // The name of the Global Datastore 9108 GlobalReplicationGroupId *string `type:"string"` 9109 9110 // The ID of the KMS key used to encrypt the disk in the cluster. 9111 KmsKeyId *string `type:"string"` 9112 9113 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 9114 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). 9115 MultiAZEnabled *bool `type:"boolean"` 9116 9117 // A list of node group (shard) configuration options. Each node group (shard) 9118 // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, 9119 // ReplicaCount, and Slots. 9120 // 9121 // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode 9122 // enabled) replication group, you can use this parameter to individually configure 9123 // each node group (shard), or you can omit this parameter. However, it is required 9124 // when seeding a Redis (cluster mode enabled) cluster from a S3 rdb file. You 9125 // must configure each node group (shard) using this parameter because you must 9126 // specify the slots for each node group. 9127 NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` 9128 9129 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 9130 // (SNS) topic to which notifications are sent. 9131 // 9132 // The Amazon SNS topic owner must be the same as the cluster owner. 9133 NotificationTopicArn *string `type:"string"` 9134 9135 // The number of clusters this replication group initially has. 9136 // 9137 // This parameter is not used if there is more than one node group (shard). 9138 // You should use ReplicasPerNodeGroup instead. 9139 // 9140 // If AutomaticFailoverEnabled is true, the value of this parameter must be 9141 // at least 2. If AutomaticFailoverEnabled is false you can omit this parameter 9142 // (it will default to 1), or you can explicitly set it to a value between 2 9143 // and 6. 9144 // 9145 // The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas). 9146 NumCacheClusters *int64 `type:"integer"` 9147 9148 // An optional parameter that specifies the number of node groups (shards) for 9149 // this Redis (cluster mode enabled) replication group. For Redis (cluster mode 9150 // disabled) either omit this parameter or set it to 1. 9151 // 9152 // Default: 1 9153 NumNodeGroups *int64 `type:"integer"` 9154 9155 // The port number on which each member of the replication group accepts connections. 9156 Port *int64 `type:"integer"` 9157 9158 // A list of EC2 Availability Zones in which the replication group's clusters 9159 // are created. The order of the Availability Zones in the list is the order 9160 // in which clusters are allocated. The primary cluster is created in the first 9161 // AZ in the list. 9162 // 9163 // This parameter is not used if there is more than one node group (shard). 9164 // You should use NodeGroupConfiguration instead. 9165 // 9166 // If you are creating your replication group in an Amazon VPC (recommended), 9167 // you can only locate clusters in Availability Zones associated with the subnets 9168 // in the selected subnet group. 9169 // 9170 // The number of Availability Zones listed must equal the value of NumCacheClusters. 9171 // 9172 // Default: system chosen Availability Zones. 9173 PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` 9174 9175 // Specifies the weekly time range during which maintenance on the cluster is 9176 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 9177 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 9178 // values for ddd are: 9179 // 9180 // Specifies the weekly time range during which maintenance on the cluster is 9181 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 9182 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 9183 // 9184 // Valid values for ddd are: 9185 // 9186 // * sun 9187 // 9188 // * mon 9189 // 9190 // * tue 9191 // 9192 // * wed 9193 // 9194 // * thu 9195 // 9196 // * fri 9197 // 9198 // * sat 9199 // 9200 // Example: sun:23:00-mon:01:30 9201 PreferredMaintenanceWindow *string `type:"string"` 9202 9203 // The identifier of the cluster that serves as the primary for this replication 9204 // group. This cluster must already exist and have a status of available. 9205 // 9206 // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup 9207 // is specified. 9208 PrimaryClusterId *string `type:"string"` 9209 9210 // An optional parameter that specifies the number of replica nodes in each 9211 // node group (shard). Valid values are 0 to 5. 9212 ReplicasPerNodeGroup *int64 `type:"integer"` 9213 9214 // A user-created description for the replication group. 9215 // 9216 // ReplicationGroupDescription is a required field 9217 ReplicationGroupDescription *string `type:"string" required:"true"` 9218 9219 // The replication group identifier. This parameter is stored as a lowercase 9220 // string. 9221 // 9222 // Constraints: 9223 // 9224 // * A name must contain from 1 to 40 alphanumeric characters or hyphens. 9225 // 9226 // * The first character must be a letter. 9227 // 9228 // * A name cannot end with a hyphen or contain two consecutive hyphens. 9229 // 9230 // ReplicationGroupId is a required field 9231 ReplicationGroupId *string `type:"string" required:"true"` 9232 9233 // One or more Amazon VPC security groups associated with this replication group. 9234 // 9235 // Use this parameter only when you are creating a replication group in an Amazon 9236 // Virtual Private Cloud (Amazon VPC). 9237 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 9238 9239 // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB 9240 // snapshot files stored in Amazon S3. The snapshot files are used to populate 9241 // the new replication group. The Amazon S3 object name in the ARN cannot contain 9242 // any commas. The new replication group will have the number of node groups 9243 // (console: shards) specified by the parameter NumNodeGroups or the number 9244 // of node groups configured by NodeGroupConfiguration regardless of the number 9245 // of ARNs specified here. 9246 // 9247 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 9248 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 9249 9250 // The name of a snapshot from which to restore data into the new replication 9251 // group. The snapshot status changes to restoring while the new replication 9252 // group is being created. 9253 SnapshotName *string `type:"string"` 9254 9255 // The number of days for which ElastiCache retains automatic snapshots before 9256 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 9257 // that was taken today is retained for 5 days before being deleted. 9258 // 9259 // Default: 0 (i.e., automatic backups are disabled for this cluster). 9260 SnapshotRetentionLimit *int64 `type:"integer"` 9261 9262 // The daily time range (in UTC) during which ElastiCache begins taking a daily 9263 // snapshot of your node group (shard). 9264 // 9265 // Example: 05:00-09:00 9266 // 9267 // If you do not specify this parameter, ElastiCache automatically chooses an 9268 // appropriate time range. 9269 SnapshotWindow *string `type:"string"` 9270 9271 // A list of cost allocation tags to be added to this resource. Tags are comma-separated 9272 // key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple 9273 // tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. 9274 Tags []*Tag `locationNameList:"Tag" type:"list"` 9275 9276 // A flag that enables in-transit encryption when set to true. 9277 // 9278 // You cannot modify the value of TransitEncryptionEnabled after the cluster 9279 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 9280 // to true when you create a cluster. 9281 // 9282 // This parameter is valid only if the Engine parameter is redis, the EngineVersion 9283 // parameter is 3.2.6, 4.x or later, and the cluster is being created in an 9284 // Amazon VPC. 9285 // 9286 // If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. 9287 // 9288 // Required: Only available when creating a replication group in an Amazon VPC 9289 // using redis version 3.2.6, 4.x or later. 9290 // 9291 // Default: false 9292 // 9293 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 9294 // an AuthToken, and a CacheSubnetGroup. 9295 TransitEncryptionEnabled *bool `type:"boolean"` 9296} 9297 9298// String returns the string representation 9299func (s CreateReplicationGroupInput) String() string { 9300 return awsutil.Prettify(s) 9301} 9302 9303// GoString returns the string representation 9304func (s CreateReplicationGroupInput) GoString() string { 9305 return s.String() 9306} 9307 9308// Validate inspects the fields of the type to determine if they are valid. 9309func (s *CreateReplicationGroupInput) Validate() error { 9310 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} 9311 if s.ReplicationGroupDescription == nil { 9312 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) 9313 } 9314 if s.ReplicationGroupId == nil { 9315 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 9316 } 9317 if s.NodeGroupConfiguration != nil { 9318 for i, v := range s.NodeGroupConfiguration { 9319 if v == nil { 9320 continue 9321 } 9322 if err := v.Validate(); err != nil { 9323 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeGroupConfiguration", i), err.(request.ErrInvalidParams)) 9324 } 9325 } 9326 } 9327 9328 if invalidParams.Len() > 0 { 9329 return invalidParams 9330 } 9331 return nil 9332} 9333 9334// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 9335func (s *CreateReplicationGroupInput) SetAtRestEncryptionEnabled(v bool) *CreateReplicationGroupInput { 9336 s.AtRestEncryptionEnabled = &v 9337 return s 9338} 9339 9340// SetAuthToken sets the AuthToken field's value. 9341func (s *CreateReplicationGroupInput) SetAuthToken(v string) *CreateReplicationGroupInput { 9342 s.AuthToken = &v 9343 return s 9344} 9345 9346// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 9347func (s *CreateReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationGroupInput { 9348 s.AutoMinorVersionUpgrade = &v 9349 return s 9350} 9351 9352// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 9353func (s *CreateReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *CreateReplicationGroupInput { 9354 s.AutomaticFailoverEnabled = &v 9355 return s 9356} 9357 9358// SetCacheNodeType sets the CacheNodeType field's value. 9359func (s *CreateReplicationGroupInput) SetCacheNodeType(v string) *CreateReplicationGroupInput { 9360 s.CacheNodeType = &v 9361 return s 9362} 9363 9364// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9365func (s *CreateReplicationGroupInput) SetCacheParameterGroupName(v string) *CreateReplicationGroupInput { 9366 s.CacheParameterGroupName = &v 9367 return s 9368} 9369 9370// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 9371func (s *CreateReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *CreateReplicationGroupInput { 9372 s.CacheSecurityGroupNames = v 9373 return s 9374} 9375 9376// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9377func (s *CreateReplicationGroupInput) SetCacheSubnetGroupName(v string) *CreateReplicationGroupInput { 9378 s.CacheSubnetGroupName = &v 9379 return s 9380} 9381 9382// SetEngine sets the Engine field's value. 9383func (s *CreateReplicationGroupInput) SetEngine(v string) *CreateReplicationGroupInput { 9384 s.Engine = &v 9385 return s 9386} 9387 9388// SetEngineVersion sets the EngineVersion field's value. 9389func (s *CreateReplicationGroupInput) SetEngineVersion(v string) *CreateReplicationGroupInput { 9390 s.EngineVersion = &v 9391 return s 9392} 9393 9394// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 9395func (s *CreateReplicationGroupInput) SetGlobalReplicationGroupId(v string) *CreateReplicationGroupInput { 9396 s.GlobalReplicationGroupId = &v 9397 return s 9398} 9399 9400// SetKmsKeyId sets the KmsKeyId field's value. 9401func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGroupInput { 9402 s.KmsKeyId = &v 9403 return s 9404} 9405 9406// SetMultiAZEnabled sets the MultiAZEnabled field's value. 9407func (s *CreateReplicationGroupInput) SetMultiAZEnabled(v bool) *CreateReplicationGroupInput { 9408 s.MultiAZEnabled = &v 9409 return s 9410} 9411 9412// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 9413func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { 9414 s.NodeGroupConfiguration = v 9415 return s 9416} 9417 9418// SetNotificationTopicArn sets the NotificationTopicArn field's value. 9419func (s *CreateReplicationGroupInput) SetNotificationTopicArn(v string) *CreateReplicationGroupInput { 9420 s.NotificationTopicArn = &v 9421 return s 9422} 9423 9424// SetNumCacheClusters sets the NumCacheClusters field's value. 9425func (s *CreateReplicationGroupInput) SetNumCacheClusters(v int64) *CreateReplicationGroupInput { 9426 s.NumCacheClusters = &v 9427 return s 9428} 9429 9430// SetNumNodeGroups sets the NumNodeGroups field's value. 9431func (s *CreateReplicationGroupInput) SetNumNodeGroups(v int64) *CreateReplicationGroupInput { 9432 s.NumNodeGroups = &v 9433 return s 9434} 9435 9436// SetPort sets the Port field's value. 9437func (s *CreateReplicationGroupInput) SetPort(v int64) *CreateReplicationGroupInput { 9438 s.Port = &v 9439 return s 9440} 9441 9442// SetPreferredCacheClusterAZs sets the PreferredCacheClusterAZs field's value. 9443func (s *CreateReplicationGroupInput) SetPreferredCacheClusterAZs(v []*string) *CreateReplicationGroupInput { 9444 s.PreferredCacheClusterAZs = v 9445 return s 9446} 9447 9448// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 9449func (s *CreateReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationGroupInput { 9450 s.PreferredMaintenanceWindow = &v 9451 return s 9452} 9453 9454// SetPrimaryClusterId sets the PrimaryClusterId field's value. 9455func (s *CreateReplicationGroupInput) SetPrimaryClusterId(v string) *CreateReplicationGroupInput { 9456 s.PrimaryClusterId = &v 9457 return s 9458} 9459 9460// SetReplicasPerNodeGroup sets the ReplicasPerNodeGroup field's value. 9461func (s *CreateReplicationGroupInput) SetReplicasPerNodeGroup(v int64) *CreateReplicationGroupInput { 9462 s.ReplicasPerNodeGroup = &v 9463 return s 9464} 9465 9466// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 9467func (s *CreateReplicationGroupInput) SetReplicationGroupDescription(v string) *CreateReplicationGroupInput { 9468 s.ReplicationGroupDescription = &v 9469 return s 9470} 9471 9472// SetReplicationGroupId sets the ReplicationGroupId field's value. 9473func (s *CreateReplicationGroupInput) SetReplicationGroupId(v string) *CreateReplicationGroupInput { 9474 s.ReplicationGroupId = &v 9475 return s 9476} 9477 9478// SetSecurityGroupIds sets the SecurityGroupIds field's value. 9479func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateReplicationGroupInput { 9480 s.SecurityGroupIds = v 9481 return s 9482} 9483 9484// SetSnapshotArns sets the SnapshotArns field's value. 9485func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { 9486 s.SnapshotArns = v 9487 return s 9488} 9489 9490// SetSnapshotName sets the SnapshotName field's value. 9491func (s *CreateReplicationGroupInput) SetSnapshotName(v string) *CreateReplicationGroupInput { 9492 s.SnapshotName = &v 9493 return s 9494} 9495 9496// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 9497func (s *CreateReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *CreateReplicationGroupInput { 9498 s.SnapshotRetentionLimit = &v 9499 return s 9500} 9501 9502// SetSnapshotWindow sets the SnapshotWindow field's value. 9503func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplicationGroupInput { 9504 s.SnapshotWindow = &v 9505 return s 9506} 9507 9508// SetTags sets the Tags field's value. 9509func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { 9510 s.Tags = v 9511 return s 9512} 9513 9514// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 9515func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { 9516 s.TransitEncryptionEnabled = &v 9517 return s 9518} 9519 9520type CreateReplicationGroupOutput struct { 9521 _ struct{} `type:"structure"` 9522 9523 // Contains all of the attributes of a specific Redis replication group. 9524 ReplicationGroup *ReplicationGroup `type:"structure"` 9525} 9526 9527// String returns the string representation 9528func (s CreateReplicationGroupOutput) String() string { 9529 return awsutil.Prettify(s) 9530} 9531 9532// GoString returns the string representation 9533func (s CreateReplicationGroupOutput) GoString() string { 9534 return s.String() 9535} 9536 9537// SetReplicationGroup sets the ReplicationGroup field's value. 9538func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { 9539 s.ReplicationGroup = v 9540 return s 9541} 9542 9543// Represents the input of a CreateSnapshot operation. 9544type CreateSnapshotInput struct { 9545 _ struct{} `type:"structure"` 9546 9547 // The identifier of an existing cluster. The snapshot is created from this 9548 // cluster. 9549 CacheClusterId *string `type:"string"` 9550 9551 // The ID of the KMS key used to encrypt the snapshot. 9552 KmsKeyId *string `type:"string"` 9553 9554 // The identifier of an existing replication group. The snapshot is created 9555 // from this replication group. 9556 ReplicationGroupId *string `type:"string"` 9557 9558 // A name for the snapshot being created. 9559 // 9560 // SnapshotName is a required field 9561 SnapshotName *string `type:"string" required:"true"` 9562} 9563 9564// String returns the string representation 9565func (s CreateSnapshotInput) String() string { 9566 return awsutil.Prettify(s) 9567} 9568 9569// GoString returns the string representation 9570func (s CreateSnapshotInput) GoString() string { 9571 return s.String() 9572} 9573 9574// Validate inspects the fields of the type to determine if they are valid. 9575func (s *CreateSnapshotInput) Validate() error { 9576 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} 9577 if s.SnapshotName == nil { 9578 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 9579 } 9580 9581 if invalidParams.Len() > 0 { 9582 return invalidParams 9583 } 9584 return nil 9585} 9586 9587// SetCacheClusterId sets the CacheClusterId field's value. 9588func (s *CreateSnapshotInput) SetCacheClusterId(v string) *CreateSnapshotInput { 9589 s.CacheClusterId = &v 9590 return s 9591} 9592 9593// SetKmsKeyId sets the KmsKeyId field's value. 9594func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput { 9595 s.KmsKeyId = &v 9596 return s 9597} 9598 9599// SetReplicationGroupId sets the ReplicationGroupId field's value. 9600func (s *CreateSnapshotInput) SetReplicationGroupId(v string) *CreateSnapshotInput { 9601 s.ReplicationGroupId = &v 9602 return s 9603} 9604 9605// SetSnapshotName sets the SnapshotName field's value. 9606func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { 9607 s.SnapshotName = &v 9608 return s 9609} 9610 9611type CreateSnapshotOutput struct { 9612 _ struct{} `type:"structure"` 9613 9614 // Represents a copy of an entire Redis cluster as of the time when the snapshot 9615 // was taken. 9616 Snapshot *Snapshot `type:"structure"` 9617} 9618 9619// String returns the string representation 9620func (s CreateSnapshotOutput) String() string { 9621 return awsutil.Prettify(s) 9622} 9623 9624// GoString returns the string representation 9625func (s CreateSnapshotOutput) GoString() string { 9626 return s.String() 9627} 9628 9629// SetSnapshot sets the Snapshot field's value. 9630func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { 9631 s.Snapshot = v 9632 return s 9633} 9634 9635// The endpoint from which data should be migrated. 9636type CustomerNodeEndpoint struct { 9637 _ struct{} `type:"structure"` 9638 9639 // The address of the node endpoint 9640 Address *string `type:"string"` 9641 9642 // The port of the node endpoint 9643 Port *int64 `type:"integer"` 9644} 9645 9646// String returns the string representation 9647func (s CustomerNodeEndpoint) String() string { 9648 return awsutil.Prettify(s) 9649} 9650 9651// GoString returns the string representation 9652func (s CustomerNodeEndpoint) GoString() string { 9653 return s.String() 9654} 9655 9656// SetAddress sets the Address field's value. 9657func (s *CustomerNodeEndpoint) SetAddress(v string) *CustomerNodeEndpoint { 9658 s.Address = &v 9659 return s 9660} 9661 9662// SetPort sets the Port field's value. 9663func (s *CustomerNodeEndpoint) SetPort(v int64) *CustomerNodeEndpoint { 9664 s.Port = &v 9665 return s 9666} 9667 9668type DecreaseNodeGroupsInGlobalReplicationGroupInput struct { 9669 _ struct{} `type:"structure"` 9670 9671 // Indicates that the shard reconfiguration process begins immediately. At present, 9672 // the only permitted value for this parameter is true. 9673 // 9674 // ApplyImmediately is a required field 9675 ApplyImmediately *bool `type:"boolean" required:"true"` 9676 9677 // If the value of NodeGroupCount is less than the current number of node groups 9678 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 9679 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 9680 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 9681 // from the cluster. 9682 GlobalNodeGroupsToRemove []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 9683 9684 // If the value of NodeGroupCount is less than the current number of node groups 9685 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 9686 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 9687 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 9688 // from the cluster. 9689 GlobalNodeGroupsToRetain []*string `locationNameList:"GlobalNodeGroupId" type:"list"` 9690 9691 // The name of the Global Datastore 9692 // 9693 // GlobalReplicationGroupId is a required field 9694 GlobalReplicationGroupId *string `type:"string" required:"true"` 9695 9696 // The number of node groups (shards) that results from the modification of 9697 // the shard configuration 9698 // 9699 // NodeGroupCount is a required field 9700 NodeGroupCount *int64 `type:"integer" required:"true"` 9701} 9702 9703// String returns the string representation 9704func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 9705 return awsutil.Prettify(s) 9706} 9707 9708// GoString returns the string representation 9709func (s DecreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 9710 return s.String() 9711} 9712 9713// Validate inspects the fields of the type to determine if they are valid. 9714func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 9715 invalidParams := request.ErrInvalidParams{Context: "DecreaseNodeGroupsInGlobalReplicationGroupInput"} 9716 if s.ApplyImmediately == nil { 9717 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 9718 } 9719 if s.GlobalReplicationGroupId == nil { 9720 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 9721 } 9722 if s.NodeGroupCount == nil { 9723 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 9724 } 9725 9726 if invalidParams.Len() > 0 { 9727 return invalidParams 9728 } 9729 return nil 9730} 9731 9732// SetApplyImmediately sets the ApplyImmediately field's value. 9733func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9734 s.ApplyImmediately = &v 9735 return s 9736} 9737 9738// SetGlobalNodeGroupsToRemove sets the GlobalNodeGroupsToRemove field's value. 9739func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRemove(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9740 s.GlobalNodeGroupsToRemove = v 9741 return s 9742} 9743 9744// SetGlobalNodeGroupsToRetain sets the GlobalNodeGroupsToRetain field's value. 9745func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalNodeGroupsToRetain(v []*string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9746 s.GlobalNodeGroupsToRetain = v 9747 return s 9748} 9749 9750// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 9751func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9752 s.GlobalReplicationGroupId = &v 9753 return s 9754} 9755 9756// SetNodeGroupCount sets the NodeGroupCount field's value. 9757func (s *DecreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *DecreaseNodeGroupsInGlobalReplicationGroupInput { 9758 s.NodeGroupCount = &v 9759 return s 9760} 9761 9762type DecreaseNodeGroupsInGlobalReplicationGroupOutput struct { 9763 _ struct{} `type:"structure"` 9764 9765 // Consists of a primary cluster that accepts writes and an associated secondary 9766 // cluster that resides in a different AWS region. The secondary cluster accepts 9767 // only reads. The primary cluster automatically replicates updates to the secondary 9768 // cluster. 9769 // 9770 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 9771 // Datastore, which is what you use to associate a secondary cluster. 9772 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 9773} 9774 9775// String returns the string representation 9776func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 9777 return awsutil.Prettify(s) 9778} 9779 9780// GoString returns the string representation 9781func (s DecreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 9782 return s.String() 9783} 9784 9785// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 9786func (s *DecreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DecreaseNodeGroupsInGlobalReplicationGroupOutput { 9787 s.GlobalReplicationGroup = v 9788 return s 9789} 9790 9791type DecreaseReplicaCountInput struct { 9792 _ struct{} `type:"structure"` 9793 9794 // If True, the number of replica nodes is decreased immediately. ApplyImmediately=False 9795 // is not currently supported. 9796 // 9797 // ApplyImmediately is a required field 9798 ApplyImmediately *bool `type:"boolean" required:"true"` 9799 9800 // The number of read replica nodes you want at the completion of this operation. 9801 // For Redis (cluster mode disabled) replication groups, this is the number 9802 // of replica nodes in the replication group. For Redis (cluster mode enabled) 9803 // replication groups, this is the number of replica nodes in each of the replication 9804 // group's node groups. 9805 // 9806 // The minimum number of replicas in a shard or replication group is: 9807 // 9808 // * Redis (cluster mode disabled) If Multi-AZ is enabled: 1 If Multi-AZ 9809 // is not enabled: 0 9810 // 9811 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 9812 // to a replica if your primary node fails) 9813 NewReplicaCount *int64 `type:"integer"` 9814 9815 // A list of ConfigureShard objects that can be used to configure each shard 9816 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 9817 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 9818 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 9819 9820 // A list of the node ids to remove from the replication group or node group 9821 // (shard). 9822 ReplicasToRemove []*string `type:"list"` 9823 9824 // The id of the replication group from which you want to remove replica nodes. 9825 // 9826 // ReplicationGroupId is a required field 9827 ReplicationGroupId *string `type:"string" required:"true"` 9828} 9829 9830// String returns the string representation 9831func (s DecreaseReplicaCountInput) String() string { 9832 return awsutil.Prettify(s) 9833} 9834 9835// GoString returns the string representation 9836func (s DecreaseReplicaCountInput) GoString() string { 9837 return s.String() 9838} 9839 9840// Validate inspects the fields of the type to determine if they are valid. 9841func (s *DecreaseReplicaCountInput) Validate() error { 9842 invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicaCountInput"} 9843 if s.ApplyImmediately == nil { 9844 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 9845 } 9846 if s.ReplicationGroupId == nil { 9847 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 9848 } 9849 if s.ReplicaConfiguration != nil { 9850 for i, v := range s.ReplicaConfiguration { 9851 if v == nil { 9852 continue 9853 } 9854 if err := v.Validate(); err != nil { 9855 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 9856 } 9857 } 9858 } 9859 9860 if invalidParams.Len() > 0 { 9861 return invalidParams 9862 } 9863 return nil 9864} 9865 9866// SetApplyImmediately sets the ApplyImmediately field's value. 9867func (s *DecreaseReplicaCountInput) SetApplyImmediately(v bool) *DecreaseReplicaCountInput { 9868 s.ApplyImmediately = &v 9869 return s 9870} 9871 9872// SetNewReplicaCount sets the NewReplicaCount field's value. 9873func (s *DecreaseReplicaCountInput) SetNewReplicaCount(v int64) *DecreaseReplicaCountInput { 9874 s.NewReplicaCount = &v 9875 return s 9876} 9877 9878// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 9879func (s *DecreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *DecreaseReplicaCountInput { 9880 s.ReplicaConfiguration = v 9881 return s 9882} 9883 9884// SetReplicasToRemove sets the ReplicasToRemove field's value. 9885func (s *DecreaseReplicaCountInput) SetReplicasToRemove(v []*string) *DecreaseReplicaCountInput { 9886 s.ReplicasToRemove = v 9887 return s 9888} 9889 9890// SetReplicationGroupId sets the ReplicationGroupId field's value. 9891func (s *DecreaseReplicaCountInput) SetReplicationGroupId(v string) *DecreaseReplicaCountInput { 9892 s.ReplicationGroupId = &v 9893 return s 9894} 9895 9896type DecreaseReplicaCountOutput struct { 9897 _ struct{} `type:"structure"` 9898 9899 // Contains all of the attributes of a specific Redis replication group. 9900 ReplicationGroup *ReplicationGroup `type:"structure"` 9901} 9902 9903// String returns the string representation 9904func (s DecreaseReplicaCountOutput) String() string { 9905 return awsutil.Prettify(s) 9906} 9907 9908// GoString returns the string representation 9909func (s DecreaseReplicaCountOutput) GoString() string { 9910 return s.String() 9911} 9912 9913// SetReplicationGroup sets the ReplicationGroup field's value. 9914func (s *DecreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *DecreaseReplicaCountOutput { 9915 s.ReplicationGroup = v 9916 return s 9917} 9918 9919// Represents the input of a DeleteCacheCluster operation. 9920type DeleteCacheClusterInput struct { 9921 _ struct{} `type:"structure"` 9922 9923 // The cluster identifier for the cluster to be deleted. This parameter is not 9924 // case sensitive. 9925 // 9926 // CacheClusterId is a required field 9927 CacheClusterId *string `type:"string" required:"true"` 9928 9929 // The user-supplied name of a final cluster snapshot. This is the unique name 9930 // that identifies the snapshot. ElastiCache creates the snapshot, and then 9931 // deletes the cluster immediately afterward. 9932 FinalSnapshotIdentifier *string `type:"string"` 9933} 9934 9935// String returns the string representation 9936func (s DeleteCacheClusterInput) String() string { 9937 return awsutil.Prettify(s) 9938} 9939 9940// GoString returns the string representation 9941func (s DeleteCacheClusterInput) GoString() string { 9942 return s.String() 9943} 9944 9945// Validate inspects the fields of the type to determine if they are valid. 9946func (s *DeleteCacheClusterInput) Validate() error { 9947 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} 9948 if s.CacheClusterId == nil { 9949 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 9950 } 9951 9952 if invalidParams.Len() > 0 { 9953 return invalidParams 9954 } 9955 return nil 9956} 9957 9958// SetCacheClusterId sets the CacheClusterId field's value. 9959func (s *DeleteCacheClusterInput) SetCacheClusterId(v string) *DeleteCacheClusterInput { 9960 s.CacheClusterId = &v 9961 return s 9962} 9963 9964// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 9965func (s *DeleteCacheClusterInput) SetFinalSnapshotIdentifier(v string) *DeleteCacheClusterInput { 9966 s.FinalSnapshotIdentifier = &v 9967 return s 9968} 9969 9970type DeleteCacheClusterOutput struct { 9971 _ struct{} `type:"structure"` 9972 9973 // Contains all of the attributes of a specific cluster. 9974 CacheCluster *CacheCluster `type:"structure"` 9975} 9976 9977// String returns the string representation 9978func (s DeleteCacheClusterOutput) String() string { 9979 return awsutil.Prettify(s) 9980} 9981 9982// GoString returns the string representation 9983func (s DeleteCacheClusterOutput) GoString() string { 9984 return s.String() 9985} 9986 9987// SetCacheCluster sets the CacheCluster field's value. 9988func (s *DeleteCacheClusterOutput) SetCacheCluster(v *CacheCluster) *DeleteCacheClusterOutput { 9989 s.CacheCluster = v 9990 return s 9991} 9992 9993// Represents the input of a DeleteCacheParameterGroup operation. 9994type DeleteCacheParameterGroupInput struct { 9995 _ struct{} `type:"structure"` 9996 9997 // The name of the cache parameter group to delete. 9998 // 9999 // The specified cache security group must not be associated with any clusters. 10000 // 10001 // CacheParameterGroupName is a required field 10002 CacheParameterGroupName *string `type:"string" required:"true"` 10003} 10004 10005// String returns the string representation 10006func (s DeleteCacheParameterGroupInput) String() string { 10007 return awsutil.Prettify(s) 10008} 10009 10010// GoString returns the string representation 10011func (s DeleteCacheParameterGroupInput) GoString() string { 10012 return s.String() 10013} 10014 10015// Validate inspects the fields of the type to determine if they are valid. 10016func (s *DeleteCacheParameterGroupInput) Validate() error { 10017 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} 10018 if s.CacheParameterGroupName == nil { 10019 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 10020 } 10021 10022 if invalidParams.Len() > 0 { 10023 return invalidParams 10024 } 10025 return nil 10026} 10027 10028// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10029func (s *DeleteCacheParameterGroupInput) SetCacheParameterGroupName(v string) *DeleteCacheParameterGroupInput { 10030 s.CacheParameterGroupName = &v 10031 return s 10032} 10033 10034type DeleteCacheParameterGroupOutput struct { 10035 _ struct{} `type:"structure"` 10036} 10037 10038// String returns the string representation 10039func (s DeleteCacheParameterGroupOutput) String() string { 10040 return awsutil.Prettify(s) 10041} 10042 10043// GoString returns the string representation 10044func (s DeleteCacheParameterGroupOutput) GoString() string { 10045 return s.String() 10046} 10047 10048// Represents the input of a DeleteCacheSecurityGroup operation. 10049type DeleteCacheSecurityGroupInput struct { 10050 _ struct{} `type:"structure"` 10051 10052 // The name of the cache security group to delete. 10053 // 10054 // You cannot delete the default security group. 10055 // 10056 // CacheSecurityGroupName is a required field 10057 CacheSecurityGroupName *string `type:"string" required:"true"` 10058} 10059 10060// String returns the string representation 10061func (s DeleteCacheSecurityGroupInput) String() string { 10062 return awsutil.Prettify(s) 10063} 10064 10065// GoString returns the string representation 10066func (s DeleteCacheSecurityGroupInput) GoString() string { 10067 return s.String() 10068} 10069 10070// Validate inspects the fields of the type to determine if they are valid. 10071func (s *DeleteCacheSecurityGroupInput) Validate() error { 10072 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} 10073 if s.CacheSecurityGroupName == nil { 10074 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 10075 } 10076 10077 if invalidParams.Len() > 0 { 10078 return invalidParams 10079 } 10080 return nil 10081} 10082 10083// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 10084func (s *DeleteCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *DeleteCacheSecurityGroupInput { 10085 s.CacheSecurityGroupName = &v 10086 return s 10087} 10088 10089type DeleteCacheSecurityGroupOutput struct { 10090 _ struct{} `type:"structure"` 10091} 10092 10093// String returns the string representation 10094func (s DeleteCacheSecurityGroupOutput) String() string { 10095 return awsutil.Prettify(s) 10096} 10097 10098// GoString returns the string representation 10099func (s DeleteCacheSecurityGroupOutput) GoString() string { 10100 return s.String() 10101} 10102 10103// Represents the input of a DeleteCacheSubnetGroup operation. 10104type DeleteCacheSubnetGroupInput struct { 10105 _ struct{} `type:"structure"` 10106 10107 // The name of the cache subnet group to delete. 10108 // 10109 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 10110 // 10111 // CacheSubnetGroupName is a required field 10112 CacheSubnetGroupName *string `type:"string" required:"true"` 10113} 10114 10115// String returns the string representation 10116func (s DeleteCacheSubnetGroupInput) String() string { 10117 return awsutil.Prettify(s) 10118} 10119 10120// GoString returns the string representation 10121func (s DeleteCacheSubnetGroupInput) GoString() string { 10122 return s.String() 10123} 10124 10125// Validate inspects the fields of the type to determine if they are valid. 10126func (s *DeleteCacheSubnetGroupInput) Validate() error { 10127 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} 10128 if s.CacheSubnetGroupName == nil { 10129 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 10130 } 10131 10132 if invalidParams.Len() > 0 { 10133 return invalidParams 10134 } 10135 return nil 10136} 10137 10138// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10139func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteCacheSubnetGroupInput { 10140 s.CacheSubnetGroupName = &v 10141 return s 10142} 10143 10144type DeleteCacheSubnetGroupOutput struct { 10145 _ struct{} `type:"structure"` 10146} 10147 10148// String returns the string representation 10149func (s DeleteCacheSubnetGroupOutput) String() string { 10150 return awsutil.Prettify(s) 10151} 10152 10153// GoString returns the string representation 10154func (s DeleteCacheSubnetGroupOutput) GoString() string { 10155 return s.String() 10156} 10157 10158type DeleteGlobalReplicationGroupInput struct { 10159 _ struct{} `type:"structure"` 10160 10161 // The name of the Global Datastore 10162 // 10163 // GlobalReplicationGroupId is a required field 10164 GlobalReplicationGroupId *string `type:"string" required:"true"` 10165 10166 // The primary replication group is retained as a standalone replication group. 10167 // 10168 // RetainPrimaryReplicationGroup is a required field 10169 RetainPrimaryReplicationGroup *bool `type:"boolean" required:"true"` 10170} 10171 10172// String returns the string representation 10173func (s DeleteGlobalReplicationGroupInput) String() string { 10174 return awsutil.Prettify(s) 10175} 10176 10177// GoString returns the string representation 10178func (s DeleteGlobalReplicationGroupInput) GoString() string { 10179 return s.String() 10180} 10181 10182// Validate inspects the fields of the type to determine if they are valid. 10183func (s *DeleteGlobalReplicationGroupInput) Validate() error { 10184 invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalReplicationGroupInput"} 10185 if s.GlobalReplicationGroupId == nil { 10186 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 10187 } 10188 if s.RetainPrimaryReplicationGroup == nil { 10189 invalidParams.Add(request.NewErrParamRequired("RetainPrimaryReplicationGroup")) 10190 } 10191 10192 if invalidParams.Len() > 0 { 10193 return invalidParams 10194 } 10195 return nil 10196} 10197 10198// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 10199func (s *DeleteGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DeleteGlobalReplicationGroupInput { 10200 s.GlobalReplicationGroupId = &v 10201 return s 10202} 10203 10204// SetRetainPrimaryReplicationGroup sets the RetainPrimaryReplicationGroup field's value. 10205func (s *DeleteGlobalReplicationGroupInput) SetRetainPrimaryReplicationGroup(v bool) *DeleteGlobalReplicationGroupInput { 10206 s.RetainPrimaryReplicationGroup = &v 10207 return s 10208} 10209 10210type DeleteGlobalReplicationGroupOutput struct { 10211 _ struct{} `type:"structure"` 10212 10213 // Consists of a primary cluster that accepts writes and an associated secondary 10214 // cluster that resides in a different AWS region. The secondary cluster accepts 10215 // only reads. The primary cluster automatically replicates updates to the secondary 10216 // cluster. 10217 // 10218 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 10219 // Datastore, which is what you use to associate a secondary cluster. 10220 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 10221} 10222 10223// String returns the string representation 10224func (s DeleteGlobalReplicationGroupOutput) String() string { 10225 return awsutil.Prettify(s) 10226} 10227 10228// GoString returns the string representation 10229func (s DeleteGlobalReplicationGroupOutput) GoString() string { 10230 return s.String() 10231} 10232 10233// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 10234func (s *DeleteGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DeleteGlobalReplicationGroupOutput { 10235 s.GlobalReplicationGroup = v 10236 return s 10237} 10238 10239// Represents the input of a DeleteReplicationGroup operation. 10240type DeleteReplicationGroupInput struct { 10241 _ struct{} `type:"structure"` 10242 10243 // The name of a final node group (shard) snapshot. ElastiCache creates the 10244 // snapshot from the primary node in the cluster, rather than one of the replicas; 10245 // this is to ensure that it captures the freshest data. After the final snapshot 10246 // is taken, the replication group is immediately deleted. 10247 FinalSnapshotIdentifier *string `type:"string"` 10248 10249 // The identifier for the cluster to be deleted. This parameter is not case 10250 // sensitive. 10251 // 10252 // ReplicationGroupId is a required field 10253 ReplicationGroupId *string `type:"string" required:"true"` 10254 10255 // If set to true, all of the read replicas are deleted, but the primary node 10256 // is retained. 10257 RetainPrimaryCluster *bool `type:"boolean"` 10258} 10259 10260// String returns the string representation 10261func (s DeleteReplicationGroupInput) String() string { 10262 return awsutil.Prettify(s) 10263} 10264 10265// GoString returns the string representation 10266func (s DeleteReplicationGroupInput) GoString() string { 10267 return s.String() 10268} 10269 10270// Validate inspects the fields of the type to determine if they are valid. 10271func (s *DeleteReplicationGroupInput) Validate() error { 10272 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} 10273 if s.ReplicationGroupId == nil { 10274 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 10275 } 10276 10277 if invalidParams.Len() > 0 { 10278 return invalidParams 10279 } 10280 return nil 10281} 10282 10283// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 10284func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { 10285 s.FinalSnapshotIdentifier = &v 10286 return s 10287} 10288 10289// SetReplicationGroupId sets the ReplicationGroupId field's value. 10290func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { 10291 s.ReplicationGroupId = &v 10292 return s 10293} 10294 10295// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. 10296func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { 10297 s.RetainPrimaryCluster = &v 10298 return s 10299} 10300 10301type DeleteReplicationGroupOutput struct { 10302 _ struct{} `type:"structure"` 10303 10304 // Contains all of the attributes of a specific Redis replication group. 10305 ReplicationGroup *ReplicationGroup `type:"structure"` 10306} 10307 10308// String returns the string representation 10309func (s DeleteReplicationGroupOutput) String() string { 10310 return awsutil.Prettify(s) 10311} 10312 10313// GoString returns the string representation 10314func (s DeleteReplicationGroupOutput) GoString() string { 10315 return s.String() 10316} 10317 10318// SetReplicationGroup sets the ReplicationGroup field's value. 10319func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { 10320 s.ReplicationGroup = v 10321 return s 10322} 10323 10324// Represents the input of a DeleteSnapshot operation. 10325type DeleteSnapshotInput struct { 10326 _ struct{} `type:"structure"` 10327 10328 // The name of the snapshot to be deleted. 10329 // 10330 // SnapshotName is a required field 10331 SnapshotName *string `type:"string" required:"true"` 10332} 10333 10334// String returns the string representation 10335func (s DeleteSnapshotInput) String() string { 10336 return awsutil.Prettify(s) 10337} 10338 10339// GoString returns the string representation 10340func (s DeleteSnapshotInput) GoString() string { 10341 return s.String() 10342} 10343 10344// Validate inspects the fields of the type to determine if they are valid. 10345func (s *DeleteSnapshotInput) Validate() error { 10346 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} 10347 if s.SnapshotName == nil { 10348 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 10349 } 10350 10351 if invalidParams.Len() > 0 { 10352 return invalidParams 10353 } 10354 return nil 10355} 10356 10357// SetSnapshotName sets the SnapshotName field's value. 10358func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { 10359 s.SnapshotName = &v 10360 return s 10361} 10362 10363type DeleteSnapshotOutput struct { 10364 _ struct{} `type:"structure"` 10365 10366 // Represents a copy of an entire Redis cluster as of the time when the snapshot 10367 // was taken. 10368 Snapshot *Snapshot `type:"structure"` 10369} 10370 10371// String returns the string representation 10372func (s DeleteSnapshotOutput) String() string { 10373 return awsutil.Prettify(s) 10374} 10375 10376// GoString returns the string representation 10377func (s DeleteSnapshotOutput) GoString() string { 10378 return s.String() 10379} 10380 10381// SetSnapshot sets the Snapshot field's value. 10382func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { 10383 s.Snapshot = v 10384 return s 10385} 10386 10387// Represents the input of a DescribeCacheClusters operation. 10388type DescribeCacheClustersInput struct { 10389 _ struct{} `type:"structure"` 10390 10391 // The user-supplied cluster identifier. If this parameter is specified, only 10392 // information about that specific cluster is returned. This parameter isn't 10393 // case sensitive. 10394 CacheClusterId *string `type:"string"` 10395 10396 // An optional marker returned from a prior request. Use this marker for pagination 10397 // of results from this operation. If this parameter is specified, the response 10398 // includes only records beyond the marker, up to the value specified by MaxRecords. 10399 Marker *string `type:"string"` 10400 10401 // The maximum number of records to include in the response. If more records 10402 // exist than the specified MaxRecords value, a marker is included in the response 10403 // so that the remaining results can be retrieved. 10404 // 10405 // Default: 100 10406 // 10407 // Constraints: minimum 20; maximum 100. 10408 MaxRecords *int64 `type:"integer"` 10409 10410 // An optional flag that can be included in the DescribeCacheCluster request 10411 // to show only nodes (API/CLI: clusters) that are not members of a replication 10412 // group. In practice, this mean Memcached and single node Redis clusters. 10413 ShowCacheClustersNotInReplicationGroups *bool `type:"boolean"` 10414 10415 // An optional flag that can be included in the DescribeCacheCluster request 10416 // to retrieve information about the individual cache nodes. 10417 ShowCacheNodeInfo *bool `type:"boolean"` 10418} 10419 10420// String returns the string representation 10421func (s DescribeCacheClustersInput) String() string { 10422 return awsutil.Prettify(s) 10423} 10424 10425// GoString returns the string representation 10426func (s DescribeCacheClustersInput) GoString() string { 10427 return s.String() 10428} 10429 10430// SetCacheClusterId sets the CacheClusterId field's value. 10431func (s *DescribeCacheClustersInput) SetCacheClusterId(v string) *DescribeCacheClustersInput { 10432 s.CacheClusterId = &v 10433 return s 10434} 10435 10436// SetMarker sets the Marker field's value. 10437func (s *DescribeCacheClustersInput) SetMarker(v string) *DescribeCacheClustersInput { 10438 s.Marker = &v 10439 return s 10440} 10441 10442// SetMaxRecords sets the MaxRecords field's value. 10443func (s *DescribeCacheClustersInput) SetMaxRecords(v int64) *DescribeCacheClustersInput { 10444 s.MaxRecords = &v 10445 return s 10446} 10447 10448// SetShowCacheClustersNotInReplicationGroups sets the ShowCacheClustersNotInReplicationGroups field's value. 10449func (s *DescribeCacheClustersInput) SetShowCacheClustersNotInReplicationGroups(v bool) *DescribeCacheClustersInput { 10450 s.ShowCacheClustersNotInReplicationGroups = &v 10451 return s 10452} 10453 10454// SetShowCacheNodeInfo sets the ShowCacheNodeInfo field's value. 10455func (s *DescribeCacheClustersInput) SetShowCacheNodeInfo(v bool) *DescribeCacheClustersInput { 10456 s.ShowCacheNodeInfo = &v 10457 return s 10458} 10459 10460// Represents the output of a DescribeCacheClusters operation. 10461type DescribeCacheClustersOutput struct { 10462 _ struct{} `type:"structure"` 10463 10464 // A list of clusters. Each item in the list contains detailed information about 10465 // one cluster. 10466 CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"` 10467 10468 // Provides an identifier to allow retrieval of paginated results. 10469 Marker *string `type:"string"` 10470} 10471 10472// String returns the string representation 10473func (s DescribeCacheClustersOutput) String() string { 10474 return awsutil.Prettify(s) 10475} 10476 10477// GoString returns the string representation 10478func (s DescribeCacheClustersOutput) GoString() string { 10479 return s.String() 10480} 10481 10482// SetCacheClusters sets the CacheClusters field's value. 10483func (s *DescribeCacheClustersOutput) SetCacheClusters(v []*CacheCluster) *DescribeCacheClustersOutput { 10484 s.CacheClusters = v 10485 return s 10486} 10487 10488// SetMarker sets the Marker field's value. 10489func (s *DescribeCacheClustersOutput) SetMarker(v string) *DescribeCacheClustersOutput { 10490 s.Marker = &v 10491 return s 10492} 10493 10494// Represents the input of a DescribeCacheEngineVersions operation. 10495type DescribeCacheEngineVersionsInput struct { 10496 _ struct{} `type:"structure"` 10497 10498 // The name of a specific cache parameter group family to return details for. 10499 // 10500 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 10501 // | redis4.0 | redis5.0 | 10502 // 10503 // Constraints: 10504 // 10505 // * Must be 1 to 255 alphanumeric characters 10506 // 10507 // * First character must be a letter 10508 // 10509 // * Cannot end with a hyphen or contain two consecutive hyphens 10510 CacheParameterGroupFamily *string `type:"string"` 10511 10512 // If true, specifies that only the default version of the specified engine 10513 // or engine and major version combination is to be returned. 10514 DefaultOnly *bool `type:"boolean"` 10515 10516 // The cache engine to return. Valid values: memcached | redis 10517 Engine *string `type:"string"` 10518 10519 // The cache engine version to return. 10520 // 10521 // Example: 1.4.14 10522 EngineVersion *string `type:"string"` 10523 10524 // An optional marker returned from a prior request. Use this marker for pagination 10525 // of results from this operation. If this parameter is specified, the response 10526 // includes only records beyond the marker, up to the value specified by MaxRecords. 10527 Marker *string `type:"string"` 10528 10529 // The maximum number of records to include in the response. If more records 10530 // exist than the specified MaxRecords value, a marker is included in the response 10531 // so that the remaining results can be retrieved. 10532 // 10533 // Default: 100 10534 // 10535 // Constraints: minimum 20; maximum 100. 10536 MaxRecords *int64 `type:"integer"` 10537} 10538 10539// String returns the string representation 10540func (s DescribeCacheEngineVersionsInput) String() string { 10541 return awsutil.Prettify(s) 10542} 10543 10544// GoString returns the string representation 10545func (s DescribeCacheEngineVersionsInput) GoString() string { 10546 return s.String() 10547} 10548 10549// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 10550func (s *DescribeCacheEngineVersionsInput) SetCacheParameterGroupFamily(v string) *DescribeCacheEngineVersionsInput { 10551 s.CacheParameterGroupFamily = &v 10552 return s 10553} 10554 10555// SetDefaultOnly sets the DefaultOnly field's value. 10556func (s *DescribeCacheEngineVersionsInput) SetDefaultOnly(v bool) *DescribeCacheEngineVersionsInput { 10557 s.DefaultOnly = &v 10558 return s 10559} 10560 10561// SetEngine sets the Engine field's value. 10562func (s *DescribeCacheEngineVersionsInput) SetEngine(v string) *DescribeCacheEngineVersionsInput { 10563 s.Engine = &v 10564 return s 10565} 10566 10567// SetEngineVersion sets the EngineVersion field's value. 10568func (s *DescribeCacheEngineVersionsInput) SetEngineVersion(v string) *DescribeCacheEngineVersionsInput { 10569 s.EngineVersion = &v 10570 return s 10571} 10572 10573// SetMarker sets the Marker field's value. 10574func (s *DescribeCacheEngineVersionsInput) SetMarker(v string) *DescribeCacheEngineVersionsInput { 10575 s.Marker = &v 10576 return s 10577} 10578 10579// SetMaxRecords sets the MaxRecords field's value. 10580func (s *DescribeCacheEngineVersionsInput) SetMaxRecords(v int64) *DescribeCacheEngineVersionsInput { 10581 s.MaxRecords = &v 10582 return s 10583} 10584 10585// Represents the output of a DescribeCacheEngineVersions operation. 10586type DescribeCacheEngineVersionsOutput struct { 10587 _ struct{} `type:"structure"` 10588 10589 // A list of cache engine version details. Each element in the list contains 10590 // detailed information about one cache engine version. 10591 CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"` 10592 10593 // Provides an identifier to allow retrieval of paginated results. 10594 Marker *string `type:"string"` 10595} 10596 10597// String returns the string representation 10598func (s DescribeCacheEngineVersionsOutput) String() string { 10599 return awsutil.Prettify(s) 10600} 10601 10602// GoString returns the string representation 10603func (s DescribeCacheEngineVersionsOutput) GoString() string { 10604 return s.String() 10605} 10606 10607// SetCacheEngineVersions sets the CacheEngineVersions field's value. 10608func (s *DescribeCacheEngineVersionsOutput) SetCacheEngineVersions(v []*CacheEngineVersion) *DescribeCacheEngineVersionsOutput { 10609 s.CacheEngineVersions = v 10610 return s 10611} 10612 10613// SetMarker sets the Marker field's value. 10614func (s *DescribeCacheEngineVersionsOutput) SetMarker(v string) *DescribeCacheEngineVersionsOutput { 10615 s.Marker = &v 10616 return s 10617} 10618 10619// Represents the input of a DescribeCacheParameterGroups operation. 10620type DescribeCacheParameterGroupsInput struct { 10621 _ struct{} `type:"structure"` 10622 10623 // The name of a specific cache parameter group to return details for. 10624 CacheParameterGroupName *string `type:"string"` 10625 10626 // An optional marker returned from a prior request. Use this marker for pagination 10627 // of results from this operation. If this parameter is specified, the response 10628 // includes only records beyond the marker, up to the value specified by MaxRecords. 10629 Marker *string `type:"string"` 10630 10631 // The maximum number of records to include in the response. If more records 10632 // exist than the specified MaxRecords value, a marker is included in the response 10633 // so that the remaining results can be retrieved. 10634 // 10635 // Default: 100 10636 // 10637 // Constraints: minimum 20; maximum 100. 10638 MaxRecords *int64 `type:"integer"` 10639} 10640 10641// String returns the string representation 10642func (s DescribeCacheParameterGroupsInput) String() string { 10643 return awsutil.Prettify(s) 10644} 10645 10646// GoString returns the string representation 10647func (s DescribeCacheParameterGroupsInput) GoString() string { 10648 return s.String() 10649} 10650 10651// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10652func (s *DescribeCacheParameterGroupsInput) SetCacheParameterGroupName(v string) *DescribeCacheParameterGroupsInput { 10653 s.CacheParameterGroupName = &v 10654 return s 10655} 10656 10657// SetMarker sets the Marker field's value. 10658func (s *DescribeCacheParameterGroupsInput) SetMarker(v string) *DescribeCacheParameterGroupsInput { 10659 s.Marker = &v 10660 return s 10661} 10662 10663// SetMaxRecords sets the MaxRecords field's value. 10664func (s *DescribeCacheParameterGroupsInput) SetMaxRecords(v int64) *DescribeCacheParameterGroupsInput { 10665 s.MaxRecords = &v 10666 return s 10667} 10668 10669// Represents the output of a DescribeCacheParameterGroups operation. 10670type DescribeCacheParameterGroupsOutput struct { 10671 _ struct{} `type:"structure"` 10672 10673 // A list of cache parameter groups. Each element in the list contains detailed 10674 // information about one cache parameter group. 10675 CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"` 10676 10677 // Provides an identifier to allow retrieval of paginated results. 10678 Marker *string `type:"string"` 10679} 10680 10681// String returns the string representation 10682func (s DescribeCacheParameterGroupsOutput) String() string { 10683 return awsutil.Prettify(s) 10684} 10685 10686// GoString returns the string representation 10687func (s DescribeCacheParameterGroupsOutput) GoString() string { 10688 return s.String() 10689} 10690 10691// SetCacheParameterGroups sets the CacheParameterGroups field's value. 10692func (s *DescribeCacheParameterGroupsOutput) SetCacheParameterGroups(v []*CacheParameterGroup) *DescribeCacheParameterGroupsOutput { 10693 s.CacheParameterGroups = v 10694 return s 10695} 10696 10697// SetMarker sets the Marker field's value. 10698func (s *DescribeCacheParameterGroupsOutput) SetMarker(v string) *DescribeCacheParameterGroupsOutput { 10699 s.Marker = &v 10700 return s 10701} 10702 10703// Represents the input of a DescribeCacheParameters operation. 10704type DescribeCacheParametersInput struct { 10705 _ struct{} `type:"structure"` 10706 10707 // The name of a specific cache parameter group to return details for. 10708 // 10709 // CacheParameterGroupName is a required field 10710 CacheParameterGroupName *string `type:"string" required:"true"` 10711 10712 // An optional marker returned from a prior request. Use this marker for pagination 10713 // of results from this operation. If this parameter is specified, the response 10714 // includes only records beyond the marker, up to the value specified by MaxRecords. 10715 Marker *string `type:"string"` 10716 10717 // The maximum number of records to include in the response. If more records 10718 // exist than the specified MaxRecords value, a marker is included in the response 10719 // so that the remaining results can be retrieved. 10720 // 10721 // Default: 100 10722 // 10723 // Constraints: minimum 20; maximum 100. 10724 MaxRecords *int64 `type:"integer"` 10725 10726 // The parameter types to return. 10727 // 10728 // Valid values: user | system | engine-default 10729 Source *string `type:"string"` 10730} 10731 10732// String returns the string representation 10733func (s DescribeCacheParametersInput) String() string { 10734 return awsutil.Prettify(s) 10735} 10736 10737// GoString returns the string representation 10738func (s DescribeCacheParametersInput) GoString() string { 10739 return s.String() 10740} 10741 10742// Validate inspects the fields of the type to determine if they are valid. 10743func (s *DescribeCacheParametersInput) Validate() error { 10744 invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} 10745 if s.CacheParameterGroupName == nil { 10746 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 10747 } 10748 10749 if invalidParams.Len() > 0 { 10750 return invalidParams 10751 } 10752 return nil 10753} 10754 10755// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 10756func (s *DescribeCacheParametersInput) SetCacheParameterGroupName(v string) *DescribeCacheParametersInput { 10757 s.CacheParameterGroupName = &v 10758 return s 10759} 10760 10761// SetMarker sets the Marker field's value. 10762func (s *DescribeCacheParametersInput) SetMarker(v string) *DescribeCacheParametersInput { 10763 s.Marker = &v 10764 return s 10765} 10766 10767// SetMaxRecords sets the MaxRecords field's value. 10768func (s *DescribeCacheParametersInput) SetMaxRecords(v int64) *DescribeCacheParametersInput { 10769 s.MaxRecords = &v 10770 return s 10771} 10772 10773// SetSource sets the Source field's value. 10774func (s *DescribeCacheParametersInput) SetSource(v string) *DescribeCacheParametersInput { 10775 s.Source = &v 10776 return s 10777} 10778 10779// Represents the output of a DescribeCacheParameters operation. 10780type DescribeCacheParametersOutput struct { 10781 _ struct{} `type:"structure"` 10782 10783 // A list of parameters specific to a particular cache node type. Each element 10784 // in the list contains detailed information about one parameter. 10785 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 10786 10787 // Provides an identifier to allow retrieval of paginated results. 10788 Marker *string `type:"string"` 10789 10790 // A list of Parameter instances. 10791 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 10792} 10793 10794// String returns the string representation 10795func (s DescribeCacheParametersOutput) String() string { 10796 return awsutil.Prettify(s) 10797} 10798 10799// GoString returns the string representation 10800func (s DescribeCacheParametersOutput) GoString() string { 10801 return s.String() 10802} 10803 10804// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 10805func (s *DescribeCacheParametersOutput) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *DescribeCacheParametersOutput { 10806 s.CacheNodeTypeSpecificParameters = v 10807 return s 10808} 10809 10810// SetMarker sets the Marker field's value. 10811func (s *DescribeCacheParametersOutput) SetMarker(v string) *DescribeCacheParametersOutput { 10812 s.Marker = &v 10813 return s 10814} 10815 10816// SetParameters sets the Parameters field's value. 10817func (s *DescribeCacheParametersOutput) SetParameters(v []*Parameter) *DescribeCacheParametersOutput { 10818 s.Parameters = v 10819 return s 10820} 10821 10822// Represents the input of a DescribeCacheSecurityGroups operation. 10823type DescribeCacheSecurityGroupsInput struct { 10824 _ struct{} `type:"structure"` 10825 10826 // The name of the cache security group to return details for. 10827 CacheSecurityGroupName *string `type:"string"` 10828 10829 // An optional marker returned from a prior request. Use this marker for pagination 10830 // of results from this operation. If this parameter is specified, the response 10831 // includes only records beyond the marker, up to the value specified by MaxRecords. 10832 Marker *string `type:"string"` 10833 10834 // The maximum number of records to include in the response. If more records 10835 // exist than the specified MaxRecords value, a marker is included in the response 10836 // so that the remaining results can be retrieved. 10837 // 10838 // Default: 100 10839 // 10840 // Constraints: minimum 20; maximum 100. 10841 MaxRecords *int64 `type:"integer"` 10842} 10843 10844// String returns the string representation 10845func (s DescribeCacheSecurityGroupsInput) String() string { 10846 return awsutil.Prettify(s) 10847} 10848 10849// GoString returns the string representation 10850func (s DescribeCacheSecurityGroupsInput) GoString() string { 10851 return s.String() 10852} 10853 10854// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 10855func (s *DescribeCacheSecurityGroupsInput) SetCacheSecurityGroupName(v string) *DescribeCacheSecurityGroupsInput { 10856 s.CacheSecurityGroupName = &v 10857 return s 10858} 10859 10860// SetMarker sets the Marker field's value. 10861func (s *DescribeCacheSecurityGroupsInput) SetMarker(v string) *DescribeCacheSecurityGroupsInput { 10862 s.Marker = &v 10863 return s 10864} 10865 10866// SetMaxRecords sets the MaxRecords field's value. 10867func (s *DescribeCacheSecurityGroupsInput) SetMaxRecords(v int64) *DescribeCacheSecurityGroupsInput { 10868 s.MaxRecords = &v 10869 return s 10870} 10871 10872// Represents the output of a DescribeCacheSecurityGroups operation. 10873type DescribeCacheSecurityGroupsOutput struct { 10874 _ struct{} `type:"structure"` 10875 10876 // A list of cache security groups. Each element in the list contains detailed 10877 // information about one group. 10878 CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"` 10879 10880 // Provides an identifier to allow retrieval of paginated results. 10881 Marker *string `type:"string"` 10882} 10883 10884// String returns the string representation 10885func (s DescribeCacheSecurityGroupsOutput) String() string { 10886 return awsutil.Prettify(s) 10887} 10888 10889// GoString returns the string representation 10890func (s DescribeCacheSecurityGroupsOutput) GoString() string { 10891 return s.String() 10892} 10893 10894// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 10895func (s *DescribeCacheSecurityGroupsOutput) SetCacheSecurityGroups(v []*CacheSecurityGroup) *DescribeCacheSecurityGroupsOutput { 10896 s.CacheSecurityGroups = v 10897 return s 10898} 10899 10900// SetMarker sets the Marker field's value. 10901func (s *DescribeCacheSecurityGroupsOutput) SetMarker(v string) *DescribeCacheSecurityGroupsOutput { 10902 s.Marker = &v 10903 return s 10904} 10905 10906// Represents the input of a DescribeCacheSubnetGroups operation. 10907type DescribeCacheSubnetGroupsInput struct { 10908 _ struct{} `type:"structure"` 10909 10910 // The name of the cache subnet group to return details for. 10911 CacheSubnetGroupName *string `type:"string"` 10912 10913 // An optional marker returned from a prior request. Use this marker for pagination 10914 // of results from this operation. If this parameter is specified, the response 10915 // includes only records beyond the marker, up to the value specified by MaxRecords. 10916 Marker *string `type:"string"` 10917 10918 // The maximum number of records to include in the response. If more records 10919 // exist than the specified MaxRecords value, a marker is included in the response 10920 // so that the remaining results can be retrieved. 10921 // 10922 // Default: 100 10923 // 10924 // Constraints: minimum 20; maximum 100. 10925 MaxRecords *int64 `type:"integer"` 10926} 10927 10928// String returns the string representation 10929func (s DescribeCacheSubnetGroupsInput) String() string { 10930 return awsutil.Prettify(s) 10931} 10932 10933// GoString returns the string representation 10934func (s DescribeCacheSubnetGroupsInput) GoString() string { 10935 return s.String() 10936} 10937 10938// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 10939func (s *DescribeCacheSubnetGroupsInput) SetCacheSubnetGroupName(v string) *DescribeCacheSubnetGroupsInput { 10940 s.CacheSubnetGroupName = &v 10941 return s 10942} 10943 10944// SetMarker sets the Marker field's value. 10945func (s *DescribeCacheSubnetGroupsInput) SetMarker(v string) *DescribeCacheSubnetGroupsInput { 10946 s.Marker = &v 10947 return s 10948} 10949 10950// SetMaxRecords sets the MaxRecords field's value. 10951func (s *DescribeCacheSubnetGroupsInput) SetMaxRecords(v int64) *DescribeCacheSubnetGroupsInput { 10952 s.MaxRecords = &v 10953 return s 10954} 10955 10956// Represents the output of a DescribeCacheSubnetGroups operation. 10957type DescribeCacheSubnetGroupsOutput struct { 10958 _ struct{} `type:"structure"` 10959 10960 // A list of cache subnet groups. Each element in the list contains detailed 10961 // information about one group. 10962 CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"` 10963 10964 // Provides an identifier to allow retrieval of paginated results. 10965 Marker *string `type:"string"` 10966} 10967 10968// String returns the string representation 10969func (s DescribeCacheSubnetGroupsOutput) String() string { 10970 return awsutil.Prettify(s) 10971} 10972 10973// GoString returns the string representation 10974func (s DescribeCacheSubnetGroupsOutput) GoString() string { 10975 return s.String() 10976} 10977 10978// SetCacheSubnetGroups sets the CacheSubnetGroups field's value. 10979func (s *DescribeCacheSubnetGroupsOutput) SetCacheSubnetGroups(v []*CacheSubnetGroup) *DescribeCacheSubnetGroupsOutput { 10980 s.CacheSubnetGroups = v 10981 return s 10982} 10983 10984// SetMarker sets the Marker field's value. 10985func (s *DescribeCacheSubnetGroupsOutput) SetMarker(v string) *DescribeCacheSubnetGroupsOutput { 10986 s.Marker = &v 10987 return s 10988} 10989 10990// Represents the input of a DescribeEngineDefaultParameters operation. 10991type DescribeEngineDefaultParametersInput struct { 10992 _ struct{} `type:"structure"` 10993 10994 // The name of the cache parameter group family. 10995 // 10996 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 10997 // | redis4.0 | redis5.0 | 10998 // 10999 // CacheParameterGroupFamily is a required field 11000 CacheParameterGroupFamily *string `type:"string" required:"true"` 11001 11002 // An optional marker returned from a prior request. Use this marker for pagination 11003 // of results from this operation. If this parameter is specified, the response 11004 // includes only records beyond the marker, up to the value specified by MaxRecords. 11005 Marker *string `type:"string"` 11006 11007 // The maximum number of records to include in the response. If more records 11008 // exist than the specified MaxRecords value, a marker is included in the response 11009 // so that the remaining results can be retrieved. 11010 // 11011 // Default: 100 11012 // 11013 // Constraints: minimum 20; maximum 100. 11014 MaxRecords *int64 `type:"integer"` 11015} 11016 11017// String returns the string representation 11018func (s DescribeEngineDefaultParametersInput) String() string { 11019 return awsutil.Prettify(s) 11020} 11021 11022// GoString returns the string representation 11023func (s DescribeEngineDefaultParametersInput) GoString() string { 11024 return s.String() 11025} 11026 11027// Validate inspects the fields of the type to determine if they are valid. 11028func (s *DescribeEngineDefaultParametersInput) Validate() error { 11029 invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} 11030 if s.CacheParameterGroupFamily == nil { 11031 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 11032 } 11033 11034 if invalidParams.Len() > 0 { 11035 return invalidParams 11036 } 11037 return nil 11038} 11039 11040// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 11041func (s *DescribeEngineDefaultParametersInput) SetCacheParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput { 11042 s.CacheParameterGroupFamily = &v 11043 return s 11044} 11045 11046// SetMarker sets the Marker field's value. 11047func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput { 11048 s.Marker = &v 11049 return s 11050} 11051 11052// SetMaxRecords sets the MaxRecords field's value. 11053func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput { 11054 s.MaxRecords = &v 11055 return s 11056} 11057 11058type DescribeEngineDefaultParametersOutput struct { 11059 _ struct{} `type:"structure"` 11060 11061 // Represents the output of a DescribeEngineDefaultParameters operation. 11062 EngineDefaults *EngineDefaults `type:"structure"` 11063} 11064 11065// String returns the string representation 11066func (s DescribeEngineDefaultParametersOutput) String() string { 11067 return awsutil.Prettify(s) 11068} 11069 11070// GoString returns the string representation 11071func (s DescribeEngineDefaultParametersOutput) GoString() string { 11072 return s.String() 11073} 11074 11075// SetEngineDefaults sets the EngineDefaults field's value. 11076func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput { 11077 s.EngineDefaults = v 11078 return s 11079} 11080 11081// Represents the input of a DescribeEvents operation. 11082type DescribeEventsInput struct { 11083 _ struct{} `type:"structure"` 11084 11085 // The number of minutes worth of events to retrieve. 11086 Duration *int64 `type:"integer"` 11087 11088 // The end of the time interval for which to retrieve events, specified in ISO 11089 // 8601 format. 11090 // 11091 // Example: 2017-03-30T07:03:49.555Z 11092 EndTime *time.Time `type:"timestamp"` 11093 11094 // An optional marker returned from a prior request. Use this marker for pagination 11095 // of results from this operation. If this parameter is specified, the response 11096 // includes only records beyond the marker, up to the value specified by MaxRecords. 11097 Marker *string `type:"string"` 11098 11099 // The maximum number of records to include in the response. If more records 11100 // exist than the specified MaxRecords value, a marker is included in the response 11101 // so that the remaining results can be retrieved. 11102 // 11103 // Default: 100 11104 // 11105 // Constraints: minimum 20; maximum 100. 11106 MaxRecords *int64 `type:"integer"` 11107 11108 // The identifier of the event source for which events are returned. If not 11109 // specified, all sources are included in the response. 11110 SourceIdentifier *string `type:"string"` 11111 11112 // The event source to retrieve events for. If no value is specified, all events 11113 // are returned. 11114 SourceType *string `type:"string" enum:"SourceType"` 11115 11116 // The beginning of the time interval to retrieve events for, specified in ISO 11117 // 8601 format. 11118 // 11119 // Example: 2017-03-30T07:03:49.555Z 11120 StartTime *time.Time `type:"timestamp"` 11121} 11122 11123// String returns the string representation 11124func (s DescribeEventsInput) String() string { 11125 return awsutil.Prettify(s) 11126} 11127 11128// GoString returns the string representation 11129func (s DescribeEventsInput) GoString() string { 11130 return s.String() 11131} 11132 11133// SetDuration sets the Duration field's value. 11134func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 11135 s.Duration = &v 11136 return s 11137} 11138 11139// SetEndTime sets the EndTime field's value. 11140func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 11141 s.EndTime = &v 11142 return s 11143} 11144 11145// SetMarker sets the Marker field's value. 11146func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 11147 s.Marker = &v 11148 return s 11149} 11150 11151// SetMaxRecords sets the MaxRecords field's value. 11152func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 11153 s.MaxRecords = &v 11154 return s 11155} 11156 11157// SetSourceIdentifier sets the SourceIdentifier field's value. 11158func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 11159 s.SourceIdentifier = &v 11160 return s 11161} 11162 11163// SetSourceType sets the SourceType field's value. 11164func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 11165 s.SourceType = &v 11166 return s 11167} 11168 11169// SetStartTime sets the StartTime field's value. 11170func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 11171 s.StartTime = &v 11172 return s 11173} 11174 11175// Represents the output of a DescribeEvents operation. 11176type DescribeEventsOutput struct { 11177 _ struct{} `type:"structure"` 11178 11179 // A list of events. Each element in the list contains detailed information 11180 // about one event. 11181 Events []*Event `locationNameList:"Event" type:"list"` 11182 11183 // Provides an identifier to allow retrieval of paginated results. 11184 Marker *string `type:"string"` 11185} 11186 11187// String returns the string representation 11188func (s DescribeEventsOutput) String() string { 11189 return awsutil.Prettify(s) 11190} 11191 11192// GoString returns the string representation 11193func (s DescribeEventsOutput) GoString() string { 11194 return s.String() 11195} 11196 11197// SetEvents sets the Events field's value. 11198func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 11199 s.Events = v 11200 return s 11201} 11202 11203// SetMarker sets the Marker field's value. 11204func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 11205 s.Marker = &v 11206 return s 11207} 11208 11209type DescribeGlobalReplicationGroupsInput struct { 11210 _ struct{} `type:"structure"` 11211 11212 // The name of the Global Datastore 11213 GlobalReplicationGroupId *string `type:"string"` 11214 11215 // An optional marker returned from a prior request. Use this marker for pagination 11216 // of results from this operation. If this parameter is specified, the response 11217 // includes only records beyond the marker, up to the value specified by MaxRecords. 11218 Marker *string `type:"string"` 11219 11220 // The maximum number of records to include in the response. If more records 11221 // exist than the specified MaxRecords value, a marker is included in the response 11222 // so that the remaining results can be retrieved. 11223 MaxRecords *int64 `type:"integer"` 11224 11225 // Returns the list of members that comprise the Global Datastore. 11226 ShowMemberInfo *bool `type:"boolean"` 11227} 11228 11229// String returns the string representation 11230func (s DescribeGlobalReplicationGroupsInput) String() string { 11231 return awsutil.Prettify(s) 11232} 11233 11234// GoString returns the string representation 11235func (s DescribeGlobalReplicationGroupsInput) GoString() string { 11236 return s.String() 11237} 11238 11239// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 11240func (s *DescribeGlobalReplicationGroupsInput) SetGlobalReplicationGroupId(v string) *DescribeGlobalReplicationGroupsInput { 11241 s.GlobalReplicationGroupId = &v 11242 return s 11243} 11244 11245// SetMarker sets the Marker field's value. 11246func (s *DescribeGlobalReplicationGroupsInput) SetMarker(v string) *DescribeGlobalReplicationGroupsInput { 11247 s.Marker = &v 11248 return s 11249} 11250 11251// SetMaxRecords sets the MaxRecords field's value. 11252func (s *DescribeGlobalReplicationGroupsInput) SetMaxRecords(v int64) *DescribeGlobalReplicationGroupsInput { 11253 s.MaxRecords = &v 11254 return s 11255} 11256 11257// SetShowMemberInfo sets the ShowMemberInfo field's value. 11258func (s *DescribeGlobalReplicationGroupsInput) SetShowMemberInfo(v bool) *DescribeGlobalReplicationGroupsInput { 11259 s.ShowMemberInfo = &v 11260 return s 11261} 11262 11263type DescribeGlobalReplicationGroupsOutput struct { 11264 _ struct{} `type:"structure"` 11265 11266 // Indicates the slot configuration and global identifier for each slice group. 11267 GlobalReplicationGroups []*GlobalReplicationGroup `locationNameList:"GlobalReplicationGroup" type:"list"` 11268 11269 // An optional marker returned from a prior request. Use this marker for pagination 11270 // of results from this operation. If this parameter is specified, the response 11271 // includes only records beyond the marker, up to the value specified by MaxRecords. 11272 // > 11273 Marker *string `type:"string"` 11274} 11275 11276// String returns the string representation 11277func (s DescribeGlobalReplicationGroupsOutput) String() string { 11278 return awsutil.Prettify(s) 11279} 11280 11281// GoString returns the string representation 11282func (s DescribeGlobalReplicationGroupsOutput) GoString() string { 11283 return s.String() 11284} 11285 11286// SetGlobalReplicationGroups sets the GlobalReplicationGroups field's value. 11287func (s *DescribeGlobalReplicationGroupsOutput) SetGlobalReplicationGroups(v []*GlobalReplicationGroup) *DescribeGlobalReplicationGroupsOutput { 11288 s.GlobalReplicationGroups = v 11289 return s 11290} 11291 11292// SetMarker sets the Marker field's value. 11293func (s *DescribeGlobalReplicationGroupsOutput) SetMarker(v string) *DescribeGlobalReplicationGroupsOutput { 11294 s.Marker = &v 11295 return s 11296} 11297 11298// Represents the input of a DescribeReplicationGroups operation. 11299type DescribeReplicationGroupsInput struct { 11300 _ struct{} `type:"structure"` 11301 11302 // An optional marker returned from a prior request. Use this marker for pagination 11303 // of results from this operation. If this parameter is specified, the response 11304 // includes only records beyond the marker, up to the value specified by MaxRecords. 11305 Marker *string `type:"string"` 11306 11307 // The maximum number of records to include in the response. If more records 11308 // exist than the specified MaxRecords value, a marker is included in the response 11309 // so that the remaining results can be retrieved. 11310 // 11311 // Default: 100 11312 // 11313 // Constraints: minimum 20; maximum 100. 11314 MaxRecords *int64 `type:"integer"` 11315 11316 // The identifier for the replication group to be described. This parameter 11317 // is not case sensitive. 11318 // 11319 // If you do not specify this parameter, information about all replication groups 11320 // is returned. 11321 ReplicationGroupId *string `type:"string"` 11322} 11323 11324// String returns the string representation 11325func (s DescribeReplicationGroupsInput) String() string { 11326 return awsutil.Prettify(s) 11327} 11328 11329// GoString returns the string representation 11330func (s DescribeReplicationGroupsInput) GoString() string { 11331 return s.String() 11332} 11333 11334// SetMarker sets the Marker field's value. 11335func (s *DescribeReplicationGroupsInput) SetMarker(v string) *DescribeReplicationGroupsInput { 11336 s.Marker = &v 11337 return s 11338} 11339 11340// SetMaxRecords sets the MaxRecords field's value. 11341func (s *DescribeReplicationGroupsInput) SetMaxRecords(v int64) *DescribeReplicationGroupsInput { 11342 s.MaxRecords = &v 11343 return s 11344} 11345 11346// SetReplicationGroupId sets the ReplicationGroupId field's value. 11347func (s *DescribeReplicationGroupsInput) SetReplicationGroupId(v string) *DescribeReplicationGroupsInput { 11348 s.ReplicationGroupId = &v 11349 return s 11350} 11351 11352// Represents the output of a DescribeReplicationGroups operation. 11353type DescribeReplicationGroupsOutput struct { 11354 _ struct{} `type:"structure"` 11355 11356 // Provides an identifier to allow retrieval of paginated results. 11357 Marker *string `type:"string"` 11358 11359 // A list of replication groups. Each item in the list contains detailed information 11360 // about one replication group. 11361 ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"` 11362} 11363 11364// String returns the string representation 11365func (s DescribeReplicationGroupsOutput) String() string { 11366 return awsutil.Prettify(s) 11367} 11368 11369// GoString returns the string representation 11370func (s DescribeReplicationGroupsOutput) GoString() string { 11371 return s.String() 11372} 11373 11374// SetMarker sets the Marker field's value. 11375func (s *DescribeReplicationGroupsOutput) SetMarker(v string) *DescribeReplicationGroupsOutput { 11376 s.Marker = &v 11377 return s 11378} 11379 11380// SetReplicationGroups sets the ReplicationGroups field's value. 11381func (s *DescribeReplicationGroupsOutput) SetReplicationGroups(v []*ReplicationGroup) *DescribeReplicationGroupsOutput { 11382 s.ReplicationGroups = v 11383 return s 11384} 11385 11386// Represents the input of a DescribeReservedCacheNodes operation. 11387type DescribeReservedCacheNodesInput struct { 11388 _ struct{} `type:"structure"` 11389 11390 // The cache node type filter value. Use this parameter to show only those reservations 11391 // matching the specified cache node type. 11392 // 11393 // The following node types are supported by ElastiCache. Generally speaking, 11394 // the current generation types provide more memory and computational power 11395 // at lower cost when compared to their equivalent previous generation counterparts. 11396 // 11397 // * General purpose: Current generation: M5 node types: cache.m5.large, 11398 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 11399 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 11400 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 11401 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 11402 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 11403 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 11404 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 11405 // 11406 // * Compute optimized: Previous generation: (not recommended) C1 node types: 11407 // cache.c1.xlarge 11408 // 11409 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 11410 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 11411 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 11412 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 11413 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 11414 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 11415 // cache.r3.8xlarge 11416 // 11417 // Additional node type info 11418 // 11419 // * All current generation instance types are created in Amazon VPC by default. 11420 // 11421 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 11422 // 11423 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 11424 // 11425 // * Redis configuration variables appendonly and appendfsync are not supported 11426 // on Redis version 2.8.22 and later. 11427 CacheNodeType *string `type:"string"` 11428 11429 // The duration filter value, specified in years or seconds. Use this parameter 11430 // to show only reservations for this duration. 11431 // 11432 // Valid Values: 1 | 3 | 31536000 | 94608000 11433 Duration *string `type:"string"` 11434 11435 // An optional marker returned from a prior request. Use this marker for pagination 11436 // of results from this operation. If this parameter is specified, the response 11437 // includes only records beyond the marker, up to the value specified by MaxRecords. 11438 Marker *string `type:"string"` 11439 11440 // The maximum number of records to include in the response. If more records 11441 // exist than the specified MaxRecords value, a marker is included in the response 11442 // so that the remaining results can be retrieved. 11443 // 11444 // Default: 100 11445 // 11446 // Constraints: minimum 20; maximum 100. 11447 MaxRecords *int64 `type:"integer"` 11448 11449 // The offering type filter value. Use this parameter to show only the available 11450 // offerings matching the specified offering type. 11451 // 11452 // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 11453 OfferingType *string `type:"string"` 11454 11455 // The product description filter value. Use this parameter to show only those 11456 // reservations matching the specified product description. 11457 ProductDescription *string `type:"string"` 11458 11459 // The reserved cache node identifier filter value. Use this parameter to show 11460 // only the reservation that matches the specified reservation ID. 11461 ReservedCacheNodeId *string `type:"string"` 11462 11463 // The offering identifier filter value. Use this parameter to show only purchased 11464 // reservations matching the specified offering identifier. 11465 ReservedCacheNodesOfferingId *string `type:"string"` 11466} 11467 11468// String returns the string representation 11469func (s DescribeReservedCacheNodesInput) String() string { 11470 return awsutil.Prettify(s) 11471} 11472 11473// GoString returns the string representation 11474func (s DescribeReservedCacheNodesInput) GoString() string { 11475 return s.String() 11476} 11477 11478// SetCacheNodeType sets the CacheNodeType field's value. 11479func (s *DescribeReservedCacheNodesInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesInput { 11480 s.CacheNodeType = &v 11481 return s 11482} 11483 11484// SetDuration sets the Duration field's value. 11485func (s *DescribeReservedCacheNodesInput) SetDuration(v string) *DescribeReservedCacheNodesInput { 11486 s.Duration = &v 11487 return s 11488} 11489 11490// SetMarker sets the Marker field's value. 11491func (s *DescribeReservedCacheNodesInput) SetMarker(v string) *DescribeReservedCacheNodesInput { 11492 s.Marker = &v 11493 return s 11494} 11495 11496// SetMaxRecords sets the MaxRecords field's value. 11497func (s *DescribeReservedCacheNodesInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesInput { 11498 s.MaxRecords = &v 11499 return s 11500} 11501 11502// SetOfferingType sets the OfferingType field's value. 11503func (s *DescribeReservedCacheNodesInput) SetOfferingType(v string) *DescribeReservedCacheNodesInput { 11504 s.OfferingType = &v 11505 return s 11506} 11507 11508// SetProductDescription sets the ProductDescription field's value. 11509func (s *DescribeReservedCacheNodesInput) SetProductDescription(v string) *DescribeReservedCacheNodesInput { 11510 s.ProductDescription = &v 11511 return s 11512} 11513 11514// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 11515func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodeId(v string) *DescribeReservedCacheNodesInput { 11516 s.ReservedCacheNodeId = &v 11517 return s 11518} 11519 11520// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 11521func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesInput { 11522 s.ReservedCacheNodesOfferingId = &v 11523 return s 11524} 11525 11526// Represents the input of a DescribeReservedCacheNodesOfferings operation. 11527type DescribeReservedCacheNodesOfferingsInput struct { 11528 _ struct{} `type:"structure"` 11529 11530 // The cache node type filter value. Use this parameter to show only the available 11531 // offerings matching the specified cache node type. 11532 // 11533 // The following node types are supported by ElastiCache. Generally speaking, 11534 // the current generation types provide more memory and computational power 11535 // at lower cost when compared to their equivalent previous generation counterparts. 11536 // 11537 // * General purpose: Current generation: M5 node types: cache.m5.large, 11538 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 11539 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 11540 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 11541 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 11542 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 11543 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 11544 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 11545 // 11546 // * Compute optimized: Previous generation: (not recommended) C1 node types: 11547 // cache.c1.xlarge 11548 // 11549 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 11550 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 11551 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 11552 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 11553 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 11554 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 11555 // cache.r3.8xlarge 11556 // 11557 // Additional node type info 11558 // 11559 // * All current generation instance types are created in Amazon VPC by default. 11560 // 11561 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 11562 // 11563 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 11564 // 11565 // * Redis configuration variables appendonly and appendfsync are not supported 11566 // on Redis version 2.8.22 and later. 11567 CacheNodeType *string `type:"string"` 11568 11569 // Duration filter value, specified in years or seconds. Use this parameter 11570 // to show only reservations for a given duration. 11571 // 11572 // Valid Values: 1 | 3 | 31536000 | 94608000 11573 Duration *string `type:"string"` 11574 11575 // An optional marker returned from a prior request. Use this marker for pagination 11576 // of results from this operation. If this parameter is specified, the response 11577 // includes only records beyond the marker, up to the value specified by MaxRecords. 11578 Marker *string `type:"string"` 11579 11580 // The maximum number of records to include in the response. If more records 11581 // exist than the specified MaxRecords value, a marker is included in the response 11582 // so that the remaining results can be retrieved. 11583 // 11584 // Default: 100 11585 // 11586 // Constraints: minimum 20; maximum 100. 11587 MaxRecords *int64 `type:"integer"` 11588 11589 // The offering type filter value. Use this parameter to show only the available 11590 // offerings matching the specified offering type. 11591 // 11592 // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 11593 OfferingType *string `type:"string"` 11594 11595 // The product description filter value. Use this parameter to show only the 11596 // available offerings matching the specified product description. 11597 ProductDescription *string `type:"string"` 11598 11599 // The offering identifier filter value. Use this parameter to show only the 11600 // available offering that matches the specified reservation identifier. 11601 // 11602 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 11603 ReservedCacheNodesOfferingId *string `type:"string"` 11604} 11605 11606// String returns the string representation 11607func (s DescribeReservedCacheNodesOfferingsInput) String() string { 11608 return awsutil.Prettify(s) 11609} 11610 11611// GoString returns the string representation 11612func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { 11613 return s.String() 11614} 11615 11616// SetCacheNodeType sets the CacheNodeType field's value. 11617func (s *DescribeReservedCacheNodesOfferingsInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesOfferingsInput { 11618 s.CacheNodeType = &v 11619 return s 11620} 11621 11622// SetDuration sets the Duration field's value. 11623func (s *DescribeReservedCacheNodesOfferingsInput) SetDuration(v string) *DescribeReservedCacheNodesOfferingsInput { 11624 s.Duration = &v 11625 return s 11626} 11627 11628// SetMarker sets the Marker field's value. 11629func (s *DescribeReservedCacheNodesOfferingsInput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsInput { 11630 s.Marker = &v 11631 return s 11632} 11633 11634// SetMaxRecords sets the MaxRecords field's value. 11635func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesOfferingsInput { 11636 s.MaxRecords = &v 11637 return s 11638} 11639 11640// SetOfferingType sets the OfferingType field's value. 11641func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { 11642 s.OfferingType = &v 11643 return s 11644} 11645 11646// SetProductDescription sets the ProductDescription field's value. 11647func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { 11648 s.ProductDescription = &v 11649 return s 11650} 11651 11652// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 11653func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { 11654 s.ReservedCacheNodesOfferingId = &v 11655 return s 11656} 11657 11658// Represents the output of a DescribeReservedCacheNodesOfferings operation. 11659type DescribeReservedCacheNodesOfferingsOutput struct { 11660 _ struct{} `type:"structure"` 11661 11662 // Provides an identifier to allow retrieval of paginated results. 11663 Marker *string `type:"string"` 11664 11665 // A list of reserved cache node offerings. Each element in the list contains 11666 // detailed information about one offering. 11667 ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` 11668} 11669 11670// String returns the string representation 11671func (s DescribeReservedCacheNodesOfferingsOutput) String() string { 11672 return awsutil.Prettify(s) 11673} 11674 11675// GoString returns the string representation 11676func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { 11677 return s.String() 11678} 11679 11680// SetMarker sets the Marker field's value. 11681func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { 11682 s.Marker = &v 11683 return s 11684} 11685 11686// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. 11687func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { 11688 s.ReservedCacheNodesOfferings = v 11689 return s 11690} 11691 11692// Represents the output of a DescribeReservedCacheNodes operation. 11693type DescribeReservedCacheNodesOutput struct { 11694 _ struct{} `type:"structure"` 11695 11696 // Provides an identifier to allow retrieval of paginated results. 11697 Marker *string `type:"string"` 11698 11699 // A list of reserved cache nodes. Each element in the list contains detailed 11700 // information about one node. 11701 ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` 11702} 11703 11704// String returns the string representation 11705func (s DescribeReservedCacheNodesOutput) String() string { 11706 return awsutil.Prettify(s) 11707} 11708 11709// GoString returns the string representation 11710func (s DescribeReservedCacheNodesOutput) GoString() string { 11711 return s.String() 11712} 11713 11714// SetMarker sets the Marker field's value. 11715func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { 11716 s.Marker = &v 11717 return s 11718} 11719 11720// SetReservedCacheNodes sets the ReservedCacheNodes field's value. 11721func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { 11722 s.ReservedCacheNodes = v 11723 return s 11724} 11725 11726type DescribeServiceUpdatesInput struct { 11727 _ struct{} `type:"structure"` 11728 11729 // An optional marker returned from a prior request. Use this marker for pagination 11730 // of results from this operation. If this parameter is specified, the response 11731 // includes only records beyond the marker, up to the value specified by MaxRecords. 11732 Marker *string `type:"string"` 11733 11734 // The maximum number of records to include in the response 11735 MaxRecords *int64 `type:"integer"` 11736 11737 // The unique ID of the service update 11738 ServiceUpdateName *string `type:"string"` 11739 11740 // The status of the service update 11741 ServiceUpdateStatus []*string `type:"list"` 11742} 11743 11744// String returns the string representation 11745func (s DescribeServiceUpdatesInput) String() string { 11746 return awsutil.Prettify(s) 11747} 11748 11749// GoString returns the string representation 11750func (s DescribeServiceUpdatesInput) GoString() string { 11751 return s.String() 11752} 11753 11754// SetMarker sets the Marker field's value. 11755func (s *DescribeServiceUpdatesInput) SetMarker(v string) *DescribeServiceUpdatesInput { 11756 s.Marker = &v 11757 return s 11758} 11759 11760// SetMaxRecords sets the MaxRecords field's value. 11761func (s *DescribeServiceUpdatesInput) SetMaxRecords(v int64) *DescribeServiceUpdatesInput { 11762 s.MaxRecords = &v 11763 return s 11764} 11765 11766// SetServiceUpdateName sets the ServiceUpdateName field's value. 11767func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { 11768 s.ServiceUpdateName = &v 11769 return s 11770} 11771 11772// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 11773func (s *DescribeServiceUpdatesInput) SetServiceUpdateStatus(v []*string) *DescribeServiceUpdatesInput { 11774 s.ServiceUpdateStatus = v 11775 return s 11776} 11777 11778type DescribeServiceUpdatesOutput struct { 11779 _ struct{} `type:"structure"` 11780 11781 // An optional marker returned from a prior request. Use this marker for pagination 11782 // of results from this operation. If this parameter is specified, the response 11783 // includes only records beyond the marker, up to the value specified by MaxRecords. 11784 Marker *string `type:"string"` 11785 11786 // A list of service updates 11787 ServiceUpdates []*ServiceUpdate `locationNameList:"ServiceUpdate" type:"list"` 11788} 11789 11790// String returns the string representation 11791func (s DescribeServiceUpdatesOutput) String() string { 11792 return awsutil.Prettify(s) 11793} 11794 11795// GoString returns the string representation 11796func (s DescribeServiceUpdatesOutput) GoString() string { 11797 return s.String() 11798} 11799 11800// SetMarker sets the Marker field's value. 11801func (s *DescribeServiceUpdatesOutput) SetMarker(v string) *DescribeServiceUpdatesOutput { 11802 s.Marker = &v 11803 return s 11804} 11805 11806// SetServiceUpdates sets the ServiceUpdates field's value. 11807func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { 11808 s.ServiceUpdates = v 11809 return s 11810} 11811 11812// Represents the input of a DescribeSnapshotsMessage operation. 11813type DescribeSnapshotsInput struct { 11814 _ struct{} `type:"structure"` 11815 11816 // A user-supplied cluster identifier. If this parameter is specified, only 11817 // snapshots associated with that specific cluster are described. 11818 CacheClusterId *string `type:"string"` 11819 11820 // An optional marker returned from a prior request. Use this marker for pagination 11821 // of results from this operation. If this parameter is specified, the response 11822 // includes only records beyond the marker, up to the value specified by MaxRecords. 11823 Marker *string `type:"string"` 11824 11825 // The maximum number of records to include in the response. If more records 11826 // exist than the specified MaxRecords value, a marker is included in the response 11827 // so that the remaining results can be retrieved. 11828 // 11829 // Default: 50 11830 // 11831 // Constraints: minimum 20; maximum 50. 11832 MaxRecords *int64 `type:"integer"` 11833 11834 // A user-supplied replication group identifier. If this parameter is specified, 11835 // only snapshots associated with that specific replication group are described. 11836 ReplicationGroupId *string `type:"string"` 11837 11838 // A Boolean value which if true, the node group (shard) configuration is included 11839 // in the snapshot description. 11840 ShowNodeGroupConfig *bool `type:"boolean"` 11841 11842 // A user-supplied name of the snapshot. If this parameter is specified, only 11843 // this snapshot are described. 11844 SnapshotName *string `type:"string"` 11845 11846 // If set to system, the output shows snapshots that were automatically created 11847 // by ElastiCache. If set to user the output shows snapshots that were manually 11848 // created. If omitted, the output shows both automatically and manually created 11849 // snapshots. 11850 SnapshotSource *string `type:"string"` 11851} 11852 11853// String returns the string representation 11854func (s DescribeSnapshotsInput) String() string { 11855 return awsutil.Prettify(s) 11856} 11857 11858// GoString returns the string representation 11859func (s DescribeSnapshotsInput) GoString() string { 11860 return s.String() 11861} 11862 11863// SetCacheClusterId sets the CacheClusterId field's value. 11864func (s *DescribeSnapshotsInput) SetCacheClusterId(v string) *DescribeSnapshotsInput { 11865 s.CacheClusterId = &v 11866 return s 11867} 11868 11869// SetMarker sets the Marker field's value. 11870func (s *DescribeSnapshotsInput) SetMarker(v string) *DescribeSnapshotsInput { 11871 s.Marker = &v 11872 return s 11873} 11874 11875// SetMaxRecords sets the MaxRecords field's value. 11876func (s *DescribeSnapshotsInput) SetMaxRecords(v int64) *DescribeSnapshotsInput { 11877 s.MaxRecords = &v 11878 return s 11879} 11880 11881// SetReplicationGroupId sets the ReplicationGroupId field's value. 11882func (s *DescribeSnapshotsInput) SetReplicationGroupId(v string) *DescribeSnapshotsInput { 11883 s.ReplicationGroupId = &v 11884 return s 11885} 11886 11887// SetShowNodeGroupConfig sets the ShowNodeGroupConfig field's value. 11888func (s *DescribeSnapshotsInput) SetShowNodeGroupConfig(v bool) *DescribeSnapshotsInput { 11889 s.ShowNodeGroupConfig = &v 11890 return s 11891} 11892 11893// SetSnapshotName sets the SnapshotName field's value. 11894func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { 11895 s.SnapshotName = &v 11896 return s 11897} 11898 11899// SetSnapshotSource sets the SnapshotSource field's value. 11900func (s *DescribeSnapshotsInput) SetSnapshotSource(v string) *DescribeSnapshotsInput { 11901 s.SnapshotSource = &v 11902 return s 11903} 11904 11905// Represents the output of a DescribeSnapshots operation. 11906type DescribeSnapshotsOutput struct { 11907 _ struct{} `type:"structure"` 11908 11909 // An optional marker returned from a prior request. Use this marker for pagination 11910 // of results from this operation. If this parameter is specified, the response 11911 // includes only records beyond the marker, up to the value specified by MaxRecords. 11912 Marker *string `type:"string"` 11913 11914 // A list of snapshots. Each item in the list contains detailed information 11915 // about one snapshot. 11916 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 11917} 11918 11919// String returns the string representation 11920func (s DescribeSnapshotsOutput) String() string { 11921 return awsutil.Prettify(s) 11922} 11923 11924// GoString returns the string representation 11925func (s DescribeSnapshotsOutput) GoString() string { 11926 return s.String() 11927} 11928 11929// SetMarker sets the Marker field's value. 11930func (s *DescribeSnapshotsOutput) SetMarker(v string) *DescribeSnapshotsOutput { 11931 s.Marker = &v 11932 return s 11933} 11934 11935// SetSnapshots sets the Snapshots field's value. 11936func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { 11937 s.Snapshots = v 11938 return s 11939} 11940 11941type DescribeUpdateActionsInput struct { 11942 _ struct{} `type:"structure"` 11943 11944 // The cache cluster IDs 11945 CacheClusterIds []*string `type:"list"` 11946 11947 // The Elasticache engine to which the update applies. Either Redis or Memcached 11948 Engine *string `type:"string"` 11949 11950 // An optional marker returned from a prior request. Use this marker for pagination 11951 // of results from this operation. If this parameter is specified, the response 11952 // includes only records beyond the marker, up to the value specified by MaxRecords. 11953 Marker *string `type:"string"` 11954 11955 // The maximum number of records to include in the response 11956 MaxRecords *int64 `type:"integer"` 11957 11958 // The replication group IDs 11959 ReplicationGroupIds []*string `type:"list"` 11960 11961 // The unique ID of the service update 11962 ServiceUpdateName *string `type:"string"` 11963 11964 // The status of the service update 11965 ServiceUpdateStatus []*string `type:"list"` 11966 11967 // The range of time specified to search for service updates that are in available 11968 // status 11969 ServiceUpdateTimeRange *TimeRangeFilter `type:"structure"` 11970 11971 // Dictates whether to include node level update status in the response 11972 ShowNodeLevelUpdateStatus *bool `type:"boolean"` 11973 11974 // The status of the update action. 11975 UpdateActionStatus []*string `type:"list"` 11976} 11977 11978// String returns the string representation 11979func (s DescribeUpdateActionsInput) String() string { 11980 return awsutil.Prettify(s) 11981} 11982 11983// GoString returns the string representation 11984func (s DescribeUpdateActionsInput) GoString() string { 11985 return s.String() 11986} 11987 11988// SetCacheClusterIds sets the CacheClusterIds field's value. 11989func (s *DescribeUpdateActionsInput) SetCacheClusterIds(v []*string) *DescribeUpdateActionsInput { 11990 s.CacheClusterIds = v 11991 return s 11992} 11993 11994// SetEngine sets the Engine field's value. 11995func (s *DescribeUpdateActionsInput) SetEngine(v string) *DescribeUpdateActionsInput { 11996 s.Engine = &v 11997 return s 11998} 11999 12000// SetMarker sets the Marker field's value. 12001func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { 12002 s.Marker = &v 12003 return s 12004} 12005 12006// SetMaxRecords sets the MaxRecords field's value. 12007func (s *DescribeUpdateActionsInput) SetMaxRecords(v int64) *DescribeUpdateActionsInput { 12008 s.MaxRecords = &v 12009 return s 12010} 12011 12012// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 12013func (s *DescribeUpdateActionsInput) SetReplicationGroupIds(v []*string) *DescribeUpdateActionsInput { 12014 s.ReplicationGroupIds = v 12015 return s 12016} 12017 12018// SetServiceUpdateName sets the ServiceUpdateName field's value. 12019func (s *DescribeUpdateActionsInput) SetServiceUpdateName(v string) *DescribeUpdateActionsInput { 12020 s.ServiceUpdateName = &v 12021 return s 12022} 12023 12024// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 12025func (s *DescribeUpdateActionsInput) SetServiceUpdateStatus(v []*string) *DescribeUpdateActionsInput { 12026 s.ServiceUpdateStatus = v 12027 return s 12028} 12029 12030// SetServiceUpdateTimeRange sets the ServiceUpdateTimeRange field's value. 12031func (s *DescribeUpdateActionsInput) SetServiceUpdateTimeRange(v *TimeRangeFilter) *DescribeUpdateActionsInput { 12032 s.ServiceUpdateTimeRange = v 12033 return s 12034} 12035 12036// SetShowNodeLevelUpdateStatus sets the ShowNodeLevelUpdateStatus field's value. 12037func (s *DescribeUpdateActionsInput) SetShowNodeLevelUpdateStatus(v bool) *DescribeUpdateActionsInput { 12038 s.ShowNodeLevelUpdateStatus = &v 12039 return s 12040} 12041 12042// SetUpdateActionStatus sets the UpdateActionStatus field's value. 12043func (s *DescribeUpdateActionsInput) SetUpdateActionStatus(v []*string) *DescribeUpdateActionsInput { 12044 s.UpdateActionStatus = v 12045 return s 12046} 12047 12048type DescribeUpdateActionsOutput struct { 12049 _ struct{} `type:"structure"` 12050 12051 // An optional marker returned from a prior request. Use this marker for pagination 12052 // of results from this operation. If this parameter is specified, the response 12053 // includes only records beyond the marker, up to the value specified by MaxRecords. 12054 Marker *string `type:"string"` 12055 12056 // Returns a list of update actions 12057 UpdateActions []*UpdateAction `locationNameList:"UpdateAction" type:"list"` 12058} 12059 12060// String returns the string representation 12061func (s DescribeUpdateActionsOutput) String() string { 12062 return awsutil.Prettify(s) 12063} 12064 12065// GoString returns the string representation 12066func (s DescribeUpdateActionsOutput) GoString() string { 12067 return s.String() 12068} 12069 12070// SetMarker sets the Marker field's value. 12071func (s *DescribeUpdateActionsOutput) SetMarker(v string) *DescribeUpdateActionsOutput { 12072 s.Marker = &v 12073 return s 12074} 12075 12076// SetUpdateActions sets the UpdateActions field's value. 12077func (s *DescribeUpdateActionsOutput) SetUpdateActions(v []*UpdateAction) *DescribeUpdateActionsOutput { 12078 s.UpdateActions = v 12079 return s 12080} 12081 12082type DisassociateGlobalReplicationGroupInput struct { 12083 _ struct{} `type:"structure"` 12084 12085 // The name of the Global Datastore 12086 // 12087 // GlobalReplicationGroupId is a required field 12088 GlobalReplicationGroupId *string `type:"string" required:"true"` 12089 12090 // The name of the secondary cluster you wish to remove from the Global Datastore 12091 // 12092 // ReplicationGroupId is a required field 12093 ReplicationGroupId *string `type:"string" required:"true"` 12094 12095 // The AWS region of secondary cluster you wish to remove from the Global Datastore 12096 // 12097 // ReplicationGroupRegion is a required field 12098 ReplicationGroupRegion *string `type:"string" required:"true"` 12099} 12100 12101// String returns the string representation 12102func (s DisassociateGlobalReplicationGroupInput) String() string { 12103 return awsutil.Prettify(s) 12104} 12105 12106// GoString returns the string representation 12107func (s DisassociateGlobalReplicationGroupInput) GoString() string { 12108 return s.String() 12109} 12110 12111// Validate inspects the fields of the type to determine if they are valid. 12112func (s *DisassociateGlobalReplicationGroupInput) Validate() error { 12113 invalidParams := request.ErrInvalidParams{Context: "DisassociateGlobalReplicationGroupInput"} 12114 if s.GlobalReplicationGroupId == nil { 12115 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12116 } 12117 if s.ReplicationGroupId == nil { 12118 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 12119 } 12120 if s.ReplicationGroupRegion == nil { 12121 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 12122 } 12123 12124 if invalidParams.Len() > 0 { 12125 return invalidParams 12126 } 12127 return nil 12128} 12129 12130// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12131func (s *DisassociateGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 12132 s.GlobalReplicationGroupId = &v 12133 return s 12134} 12135 12136// SetReplicationGroupId sets the ReplicationGroupId field's value. 12137func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupId(v string) *DisassociateGlobalReplicationGroupInput { 12138 s.ReplicationGroupId = &v 12139 return s 12140} 12141 12142// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 12143func (s *DisassociateGlobalReplicationGroupInput) SetReplicationGroupRegion(v string) *DisassociateGlobalReplicationGroupInput { 12144 s.ReplicationGroupRegion = &v 12145 return s 12146} 12147 12148type DisassociateGlobalReplicationGroupOutput struct { 12149 _ struct{} `type:"structure"` 12150 12151 // Consists of a primary cluster that accepts writes and an associated secondary 12152 // cluster that resides in a different AWS region. The secondary cluster accepts 12153 // only reads. The primary cluster automatically replicates updates to the secondary 12154 // cluster. 12155 // 12156 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12157 // Datastore, which is what you use to associate a secondary cluster. 12158 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12159} 12160 12161// String returns the string representation 12162func (s DisassociateGlobalReplicationGroupOutput) String() string { 12163 return awsutil.Prettify(s) 12164} 12165 12166// GoString returns the string representation 12167func (s DisassociateGlobalReplicationGroupOutput) GoString() string { 12168 return s.String() 12169} 12170 12171// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12172func (s *DisassociateGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *DisassociateGlobalReplicationGroupOutput { 12173 s.GlobalReplicationGroup = v 12174 return s 12175} 12176 12177// Provides ownership and status information for an Amazon EC2 security group. 12178type EC2SecurityGroup struct { 12179 _ struct{} `type:"structure"` 12180 12181 // The name of the Amazon EC2 security group. 12182 EC2SecurityGroupName *string `type:"string"` 12183 12184 // The AWS account ID of the Amazon EC2 security group owner. 12185 EC2SecurityGroupOwnerId *string `type:"string"` 12186 12187 // The status of the Amazon EC2 security group. 12188 Status *string `type:"string"` 12189} 12190 12191// String returns the string representation 12192func (s EC2SecurityGroup) String() string { 12193 return awsutil.Prettify(s) 12194} 12195 12196// GoString returns the string representation 12197func (s EC2SecurityGroup) GoString() string { 12198 return s.String() 12199} 12200 12201// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 12202func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 12203 s.EC2SecurityGroupName = &v 12204 return s 12205} 12206 12207// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 12208func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 12209 s.EC2SecurityGroupOwnerId = &v 12210 return s 12211} 12212 12213// SetStatus sets the Status field's value. 12214func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 12215 s.Status = &v 12216 return s 12217} 12218 12219// Represents the information required for client programs to connect to a cache 12220// node. 12221type Endpoint struct { 12222 _ struct{} `type:"structure"` 12223 12224 // The DNS hostname of the cache node. 12225 Address *string `type:"string"` 12226 12227 // The port number that the cache engine is listening on. 12228 Port *int64 `type:"integer"` 12229} 12230 12231// String returns the string representation 12232func (s Endpoint) String() string { 12233 return awsutil.Prettify(s) 12234} 12235 12236// GoString returns the string representation 12237func (s Endpoint) GoString() string { 12238 return s.String() 12239} 12240 12241// SetAddress sets the Address field's value. 12242func (s *Endpoint) SetAddress(v string) *Endpoint { 12243 s.Address = &v 12244 return s 12245} 12246 12247// SetPort sets the Port field's value. 12248func (s *Endpoint) SetPort(v int64) *Endpoint { 12249 s.Port = &v 12250 return s 12251} 12252 12253// Represents the output of a DescribeEngineDefaultParameters operation. 12254type EngineDefaults struct { 12255 _ struct{} `type:"structure"` 12256 12257 // A list of parameters specific to a particular cache node type. Each element 12258 // in the list contains detailed information about one parameter. 12259 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 12260 12261 // Specifies the name of the cache parameter group family to which the engine 12262 // default parameters apply. 12263 // 12264 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 12265 // | redis4.0 | redis5.0 | 12266 CacheParameterGroupFamily *string `type:"string"` 12267 12268 // Provides an identifier to allow retrieval of paginated results. 12269 Marker *string `type:"string"` 12270 12271 // Contains a list of engine default parameters. 12272 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 12273} 12274 12275// String returns the string representation 12276func (s EngineDefaults) String() string { 12277 return awsutil.Prettify(s) 12278} 12279 12280// GoString returns the string representation 12281func (s EngineDefaults) GoString() string { 12282 return s.String() 12283} 12284 12285// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 12286func (s *EngineDefaults) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *EngineDefaults { 12287 s.CacheNodeTypeSpecificParameters = v 12288 return s 12289} 12290 12291// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 12292func (s *EngineDefaults) SetCacheParameterGroupFamily(v string) *EngineDefaults { 12293 s.CacheParameterGroupFamily = &v 12294 return s 12295} 12296 12297// SetMarker sets the Marker field's value. 12298func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { 12299 s.Marker = &v 12300 return s 12301} 12302 12303// SetParameters sets the Parameters field's value. 12304func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { 12305 s.Parameters = v 12306 return s 12307} 12308 12309// Represents a single occurrence of something interesting within the system. 12310// Some examples of events are creating a cluster, adding or removing a cache 12311// node, or rebooting a node. 12312type Event struct { 12313 _ struct{} `type:"structure"` 12314 12315 // The date and time when the event occurred. 12316 Date *time.Time `type:"timestamp"` 12317 12318 // The text of the event. 12319 Message *string `type:"string"` 12320 12321 // The identifier for the source of the event. For example, if the event occurred 12322 // at the cluster level, the identifier would be the name of the cluster. 12323 SourceIdentifier *string `type:"string"` 12324 12325 // Specifies the origin of this event - a cluster, a parameter group, a security 12326 // group, etc. 12327 SourceType *string `type:"string" enum:"SourceType"` 12328} 12329 12330// String returns the string representation 12331func (s Event) String() string { 12332 return awsutil.Prettify(s) 12333} 12334 12335// GoString returns the string representation 12336func (s Event) GoString() string { 12337 return s.String() 12338} 12339 12340// SetDate sets the Date field's value. 12341func (s *Event) SetDate(v time.Time) *Event { 12342 s.Date = &v 12343 return s 12344} 12345 12346// SetMessage sets the Message field's value. 12347func (s *Event) SetMessage(v string) *Event { 12348 s.Message = &v 12349 return s 12350} 12351 12352// SetSourceIdentifier sets the SourceIdentifier field's value. 12353func (s *Event) SetSourceIdentifier(v string) *Event { 12354 s.SourceIdentifier = &v 12355 return s 12356} 12357 12358// SetSourceType sets the SourceType field's value. 12359func (s *Event) SetSourceType(v string) *Event { 12360 s.SourceType = &v 12361 return s 12362} 12363 12364type FailoverGlobalReplicationGroupInput struct { 12365 _ struct{} `type:"structure"` 12366 12367 // The name of the Global Datastore 12368 // 12369 // GlobalReplicationGroupId is a required field 12370 GlobalReplicationGroupId *string `type:"string" required:"true"` 12371 12372 // The AWS region of the primary cluster of the Global Datastore 12373 // 12374 // PrimaryRegion is a required field 12375 PrimaryRegion *string `type:"string" required:"true"` 12376 12377 // The name of the primary replication group 12378 // 12379 // PrimaryReplicationGroupId is a required field 12380 PrimaryReplicationGroupId *string `type:"string" required:"true"` 12381} 12382 12383// String returns the string representation 12384func (s FailoverGlobalReplicationGroupInput) String() string { 12385 return awsutil.Prettify(s) 12386} 12387 12388// GoString returns the string representation 12389func (s FailoverGlobalReplicationGroupInput) GoString() string { 12390 return s.String() 12391} 12392 12393// Validate inspects the fields of the type to determine if they are valid. 12394func (s *FailoverGlobalReplicationGroupInput) Validate() error { 12395 invalidParams := request.ErrInvalidParams{Context: "FailoverGlobalReplicationGroupInput"} 12396 if s.GlobalReplicationGroupId == nil { 12397 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12398 } 12399 if s.PrimaryRegion == nil { 12400 invalidParams.Add(request.NewErrParamRequired("PrimaryRegion")) 12401 } 12402 if s.PrimaryReplicationGroupId == nil { 12403 invalidParams.Add(request.NewErrParamRequired("PrimaryReplicationGroupId")) 12404 } 12405 12406 if invalidParams.Len() > 0 { 12407 return invalidParams 12408 } 12409 return nil 12410} 12411 12412// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12413func (s *FailoverGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 12414 s.GlobalReplicationGroupId = &v 12415 return s 12416} 12417 12418// SetPrimaryRegion sets the PrimaryRegion field's value. 12419func (s *FailoverGlobalReplicationGroupInput) SetPrimaryRegion(v string) *FailoverGlobalReplicationGroupInput { 12420 s.PrimaryRegion = &v 12421 return s 12422} 12423 12424// SetPrimaryReplicationGroupId sets the PrimaryReplicationGroupId field's value. 12425func (s *FailoverGlobalReplicationGroupInput) SetPrimaryReplicationGroupId(v string) *FailoverGlobalReplicationGroupInput { 12426 s.PrimaryReplicationGroupId = &v 12427 return s 12428} 12429 12430type FailoverGlobalReplicationGroupOutput struct { 12431 _ struct{} `type:"structure"` 12432 12433 // Consists of a primary cluster that accepts writes and an associated secondary 12434 // cluster that resides in a different AWS region. The secondary cluster accepts 12435 // only reads. The primary cluster automatically replicates updates to the secondary 12436 // cluster. 12437 // 12438 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12439 // Datastore, which is what you use to associate a secondary cluster. 12440 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12441} 12442 12443// String returns the string representation 12444func (s FailoverGlobalReplicationGroupOutput) String() string { 12445 return awsutil.Prettify(s) 12446} 12447 12448// GoString returns the string representation 12449func (s FailoverGlobalReplicationGroupOutput) GoString() string { 12450 return s.String() 12451} 12452 12453// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12454func (s *FailoverGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *FailoverGlobalReplicationGroupOutput { 12455 s.GlobalReplicationGroup = v 12456 return s 12457} 12458 12459// Indicates the slot configuration and global identifier for a slice group. 12460type GlobalNodeGroup struct { 12461 _ struct{} `type:"structure"` 12462 12463 // The name of the global node group 12464 GlobalNodeGroupId *string `type:"string"` 12465 12466 // The keyspace for this node group 12467 Slots *string `type:"string"` 12468} 12469 12470// String returns the string representation 12471func (s GlobalNodeGroup) String() string { 12472 return awsutil.Prettify(s) 12473} 12474 12475// GoString returns the string representation 12476func (s GlobalNodeGroup) GoString() string { 12477 return s.String() 12478} 12479 12480// SetGlobalNodeGroupId sets the GlobalNodeGroupId field's value. 12481func (s *GlobalNodeGroup) SetGlobalNodeGroupId(v string) *GlobalNodeGroup { 12482 s.GlobalNodeGroupId = &v 12483 return s 12484} 12485 12486// SetSlots sets the Slots field's value. 12487func (s *GlobalNodeGroup) SetSlots(v string) *GlobalNodeGroup { 12488 s.Slots = &v 12489 return s 12490} 12491 12492// Consists of a primary cluster that accepts writes and an associated secondary 12493// cluster that resides in a different AWS region. The secondary cluster accepts 12494// only reads. The primary cluster automatically replicates updates to the secondary 12495// cluster. 12496// 12497// * The GlobalReplicationGroupIdSuffix represents the name of the Global 12498// Datastore, which is what you use to associate a secondary cluster. 12499type GlobalReplicationGroup struct { 12500 _ struct{} `type:"structure"` 12501 12502 // The ARN (Amazon Resource Name) of the global replication group. 12503 ARN *string `type:"string"` 12504 12505 // A flag that enables encryption at rest when set to true. 12506 // 12507 // You cannot modify the value of AtRestEncryptionEnabled after the replication 12508 // group is created. To enable encryption at rest on a replication group you 12509 // must set AtRestEncryptionEnabled to true when you create the replication 12510 // group. 12511 // 12512 // Required: Only available when creating a replication group in an Amazon VPC 12513 // using redis version 3.2.6, 4.x or later. 12514 AtRestEncryptionEnabled *bool `type:"boolean"` 12515 12516 // A flag that enables using an AuthToken (password) when issuing Redis commands. 12517 // 12518 // Default: false 12519 AuthTokenEnabled *bool `type:"boolean"` 12520 12521 // The cache node type of the Global Datastore 12522 CacheNodeType *string `type:"string"` 12523 12524 // A flag that indicates whether the Global Datastore is cluster enabled. 12525 ClusterEnabled *bool `type:"boolean"` 12526 12527 // The Elasticache engine. For Redis only. 12528 Engine *string `type:"string"` 12529 12530 // The Elasticache Redis engine version. For preview, it is Redis version 5.0.5 12531 // only. 12532 EngineVersion *string `type:"string"` 12533 12534 // Indicates the slot configuration and global identifier for each slice group. 12535 GlobalNodeGroups []*GlobalNodeGroup `locationNameList:"GlobalNodeGroup" type:"list"` 12536 12537 // The optional description of the Global Datastore 12538 GlobalReplicationGroupDescription *string `type:"string"` 12539 12540 // The name of the Global Datastore 12541 GlobalReplicationGroupId *string `type:"string"` 12542 12543 // The replication groups that comprise the Global Datastore. 12544 Members []*GlobalReplicationGroupMember `locationNameList:"GlobalReplicationGroupMember" type:"list"` 12545 12546 // The status of the Global Datastore 12547 Status *string `type:"string"` 12548 12549 // A flag that enables in-transit encryption when set to true. You cannot modify 12550 // the value of TransitEncryptionEnabled after the cluster is created. To enable 12551 // in-transit encryption on a cluster you must set TransitEncryptionEnabled 12552 // to true when you create a cluster. 12553 TransitEncryptionEnabled *bool `type:"boolean"` 12554} 12555 12556// String returns the string representation 12557func (s GlobalReplicationGroup) String() string { 12558 return awsutil.Prettify(s) 12559} 12560 12561// GoString returns the string representation 12562func (s GlobalReplicationGroup) GoString() string { 12563 return s.String() 12564} 12565 12566// SetARN sets the ARN field's value. 12567func (s *GlobalReplicationGroup) SetARN(v string) *GlobalReplicationGroup { 12568 s.ARN = &v 12569 return s 12570} 12571 12572// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 12573func (s *GlobalReplicationGroup) SetAtRestEncryptionEnabled(v bool) *GlobalReplicationGroup { 12574 s.AtRestEncryptionEnabled = &v 12575 return s 12576} 12577 12578// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 12579func (s *GlobalReplicationGroup) SetAuthTokenEnabled(v bool) *GlobalReplicationGroup { 12580 s.AuthTokenEnabled = &v 12581 return s 12582} 12583 12584// SetCacheNodeType sets the CacheNodeType field's value. 12585func (s *GlobalReplicationGroup) SetCacheNodeType(v string) *GlobalReplicationGroup { 12586 s.CacheNodeType = &v 12587 return s 12588} 12589 12590// SetClusterEnabled sets the ClusterEnabled field's value. 12591func (s *GlobalReplicationGroup) SetClusterEnabled(v bool) *GlobalReplicationGroup { 12592 s.ClusterEnabled = &v 12593 return s 12594} 12595 12596// SetEngine sets the Engine field's value. 12597func (s *GlobalReplicationGroup) SetEngine(v string) *GlobalReplicationGroup { 12598 s.Engine = &v 12599 return s 12600} 12601 12602// SetEngineVersion sets the EngineVersion field's value. 12603func (s *GlobalReplicationGroup) SetEngineVersion(v string) *GlobalReplicationGroup { 12604 s.EngineVersion = &v 12605 return s 12606} 12607 12608// SetGlobalNodeGroups sets the GlobalNodeGroups field's value. 12609func (s *GlobalReplicationGroup) SetGlobalNodeGroups(v []*GlobalNodeGroup) *GlobalReplicationGroup { 12610 s.GlobalNodeGroups = v 12611 return s 12612} 12613 12614// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 12615func (s *GlobalReplicationGroup) SetGlobalReplicationGroupDescription(v string) *GlobalReplicationGroup { 12616 s.GlobalReplicationGroupDescription = &v 12617 return s 12618} 12619 12620// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12621func (s *GlobalReplicationGroup) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroup { 12622 s.GlobalReplicationGroupId = &v 12623 return s 12624} 12625 12626// SetMembers sets the Members field's value. 12627func (s *GlobalReplicationGroup) SetMembers(v []*GlobalReplicationGroupMember) *GlobalReplicationGroup { 12628 s.Members = v 12629 return s 12630} 12631 12632// SetStatus sets the Status field's value. 12633func (s *GlobalReplicationGroup) SetStatus(v string) *GlobalReplicationGroup { 12634 s.Status = &v 12635 return s 12636} 12637 12638// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 12639func (s *GlobalReplicationGroup) SetTransitEncryptionEnabled(v bool) *GlobalReplicationGroup { 12640 s.TransitEncryptionEnabled = &v 12641 return s 12642} 12643 12644// The name of the Global Datastore and role of this replication group in the 12645// Global Datastore. 12646type GlobalReplicationGroupInfo struct { 12647 _ struct{} `type:"structure"` 12648 12649 // The name of the Global Datastore 12650 GlobalReplicationGroupId *string `type:"string"` 12651 12652 // The role of the replication group in a Global Datastore. Can be primary or 12653 // secondary. 12654 GlobalReplicationGroupMemberRole *string `type:"string"` 12655} 12656 12657// String returns the string representation 12658func (s GlobalReplicationGroupInfo) String() string { 12659 return awsutil.Prettify(s) 12660} 12661 12662// GoString returns the string representation 12663func (s GlobalReplicationGroupInfo) GoString() string { 12664 return s.String() 12665} 12666 12667// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12668func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupId(v string) *GlobalReplicationGroupInfo { 12669 s.GlobalReplicationGroupId = &v 12670 return s 12671} 12672 12673// SetGlobalReplicationGroupMemberRole sets the GlobalReplicationGroupMemberRole field's value. 12674func (s *GlobalReplicationGroupInfo) SetGlobalReplicationGroupMemberRole(v string) *GlobalReplicationGroupInfo { 12675 s.GlobalReplicationGroupMemberRole = &v 12676 return s 12677} 12678 12679// A member of a Global Datastore. It contains the Replication Group Id, the 12680// AWS region and the role of the replication group. 12681type GlobalReplicationGroupMember struct { 12682 _ struct{} `type:"structure"` 12683 12684 // Indicates whether automatic failover is enabled for the replication group. 12685 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 12686 12687 // The replication group id of the Global Datastore member. 12688 ReplicationGroupId *string `type:"string"` 12689 12690 // The AWS region of the Global Datastore member. 12691 ReplicationGroupRegion *string `type:"string"` 12692 12693 // Indicates the role of the replication group, primary or secondary. 12694 Role *string `type:"string"` 12695 12696 // The status of the membership of the replication group. 12697 Status *string `type:"string"` 12698} 12699 12700// String returns the string representation 12701func (s GlobalReplicationGroupMember) String() string { 12702 return awsutil.Prettify(s) 12703} 12704 12705// GoString returns the string representation 12706func (s GlobalReplicationGroupMember) GoString() string { 12707 return s.String() 12708} 12709 12710// SetAutomaticFailover sets the AutomaticFailover field's value. 12711func (s *GlobalReplicationGroupMember) SetAutomaticFailover(v string) *GlobalReplicationGroupMember { 12712 s.AutomaticFailover = &v 12713 return s 12714} 12715 12716// SetReplicationGroupId sets the ReplicationGroupId field's value. 12717func (s *GlobalReplicationGroupMember) SetReplicationGroupId(v string) *GlobalReplicationGroupMember { 12718 s.ReplicationGroupId = &v 12719 return s 12720} 12721 12722// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 12723func (s *GlobalReplicationGroupMember) SetReplicationGroupRegion(v string) *GlobalReplicationGroupMember { 12724 s.ReplicationGroupRegion = &v 12725 return s 12726} 12727 12728// SetRole sets the Role field's value. 12729func (s *GlobalReplicationGroupMember) SetRole(v string) *GlobalReplicationGroupMember { 12730 s.Role = &v 12731 return s 12732} 12733 12734// SetStatus sets the Status field's value. 12735func (s *GlobalReplicationGroupMember) SetStatus(v string) *GlobalReplicationGroupMember { 12736 s.Status = &v 12737 return s 12738} 12739 12740type IncreaseNodeGroupsInGlobalReplicationGroupInput struct { 12741 _ struct{} `type:"structure"` 12742 12743 // Indicates that the process begins immediately. At present, the only permitted 12744 // value for this parameter is true. 12745 // 12746 // ApplyImmediately is a required field 12747 ApplyImmediately *bool `type:"boolean" required:"true"` 12748 12749 // The name of the Global Datastore 12750 // 12751 // GlobalReplicationGroupId is a required field 12752 GlobalReplicationGroupId *string `type:"string" required:"true"` 12753 12754 // The number of node groups you wish to add 12755 // 12756 // NodeGroupCount is a required field 12757 NodeGroupCount *int64 `type:"integer" required:"true"` 12758 12759 // Describes the replication group IDs, the AWS regions where they are stored 12760 // and the shard configuration for each that comprise the Global Datastore 12761 RegionalConfigurations []*RegionalConfiguration `locationNameList:"RegionalConfiguration" type:"list"` 12762} 12763 12764// String returns the string representation 12765func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) String() string { 12766 return awsutil.Prettify(s) 12767} 12768 12769// GoString returns the string representation 12770func (s IncreaseNodeGroupsInGlobalReplicationGroupInput) GoString() string { 12771 return s.String() 12772} 12773 12774// Validate inspects the fields of the type to determine if they are valid. 12775func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) Validate() error { 12776 invalidParams := request.ErrInvalidParams{Context: "IncreaseNodeGroupsInGlobalReplicationGroupInput"} 12777 if s.ApplyImmediately == nil { 12778 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 12779 } 12780 if s.GlobalReplicationGroupId == nil { 12781 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 12782 } 12783 if s.NodeGroupCount == nil { 12784 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 12785 } 12786 if s.RegionalConfigurations != nil { 12787 for i, v := range s.RegionalConfigurations { 12788 if v == nil { 12789 continue 12790 } 12791 if err := v.Validate(); err != nil { 12792 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RegionalConfigurations", i), err.(request.ErrInvalidParams)) 12793 } 12794 } 12795 } 12796 12797 if invalidParams.Len() > 0 { 12798 return invalidParams 12799 } 12800 return nil 12801} 12802 12803// SetApplyImmediately sets the ApplyImmediately field's value. 12804func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12805 s.ApplyImmediately = &v 12806 return s 12807} 12808 12809// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 12810func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12811 s.GlobalReplicationGroupId = &v 12812 return s 12813} 12814 12815// SetNodeGroupCount sets the NodeGroupCount field's value. 12816func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetNodeGroupCount(v int64) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12817 s.NodeGroupCount = &v 12818 return s 12819} 12820 12821// SetRegionalConfigurations sets the RegionalConfigurations field's value. 12822func (s *IncreaseNodeGroupsInGlobalReplicationGroupInput) SetRegionalConfigurations(v []*RegionalConfiguration) *IncreaseNodeGroupsInGlobalReplicationGroupInput { 12823 s.RegionalConfigurations = v 12824 return s 12825} 12826 12827type IncreaseNodeGroupsInGlobalReplicationGroupOutput struct { 12828 _ struct{} `type:"structure"` 12829 12830 // Consists of a primary cluster that accepts writes and an associated secondary 12831 // cluster that resides in a different AWS region. The secondary cluster accepts 12832 // only reads. The primary cluster automatically replicates updates to the secondary 12833 // cluster. 12834 // 12835 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 12836 // Datastore, which is what you use to associate a secondary cluster. 12837 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 12838} 12839 12840// String returns the string representation 12841func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) String() string { 12842 return awsutil.Prettify(s) 12843} 12844 12845// GoString returns the string representation 12846func (s IncreaseNodeGroupsInGlobalReplicationGroupOutput) GoString() string { 12847 return s.String() 12848} 12849 12850// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 12851func (s *IncreaseNodeGroupsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *IncreaseNodeGroupsInGlobalReplicationGroupOutput { 12852 s.GlobalReplicationGroup = v 12853 return s 12854} 12855 12856type IncreaseReplicaCountInput struct { 12857 _ struct{} `type:"structure"` 12858 12859 // If True, the number of replica nodes is increased immediately. ApplyImmediately=False 12860 // is not currently supported. 12861 // 12862 // ApplyImmediately is a required field 12863 ApplyImmediately *bool `type:"boolean" required:"true"` 12864 12865 // The number of read replica nodes you want at the completion of this operation. 12866 // For Redis (cluster mode disabled) replication groups, this is the number 12867 // of replica nodes in the replication group. For Redis (cluster mode enabled) 12868 // replication groups, this is the number of replica nodes in each of the replication 12869 // group's node groups. 12870 NewReplicaCount *int64 `type:"integer"` 12871 12872 // A list of ConfigureShard objects that can be used to configure each shard 12873 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 12874 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 12875 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 12876 12877 // The id of the replication group to which you want to add replica nodes. 12878 // 12879 // ReplicationGroupId is a required field 12880 ReplicationGroupId *string `type:"string" required:"true"` 12881} 12882 12883// String returns the string representation 12884func (s IncreaseReplicaCountInput) String() string { 12885 return awsutil.Prettify(s) 12886} 12887 12888// GoString returns the string representation 12889func (s IncreaseReplicaCountInput) GoString() string { 12890 return s.String() 12891} 12892 12893// Validate inspects the fields of the type to determine if they are valid. 12894func (s *IncreaseReplicaCountInput) Validate() error { 12895 invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicaCountInput"} 12896 if s.ApplyImmediately == nil { 12897 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 12898 } 12899 if s.ReplicationGroupId == nil { 12900 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 12901 } 12902 if s.ReplicaConfiguration != nil { 12903 for i, v := range s.ReplicaConfiguration { 12904 if v == nil { 12905 continue 12906 } 12907 if err := v.Validate(); err != nil { 12908 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 12909 } 12910 } 12911 } 12912 12913 if invalidParams.Len() > 0 { 12914 return invalidParams 12915 } 12916 return nil 12917} 12918 12919// SetApplyImmediately sets the ApplyImmediately field's value. 12920func (s *IncreaseReplicaCountInput) SetApplyImmediately(v bool) *IncreaseReplicaCountInput { 12921 s.ApplyImmediately = &v 12922 return s 12923} 12924 12925// SetNewReplicaCount sets the NewReplicaCount field's value. 12926func (s *IncreaseReplicaCountInput) SetNewReplicaCount(v int64) *IncreaseReplicaCountInput { 12927 s.NewReplicaCount = &v 12928 return s 12929} 12930 12931// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 12932func (s *IncreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *IncreaseReplicaCountInput { 12933 s.ReplicaConfiguration = v 12934 return s 12935} 12936 12937// SetReplicationGroupId sets the ReplicationGroupId field's value. 12938func (s *IncreaseReplicaCountInput) SetReplicationGroupId(v string) *IncreaseReplicaCountInput { 12939 s.ReplicationGroupId = &v 12940 return s 12941} 12942 12943type IncreaseReplicaCountOutput struct { 12944 _ struct{} `type:"structure"` 12945 12946 // Contains all of the attributes of a specific Redis replication group. 12947 ReplicationGroup *ReplicationGroup `type:"structure"` 12948} 12949 12950// String returns the string representation 12951func (s IncreaseReplicaCountOutput) String() string { 12952 return awsutil.Prettify(s) 12953} 12954 12955// GoString returns the string representation 12956func (s IncreaseReplicaCountOutput) GoString() string { 12957 return s.String() 12958} 12959 12960// SetReplicationGroup sets the ReplicationGroup field's value. 12961func (s *IncreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *IncreaseReplicaCountOutput { 12962 s.ReplicationGroup = v 12963 return s 12964} 12965 12966// The input parameters for the ListAllowedNodeTypeModifications operation. 12967type ListAllowedNodeTypeModificationsInput struct { 12968 _ struct{} `type:"structure"` 12969 12970 // The name of the cluster you want to scale up to a larger node instanced type. 12971 // ElastiCache uses the cluster id to identify the current node type of this 12972 // cluster and from that to create a list of node types you can scale up to. 12973 // 12974 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 12975 CacheClusterId *string `type:"string"` 12976 12977 // The name of the replication group want to scale up to a larger node type. 12978 // ElastiCache uses the replication group id to identify the current node type 12979 // being used by this replication group, and from that to create a list of node 12980 // types you can scale up to. 12981 // 12982 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 12983 ReplicationGroupId *string `type:"string"` 12984} 12985 12986// String returns the string representation 12987func (s ListAllowedNodeTypeModificationsInput) String() string { 12988 return awsutil.Prettify(s) 12989} 12990 12991// GoString returns the string representation 12992func (s ListAllowedNodeTypeModificationsInput) GoString() string { 12993 return s.String() 12994} 12995 12996// SetCacheClusterId sets the CacheClusterId field's value. 12997func (s *ListAllowedNodeTypeModificationsInput) SetCacheClusterId(v string) *ListAllowedNodeTypeModificationsInput { 12998 s.CacheClusterId = &v 12999 return s 13000} 13001 13002// SetReplicationGroupId sets the ReplicationGroupId field's value. 13003func (s *ListAllowedNodeTypeModificationsInput) SetReplicationGroupId(v string) *ListAllowedNodeTypeModificationsInput { 13004 s.ReplicationGroupId = &v 13005 return s 13006} 13007 13008// Represents the allowed node types you can use to modify your cluster or replication 13009// group. 13010type ListAllowedNodeTypeModificationsOutput struct { 13011 _ struct{} `type:"structure"` 13012 13013 // A string list, each element of which specifies a cache node type which you 13014 // can use to scale your cluster or replication group. When scaling down a Redis 13015 // cluster or replication group using ModifyCacheCluster or ModifyReplicationGroup, 13016 // use a value from this list for the CacheNodeType parameter. 13017 ScaleDownModifications []*string `type:"list"` 13018 13019 // A string list, each element of which specifies a cache node type which you 13020 // can use to scale your cluster or replication group. 13021 // 13022 // When scaling up a Redis cluster or replication group using ModifyCacheCluster 13023 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 13024 // parameter. 13025 ScaleUpModifications []*string `type:"list"` 13026} 13027 13028// String returns the string representation 13029func (s ListAllowedNodeTypeModificationsOutput) String() string { 13030 return awsutil.Prettify(s) 13031} 13032 13033// GoString returns the string representation 13034func (s ListAllowedNodeTypeModificationsOutput) GoString() string { 13035 return s.String() 13036} 13037 13038// SetScaleDownModifications sets the ScaleDownModifications field's value. 13039func (s *ListAllowedNodeTypeModificationsOutput) SetScaleDownModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 13040 s.ScaleDownModifications = v 13041 return s 13042} 13043 13044// SetScaleUpModifications sets the ScaleUpModifications field's value. 13045func (s *ListAllowedNodeTypeModificationsOutput) SetScaleUpModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 13046 s.ScaleUpModifications = v 13047 return s 13048} 13049 13050// The input parameters for the ListTagsForResource operation. 13051type ListTagsForResourceInput struct { 13052 _ struct{} `type:"structure"` 13053 13054 // The Amazon Resource Name (ARN) of the resource for which you want the list 13055 // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 13056 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 13057 // 13058 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 13059 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 13060 // 13061 // ResourceName is a required field 13062 ResourceName *string `type:"string" required:"true"` 13063} 13064 13065// String returns the string representation 13066func (s ListTagsForResourceInput) String() string { 13067 return awsutil.Prettify(s) 13068} 13069 13070// GoString returns the string representation 13071func (s ListTagsForResourceInput) GoString() string { 13072 return s.String() 13073} 13074 13075// Validate inspects the fields of the type to determine if they are valid. 13076func (s *ListTagsForResourceInput) Validate() error { 13077 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 13078 if s.ResourceName == nil { 13079 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 13080 } 13081 13082 if invalidParams.Len() > 0 { 13083 return invalidParams 13084 } 13085 return nil 13086} 13087 13088// SetResourceName sets the ResourceName field's value. 13089func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { 13090 s.ResourceName = &v 13091 return s 13092} 13093 13094// Represents the input of a ModifyCacheCluster operation. 13095type ModifyCacheClusterInput struct { 13096 _ struct{} `type:"structure"` 13097 13098 // Specifies whether the new nodes in this Memcached cluster are all created 13099 // in a single Availability Zone or created across multiple Availability Zones. 13100 // 13101 // Valid values: single-az | cross-az. 13102 // 13103 // This option is only supported for Memcached clusters. 13104 // 13105 // You cannot specify single-az if the Memcached cluster already has cache nodes 13106 // in different Availability Zones. If cross-az is specified, existing Memcached 13107 // nodes remain in their current Availability Zone. 13108 // 13109 // Only newly created nodes are located in different Availability Zones. 13110 AZMode *string `type:"string" enum:"AZMode"` 13111 13112 // If true, this parameter causes the modifications in this request and any 13113 // pending modifications to be applied, asynchronously and as soon as possible, 13114 // regardless of the PreferredMaintenanceWindow setting for the cluster. 13115 // 13116 // If false, changes to the cluster are applied on the next maintenance reboot, 13117 // or the next failure reboot, whichever occurs first. 13118 // 13119 // If you perform a ModifyCacheCluster before a pending modification is applied, 13120 // the pending modification is replaced by the newer modification. 13121 // 13122 // Valid values: true | false 13123 // 13124 // Default: false 13125 ApplyImmediately *bool `type:"boolean"` 13126 13127 // Reserved parameter. The password used to access a password protected server. 13128 // This parameter must be specified with the auth-token-update parameter. Password 13129 // constraints: 13130 // 13131 // * Must be only printable ASCII characters 13132 // 13133 // * Must be at least 16 characters and no more than 128 characters in length 13134 // 13135 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 13136 // 13137 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 13138 AuthToken *string `type:"string"` 13139 13140 // Specifies the strategy to use to update the AUTH token. This parameter must 13141 // be specified with the auth-token parameter. Possible values: 13142 // 13143 // * Rotate 13144 // 13145 // * Set 13146 // 13147 // For more information, see Authenticating Users with Redis AUTH (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 13148 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 13149 13150 // This parameter is currently disabled. 13151 AutoMinorVersionUpgrade *bool `type:"boolean"` 13152 13153 // The cluster identifier. This value is stored as a lowercase string. 13154 // 13155 // CacheClusterId is a required field 13156 CacheClusterId *string `type:"string" required:"true"` 13157 13158 // A list of cache node IDs to be removed. A node ID is a numeric identifier 13159 // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less 13160 // than the existing number of cache nodes. The number of cache node IDs supplied 13161 // in this parameter must match the difference between the existing number of 13162 // cache nodes in the cluster or pending cache nodes, whichever is greater, 13163 // and the value of NumCacheNodes in the request. 13164 // 13165 // For example: If you have 3 active cache nodes, 7 pending cache nodes, and 13166 // the number of cache nodes in this ModifyCacheCluster call is 5, you must 13167 // list 2 (7 - 5) cache node IDs to remove. 13168 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 13169 13170 // A valid cache node type that you want to scale this cluster up to. 13171 CacheNodeType *string `type:"string"` 13172 13173 // The name of the cache parameter group to apply to this cluster. This change 13174 // is asynchronously applied as soon as possible for parameters when the ApplyImmediately 13175 // parameter is specified as true for this request. 13176 CacheParameterGroupName *string `type:"string"` 13177 13178 // A list of cache security group names to authorize on this cluster. This change 13179 // is asynchronously applied as soon as possible. 13180 // 13181 // You can use this parameter only with clusters that are created outside of 13182 // an Amazon Virtual Private Cloud (Amazon VPC). 13183 // 13184 // Constraints: Must contain no more than 255 alphanumeric characters. Must 13185 // not be "Default". 13186 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 13187 13188 // The upgraded version of the cache engine to be run on the cache nodes. 13189 // 13190 // Important: You can upgrade to a newer engine version (see Selecting a Cache 13191 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 13192 // but you cannot downgrade to an earlier engine version. If you want to use 13193 // an earlier engine version, you must delete the existing cluster and create 13194 // it anew with the earlier engine version. 13195 EngineVersion *string `type:"string"` 13196 13197 // The list of Availability Zones where the new Memcached cache nodes are created. 13198 // 13199 // This parameter is only valid when NumCacheNodes in the request is greater 13200 // than the sum of the number of active cache nodes and the number of cache 13201 // nodes pending creation (which may be zero). The number of Availability Zones 13202 // supplied in this list must match the cache nodes being added in this request. 13203 // 13204 // This option is only supported on Memcached clusters. 13205 // 13206 // Scenarios: 13207 // 13208 // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify 13209 // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones 13210 // for the two new nodes. 13211 // 13212 // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from 13213 // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 13214 // ((3 + 2) + 1) and optionally specify an Availability Zone for the new 13215 // node. 13216 // 13217 // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 13218 // to cancel all pending operations. 13219 // 13220 // The Availability Zone placement of nodes pending creation cannot be modified. 13221 // If you wish to cancel any nodes pending creation, add 0 nodes by setting 13222 // NumCacheNodes to the number of current nodes. 13223 // 13224 // If cross-az is specified, existing Memcached nodes remain in their current 13225 // Availability Zone. Only newly created nodes can be located in different Availability 13226 // Zones. For guidance on how to move existing Memcached nodes to different 13227 // Availability Zones, see the Availability Zone Considerations section of Cache 13228 // Node Considerations for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 13229 // 13230 // Impact of new add/remove requests upon pending requests 13231 // 13232 // * Scenario-1 Pending Action: Delete New Request: Delete Result: The new 13233 // delete, pending or immediate, replaces the pending delete. 13234 // 13235 // * Scenario-2 Pending Action: Delete New Request: Create Result: The new 13236 // create, pending or immediate, replaces the pending delete. 13237 // 13238 // * Scenario-3 Pending Action: Create New Request: Delete Result: The new 13239 // delete, pending or immediate, replaces the pending create. 13240 // 13241 // * Scenario-4 Pending Action: Create New Request: Create Result: The new 13242 // create is added to the pending create. Important: If the new create request 13243 // is Apply Immediately - Yes, all creates are performed immediately. If 13244 // the new create request is Apply Immediately - No, all creates are pending. 13245 NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 13246 13247 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 13248 // are sent. 13249 // 13250 // The Amazon SNS topic owner must be same as the cluster owner. 13251 NotificationTopicArn *string `type:"string"` 13252 13253 // The status of the Amazon SNS notification topic. Notifications are sent only 13254 // if the status is active. 13255 // 13256 // Valid values: active | inactive 13257 NotificationTopicStatus *string `type:"string"` 13258 13259 // The number of cache nodes that the cluster should have. If the value for 13260 // NumCacheNodes is greater than the sum of the number of current cache nodes 13261 // and the number of cache nodes pending creation (which may be zero), more 13262 // nodes are added. If the value is less than the number of existing cache nodes, 13263 // nodes are removed. If the value is equal to the number of current cache nodes, 13264 // any pending add or remove requests are canceled. 13265 // 13266 // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter 13267 // to provide the IDs of the specific cache nodes to remove. 13268 // 13269 // For clusters running Redis, this value must be 1. For clusters running Memcached, 13270 // this value must be between 1 and 20. 13271 // 13272 // Adding or removing Memcached cache nodes can be applied immediately or as 13273 // a pending operation (see ApplyImmediately). 13274 // 13275 // A pending operation to modify the number of cache nodes in a cluster during 13276 // its maintenance window, whether by adding or removing nodes in accordance 13277 // with the scale out architecture, is not queued. The customer's latest request 13278 // to add or remove nodes to the cluster overrides any previous pending operations 13279 // to modify the number of cache nodes in the cluster. For example, a request 13280 // to remove 2 nodes would override a previous pending operation to remove 3 13281 // nodes. Similarly, a request to add 2 nodes would override a previous pending 13282 // operation to remove 3 nodes and vice versa. As Memcached cache nodes may 13283 // now be provisioned in different Availability Zones with flexible cache node 13284 // placement, a request to add nodes does not automatically override a previous 13285 // pending operation to add nodes. The customer can modify the previous pending 13286 // operation to add more nodes or explicitly cancel the pending request and 13287 // retry the new request. To cancel pending operations to modify the number 13288 // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes 13289 // equal to the number of cache nodes currently in the cluster. 13290 NumCacheNodes *int64 `type:"integer"` 13291 13292 // Specifies the weekly time range during which maintenance on the cluster is 13293 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 13294 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 13295 // 13296 // Valid values for ddd are: 13297 // 13298 // * sun 13299 // 13300 // * mon 13301 // 13302 // * tue 13303 // 13304 // * wed 13305 // 13306 // * thu 13307 // 13308 // * fri 13309 // 13310 // * sat 13311 // 13312 // Example: sun:23:00-mon:01:30 13313 PreferredMaintenanceWindow *string `type:"string"` 13314 13315 // Specifies the VPC Security Groups associated with the cluster. 13316 // 13317 // This parameter can be used only with clusters that are created in an Amazon 13318 // Virtual Private Cloud (Amazon VPC). 13319 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 13320 13321 // The number of days for which ElastiCache retains automatic cluster snapshots 13322 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 13323 // a snapshot that was taken today is retained for 5 days before being deleted. 13324 // 13325 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 13326 // off. 13327 SnapshotRetentionLimit *int64 `type:"integer"` 13328 13329 // The daily time range (in UTC) during which ElastiCache begins taking a daily 13330 // snapshot of your cluster. 13331 SnapshotWindow *string `type:"string"` 13332} 13333 13334// String returns the string representation 13335func (s ModifyCacheClusterInput) String() string { 13336 return awsutil.Prettify(s) 13337} 13338 13339// GoString returns the string representation 13340func (s ModifyCacheClusterInput) GoString() string { 13341 return s.String() 13342} 13343 13344// Validate inspects the fields of the type to determine if they are valid. 13345func (s *ModifyCacheClusterInput) Validate() error { 13346 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} 13347 if s.CacheClusterId == nil { 13348 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 13349 } 13350 13351 if invalidParams.Len() > 0 { 13352 return invalidParams 13353 } 13354 return nil 13355} 13356 13357// SetAZMode sets the AZMode field's value. 13358func (s *ModifyCacheClusterInput) SetAZMode(v string) *ModifyCacheClusterInput { 13359 s.AZMode = &v 13360 return s 13361} 13362 13363// SetApplyImmediately sets the ApplyImmediately field's value. 13364func (s *ModifyCacheClusterInput) SetApplyImmediately(v bool) *ModifyCacheClusterInput { 13365 s.ApplyImmediately = &v 13366 return s 13367} 13368 13369// SetAuthToken sets the AuthToken field's value. 13370func (s *ModifyCacheClusterInput) SetAuthToken(v string) *ModifyCacheClusterInput { 13371 s.AuthToken = &v 13372 return s 13373} 13374 13375// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 13376func (s *ModifyCacheClusterInput) SetAuthTokenUpdateStrategy(v string) *ModifyCacheClusterInput { 13377 s.AuthTokenUpdateStrategy = &v 13378 return s 13379} 13380 13381// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 13382func (s *ModifyCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *ModifyCacheClusterInput { 13383 s.AutoMinorVersionUpgrade = &v 13384 return s 13385} 13386 13387// SetCacheClusterId sets the CacheClusterId field's value. 13388func (s *ModifyCacheClusterInput) SetCacheClusterId(v string) *ModifyCacheClusterInput { 13389 s.CacheClusterId = &v 13390 return s 13391} 13392 13393// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 13394func (s *ModifyCacheClusterInput) SetCacheNodeIdsToRemove(v []*string) *ModifyCacheClusterInput { 13395 s.CacheNodeIdsToRemove = v 13396 return s 13397} 13398 13399// SetCacheNodeType sets the CacheNodeType field's value. 13400func (s *ModifyCacheClusterInput) SetCacheNodeType(v string) *ModifyCacheClusterInput { 13401 s.CacheNodeType = &v 13402 return s 13403} 13404 13405// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13406func (s *ModifyCacheClusterInput) SetCacheParameterGroupName(v string) *ModifyCacheClusterInput { 13407 s.CacheParameterGroupName = &v 13408 return s 13409} 13410 13411// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 13412func (s *ModifyCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *ModifyCacheClusterInput { 13413 s.CacheSecurityGroupNames = v 13414 return s 13415} 13416 13417// SetEngineVersion sets the EngineVersion field's value. 13418func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheClusterInput { 13419 s.EngineVersion = &v 13420 return s 13421} 13422 13423// SetNewAvailabilityZones sets the NewAvailabilityZones field's value. 13424func (s *ModifyCacheClusterInput) SetNewAvailabilityZones(v []*string) *ModifyCacheClusterInput { 13425 s.NewAvailabilityZones = v 13426 return s 13427} 13428 13429// SetNotificationTopicArn sets the NotificationTopicArn field's value. 13430func (s *ModifyCacheClusterInput) SetNotificationTopicArn(v string) *ModifyCacheClusterInput { 13431 s.NotificationTopicArn = &v 13432 return s 13433} 13434 13435// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 13436func (s *ModifyCacheClusterInput) SetNotificationTopicStatus(v string) *ModifyCacheClusterInput { 13437 s.NotificationTopicStatus = &v 13438 return s 13439} 13440 13441// SetNumCacheNodes sets the NumCacheNodes field's value. 13442func (s *ModifyCacheClusterInput) SetNumCacheNodes(v int64) *ModifyCacheClusterInput { 13443 s.NumCacheNodes = &v 13444 return s 13445} 13446 13447// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 13448func (s *ModifyCacheClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyCacheClusterInput { 13449 s.PreferredMaintenanceWindow = &v 13450 return s 13451} 13452 13453// SetSecurityGroupIds sets the SecurityGroupIds field's value. 13454func (s *ModifyCacheClusterInput) SetSecurityGroupIds(v []*string) *ModifyCacheClusterInput { 13455 s.SecurityGroupIds = v 13456 return s 13457} 13458 13459// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 13460func (s *ModifyCacheClusterInput) SetSnapshotRetentionLimit(v int64) *ModifyCacheClusterInput { 13461 s.SnapshotRetentionLimit = &v 13462 return s 13463} 13464 13465// SetSnapshotWindow sets the SnapshotWindow field's value. 13466func (s *ModifyCacheClusterInput) SetSnapshotWindow(v string) *ModifyCacheClusterInput { 13467 s.SnapshotWindow = &v 13468 return s 13469} 13470 13471type ModifyCacheClusterOutput struct { 13472 _ struct{} `type:"structure"` 13473 13474 // Contains all of the attributes of a specific cluster. 13475 CacheCluster *CacheCluster `type:"structure"` 13476} 13477 13478// String returns the string representation 13479func (s ModifyCacheClusterOutput) String() string { 13480 return awsutil.Prettify(s) 13481} 13482 13483// GoString returns the string representation 13484func (s ModifyCacheClusterOutput) GoString() string { 13485 return s.String() 13486} 13487 13488// SetCacheCluster sets the CacheCluster field's value. 13489func (s *ModifyCacheClusterOutput) SetCacheCluster(v *CacheCluster) *ModifyCacheClusterOutput { 13490 s.CacheCluster = v 13491 return s 13492} 13493 13494// Represents the input of a ModifyCacheParameterGroup operation. 13495type ModifyCacheParameterGroupInput struct { 13496 _ struct{} `type:"structure"` 13497 13498 // The name of the cache parameter group to modify. 13499 // 13500 // CacheParameterGroupName is a required field 13501 CacheParameterGroupName *string `type:"string" required:"true"` 13502 13503 // An array of parameter names and values for the parameter update. You must 13504 // supply at least one parameter name and value; subsequent arguments are optional. 13505 // A maximum of 20 parameters may be modified per request. 13506 // 13507 // ParameterNameValues is a required field 13508 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` 13509} 13510 13511// String returns the string representation 13512func (s ModifyCacheParameterGroupInput) String() string { 13513 return awsutil.Prettify(s) 13514} 13515 13516// GoString returns the string representation 13517func (s ModifyCacheParameterGroupInput) GoString() string { 13518 return s.String() 13519} 13520 13521// Validate inspects the fields of the type to determine if they are valid. 13522func (s *ModifyCacheParameterGroupInput) Validate() error { 13523 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} 13524 if s.CacheParameterGroupName == nil { 13525 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 13526 } 13527 if s.ParameterNameValues == nil { 13528 invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) 13529 } 13530 13531 if invalidParams.Len() > 0 { 13532 return invalidParams 13533 } 13534 return nil 13535} 13536 13537// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13538func (s *ModifyCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ModifyCacheParameterGroupInput { 13539 s.CacheParameterGroupName = &v 13540 return s 13541} 13542 13543// SetParameterNameValues sets the ParameterNameValues field's value. 13544func (s *ModifyCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ModifyCacheParameterGroupInput { 13545 s.ParameterNameValues = v 13546 return s 13547} 13548 13549// Represents the input of a ModifyCacheSubnetGroup operation. 13550type ModifyCacheSubnetGroupInput struct { 13551 _ struct{} `type:"structure"` 13552 13553 // A description of the cache subnet group. 13554 CacheSubnetGroupDescription *string `type:"string"` 13555 13556 // The name for the cache subnet group. This value is stored as a lowercase 13557 // string. 13558 // 13559 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 13560 // 13561 // Example: mysubnetgroup 13562 // 13563 // CacheSubnetGroupName is a required field 13564 CacheSubnetGroupName *string `type:"string" required:"true"` 13565 13566 // The EC2 subnet IDs for the cache subnet group. 13567 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"` 13568} 13569 13570// String returns the string representation 13571func (s ModifyCacheSubnetGroupInput) String() string { 13572 return awsutil.Prettify(s) 13573} 13574 13575// GoString returns the string representation 13576func (s ModifyCacheSubnetGroupInput) GoString() string { 13577 return s.String() 13578} 13579 13580// Validate inspects the fields of the type to determine if they are valid. 13581func (s *ModifyCacheSubnetGroupInput) Validate() error { 13582 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} 13583 if s.CacheSubnetGroupName == nil { 13584 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 13585 } 13586 13587 if invalidParams.Len() > 0 { 13588 return invalidParams 13589 } 13590 return nil 13591} 13592 13593// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 13594func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *ModifyCacheSubnetGroupInput { 13595 s.CacheSubnetGroupDescription = &v 13596 return s 13597} 13598 13599// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 13600func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *ModifyCacheSubnetGroupInput { 13601 s.CacheSubnetGroupName = &v 13602 return s 13603} 13604 13605// SetSubnetIds sets the SubnetIds field's value. 13606func (s *ModifyCacheSubnetGroupInput) SetSubnetIds(v []*string) *ModifyCacheSubnetGroupInput { 13607 s.SubnetIds = v 13608 return s 13609} 13610 13611type ModifyCacheSubnetGroupOutput struct { 13612 _ struct{} `type:"structure"` 13613 13614 // Represents the output of one of the following operations: 13615 // 13616 // * CreateCacheSubnetGroup 13617 // 13618 // * ModifyCacheSubnetGroup 13619 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 13620} 13621 13622// String returns the string representation 13623func (s ModifyCacheSubnetGroupOutput) String() string { 13624 return awsutil.Prettify(s) 13625} 13626 13627// GoString returns the string representation 13628func (s ModifyCacheSubnetGroupOutput) GoString() string { 13629 return s.String() 13630} 13631 13632// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 13633func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *ModifyCacheSubnetGroupOutput { 13634 s.CacheSubnetGroup = v 13635 return s 13636} 13637 13638type ModifyGlobalReplicationGroupInput struct { 13639 _ struct{} `type:"structure"` 13640 13641 // This parameter causes the modifications in this request and any pending modifications 13642 // to be applied, asynchronously and as soon as possible. Modifications to Global 13643 // Replication Groups cannot be requested to be applied in PreferredMaintenceWindow. 13644 // 13645 // ApplyImmediately is a required field 13646 ApplyImmediately *bool `type:"boolean" required:"true"` 13647 13648 // Determines whether a read replica is automatically promoted to read/write 13649 // primary if the existing primary encounters a failure. 13650 AutomaticFailoverEnabled *bool `type:"boolean"` 13651 13652 // A valid cache node type that you want to scale this Global Datastore to. 13653 CacheNodeType *string `type:"string"` 13654 13655 // The upgraded version of the cache engine to be run on the clusters in the 13656 // Global Datastore. 13657 EngineVersion *string `type:"string"` 13658 13659 // A description of the Global Datastore 13660 GlobalReplicationGroupDescription *string `type:"string"` 13661 13662 // The name of the Global Datastore 13663 // 13664 // GlobalReplicationGroupId is a required field 13665 GlobalReplicationGroupId *string `type:"string" required:"true"` 13666} 13667 13668// String returns the string representation 13669func (s ModifyGlobalReplicationGroupInput) String() string { 13670 return awsutil.Prettify(s) 13671} 13672 13673// GoString returns the string representation 13674func (s ModifyGlobalReplicationGroupInput) GoString() string { 13675 return s.String() 13676} 13677 13678// Validate inspects the fields of the type to determine if they are valid. 13679func (s *ModifyGlobalReplicationGroupInput) Validate() error { 13680 invalidParams := request.ErrInvalidParams{Context: "ModifyGlobalReplicationGroupInput"} 13681 if s.ApplyImmediately == nil { 13682 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 13683 } 13684 if s.GlobalReplicationGroupId == nil { 13685 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 13686 } 13687 13688 if invalidParams.Len() > 0 { 13689 return invalidParams 13690 } 13691 return nil 13692} 13693 13694// SetApplyImmediately sets the ApplyImmediately field's value. 13695func (s *ModifyGlobalReplicationGroupInput) SetApplyImmediately(v bool) *ModifyGlobalReplicationGroupInput { 13696 s.ApplyImmediately = &v 13697 return s 13698} 13699 13700// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 13701func (s *ModifyGlobalReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyGlobalReplicationGroupInput { 13702 s.AutomaticFailoverEnabled = &v 13703 return s 13704} 13705 13706// SetCacheNodeType sets the CacheNodeType field's value. 13707func (s *ModifyGlobalReplicationGroupInput) SetCacheNodeType(v string) *ModifyGlobalReplicationGroupInput { 13708 s.CacheNodeType = &v 13709 return s 13710} 13711 13712// SetEngineVersion sets the EngineVersion field's value. 13713func (s *ModifyGlobalReplicationGroupInput) SetEngineVersion(v string) *ModifyGlobalReplicationGroupInput { 13714 s.EngineVersion = &v 13715 return s 13716} 13717 13718// SetGlobalReplicationGroupDescription sets the GlobalReplicationGroupDescription field's value. 13719func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupDescription(v string) *ModifyGlobalReplicationGroupInput { 13720 s.GlobalReplicationGroupDescription = &v 13721 return s 13722} 13723 13724// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 13725func (s *ModifyGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *ModifyGlobalReplicationGroupInput { 13726 s.GlobalReplicationGroupId = &v 13727 return s 13728} 13729 13730type ModifyGlobalReplicationGroupOutput struct { 13731 _ struct{} `type:"structure"` 13732 13733 // Consists of a primary cluster that accepts writes and an associated secondary 13734 // cluster that resides in a different AWS region. The secondary cluster accepts 13735 // only reads. The primary cluster automatically replicates updates to the secondary 13736 // cluster. 13737 // 13738 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 13739 // Datastore, which is what you use to associate a secondary cluster. 13740 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 13741} 13742 13743// String returns the string representation 13744func (s ModifyGlobalReplicationGroupOutput) String() string { 13745 return awsutil.Prettify(s) 13746} 13747 13748// GoString returns the string representation 13749func (s ModifyGlobalReplicationGroupOutput) GoString() string { 13750 return s.String() 13751} 13752 13753// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 13754func (s *ModifyGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *ModifyGlobalReplicationGroupOutput { 13755 s.GlobalReplicationGroup = v 13756 return s 13757} 13758 13759// Represents the input of a ModifyReplicationGroups operation. 13760type ModifyReplicationGroupInput struct { 13761 _ struct{} `type:"structure"` 13762 13763 // If true, this parameter causes the modifications in this request and any 13764 // pending modifications to be applied, asynchronously and as soon as possible, 13765 // regardless of the PreferredMaintenanceWindow setting for the replication 13766 // group. 13767 // 13768 // If false, changes to the nodes in the replication group are applied on the 13769 // next maintenance reboot, or the next failure reboot, whichever occurs first. 13770 // 13771 // Valid values: true | false 13772 // 13773 // Default: false 13774 ApplyImmediately *bool `type:"boolean"` 13775 13776 // Reserved parameter. The password used to access a password protected server. 13777 // This parameter must be specified with the auth-token-update-strategy parameter. 13778 // Password constraints: 13779 // 13780 // * Must be only printable ASCII characters 13781 // 13782 // * Must be at least 16 characters and no more than 128 characters in length 13783 // 13784 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 13785 // 13786 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 13787 AuthToken *string `type:"string"` 13788 13789 // Specifies the strategy to use to update the AUTH token. This parameter must 13790 // be specified with the auth-token parameter. Possible values: 13791 // 13792 // * Rotate 13793 // 13794 // * Set 13795 // 13796 // For more information, see Authenticating Users with Redis AUTH (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 13797 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 13798 13799 // This parameter is currently disabled. 13800 AutoMinorVersionUpgrade *bool `type:"boolean"` 13801 13802 // Determines whether a read replica is automatically promoted to read/write 13803 // primary if the existing primary encounters a failure. 13804 // 13805 // Valid values: true | false 13806 AutomaticFailoverEnabled *bool `type:"boolean"` 13807 13808 // A valid cache node type that you want to scale this replication group to. 13809 CacheNodeType *string `type:"string"` 13810 13811 // The name of the cache parameter group to apply to all of the clusters in 13812 // this replication group. This change is asynchronously applied as soon as 13813 // possible for parameters when the ApplyImmediately parameter is specified 13814 // as true for this request. 13815 CacheParameterGroupName *string `type:"string"` 13816 13817 // A list of cache security group names to authorize for the clusters in this 13818 // replication group. This change is asynchronously applied as soon as possible. 13819 // 13820 // This parameter can be used only with replication group containing clusters 13821 // running outside of an Amazon Virtual Private Cloud (Amazon VPC). 13822 // 13823 // Constraints: Must contain no more than 255 alphanumeric characters. Must 13824 // not be Default. 13825 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 13826 13827 // The upgraded version of the cache engine to be run on the clusters in the 13828 // replication group. 13829 // 13830 // Important: You can upgrade to a newer engine version (see Selecting a Cache 13831 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 13832 // but you cannot downgrade to an earlier engine version. If you want to use 13833 // an earlier engine version, you must delete the existing replication group 13834 // and create it anew with the earlier engine version. 13835 EngineVersion *string `type:"string"` 13836 13837 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 13838 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html). 13839 MultiAZEnabled *bool `type:"boolean"` 13840 13841 // Deprecated. This parameter is not used. 13842 // 13843 // Deprecated: NodeGroupId has been deprecated 13844 NodeGroupId *string `deprecated:"true" type:"string"` 13845 13846 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 13847 // are sent. 13848 // 13849 // The Amazon SNS topic owner must be same as the replication group owner. 13850 NotificationTopicArn *string `type:"string"` 13851 13852 // The status of the Amazon SNS notification topic for the replication group. 13853 // Notifications are sent only if the status is active. 13854 // 13855 // Valid values: active | inactive 13856 NotificationTopicStatus *string `type:"string"` 13857 13858 // Specifies the weekly time range during which maintenance on the cluster is 13859 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 13860 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 13861 // 13862 // Valid values for ddd are: 13863 // 13864 // * sun 13865 // 13866 // * mon 13867 // 13868 // * tue 13869 // 13870 // * wed 13871 // 13872 // * thu 13873 // 13874 // * fri 13875 // 13876 // * sat 13877 // 13878 // Example: sun:23:00-mon:01:30 13879 PreferredMaintenanceWindow *string `type:"string"` 13880 13881 // For replication groups with a single primary, if this parameter is specified, 13882 // ElastiCache promotes the specified cluster in the specified replication group 13883 // to the primary role. The nodes of all other clusters in the replication group 13884 // are read replicas. 13885 PrimaryClusterId *string `type:"string"` 13886 13887 // A description for the replication group. Maximum length is 255 characters. 13888 ReplicationGroupDescription *string `type:"string"` 13889 13890 // The identifier of the replication group to modify. 13891 // 13892 // ReplicationGroupId is a required field 13893 ReplicationGroupId *string `type:"string" required:"true"` 13894 13895 // Specifies the VPC Security Groups associated with the clusters in the replication 13896 // group. 13897 // 13898 // This parameter can be used only with replication group containing clusters 13899 // running in an Amazon Virtual Private Cloud (Amazon VPC). 13900 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 13901 13902 // The number of days for which ElastiCache retains automatic node group (shard) 13903 // snapshots before deleting them. For example, if you set SnapshotRetentionLimit 13904 // to 5, a snapshot that was taken today is retained for 5 days before being 13905 // deleted. 13906 // 13907 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 13908 // are turned off. 13909 SnapshotRetentionLimit *int64 `type:"integer"` 13910 13911 // The daily time range (in UTC) during which ElastiCache begins taking a daily 13912 // snapshot of the node group (shard) specified by SnapshottingClusterId. 13913 // 13914 // Example: 05:00-09:00 13915 // 13916 // If you do not specify this parameter, ElastiCache automatically chooses an 13917 // appropriate time range. 13918 SnapshotWindow *string `type:"string"` 13919 13920 // The cluster ID that is used as the daily snapshot source for the replication 13921 // group. This parameter cannot be set for Redis (cluster mode enabled) replication 13922 // groups. 13923 SnapshottingClusterId *string `type:"string"` 13924} 13925 13926// String returns the string representation 13927func (s ModifyReplicationGroupInput) String() string { 13928 return awsutil.Prettify(s) 13929} 13930 13931// GoString returns the string representation 13932func (s ModifyReplicationGroupInput) GoString() string { 13933 return s.String() 13934} 13935 13936// Validate inspects the fields of the type to determine if they are valid. 13937func (s *ModifyReplicationGroupInput) Validate() error { 13938 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} 13939 if s.ReplicationGroupId == nil { 13940 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 13941 } 13942 13943 if invalidParams.Len() > 0 { 13944 return invalidParams 13945 } 13946 return nil 13947} 13948 13949// SetApplyImmediately sets the ApplyImmediately field's value. 13950func (s *ModifyReplicationGroupInput) SetApplyImmediately(v bool) *ModifyReplicationGroupInput { 13951 s.ApplyImmediately = &v 13952 return s 13953} 13954 13955// SetAuthToken sets the AuthToken field's value. 13956func (s *ModifyReplicationGroupInput) SetAuthToken(v string) *ModifyReplicationGroupInput { 13957 s.AuthToken = &v 13958 return s 13959} 13960 13961// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 13962func (s *ModifyReplicationGroupInput) SetAuthTokenUpdateStrategy(v string) *ModifyReplicationGroupInput { 13963 s.AuthTokenUpdateStrategy = &v 13964 return s 13965} 13966 13967// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 13968func (s *ModifyReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationGroupInput { 13969 s.AutoMinorVersionUpgrade = &v 13970 return s 13971} 13972 13973// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 13974func (s *ModifyReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyReplicationGroupInput { 13975 s.AutomaticFailoverEnabled = &v 13976 return s 13977} 13978 13979// SetCacheNodeType sets the CacheNodeType field's value. 13980func (s *ModifyReplicationGroupInput) SetCacheNodeType(v string) *ModifyReplicationGroupInput { 13981 s.CacheNodeType = &v 13982 return s 13983} 13984 13985// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13986func (s *ModifyReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyReplicationGroupInput { 13987 s.CacheParameterGroupName = &v 13988 return s 13989} 13990 13991// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 13992func (s *ModifyReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *ModifyReplicationGroupInput { 13993 s.CacheSecurityGroupNames = v 13994 return s 13995} 13996 13997// SetEngineVersion sets the EngineVersion field's value. 13998func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicationGroupInput { 13999 s.EngineVersion = &v 14000 return s 14001} 14002 14003// SetMultiAZEnabled sets the MultiAZEnabled field's value. 14004func (s *ModifyReplicationGroupInput) SetMultiAZEnabled(v bool) *ModifyReplicationGroupInput { 14005 s.MultiAZEnabled = &v 14006 return s 14007} 14008 14009// SetNodeGroupId sets the NodeGroupId field's value. 14010func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { 14011 s.NodeGroupId = &v 14012 return s 14013} 14014 14015// SetNotificationTopicArn sets the NotificationTopicArn field's value. 14016func (s *ModifyReplicationGroupInput) SetNotificationTopicArn(v string) *ModifyReplicationGroupInput { 14017 s.NotificationTopicArn = &v 14018 return s 14019} 14020 14021// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 14022func (s *ModifyReplicationGroupInput) SetNotificationTopicStatus(v string) *ModifyReplicationGroupInput { 14023 s.NotificationTopicStatus = &v 14024 return s 14025} 14026 14027// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 14028func (s *ModifyReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationGroupInput { 14029 s.PreferredMaintenanceWindow = &v 14030 return s 14031} 14032 14033// SetPrimaryClusterId sets the PrimaryClusterId field's value. 14034func (s *ModifyReplicationGroupInput) SetPrimaryClusterId(v string) *ModifyReplicationGroupInput { 14035 s.PrimaryClusterId = &v 14036 return s 14037} 14038 14039// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 14040func (s *ModifyReplicationGroupInput) SetReplicationGroupDescription(v string) *ModifyReplicationGroupInput { 14041 s.ReplicationGroupDescription = &v 14042 return s 14043} 14044 14045// SetReplicationGroupId sets the ReplicationGroupId field's value. 14046func (s *ModifyReplicationGroupInput) SetReplicationGroupId(v string) *ModifyReplicationGroupInput { 14047 s.ReplicationGroupId = &v 14048 return s 14049} 14050 14051// SetSecurityGroupIds sets the SecurityGroupIds field's value. 14052func (s *ModifyReplicationGroupInput) SetSecurityGroupIds(v []*string) *ModifyReplicationGroupInput { 14053 s.SecurityGroupIds = v 14054 return s 14055} 14056 14057// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 14058func (s *ModifyReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *ModifyReplicationGroupInput { 14059 s.SnapshotRetentionLimit = &v 14060 return s 14061} 14062 14063// SetSnapshotWindow sets the SnapshotWindow field's value. 14064func (s *ModifyReplicationGroupInput) SetSnapshotWindow(v string) *ModifyReplicationGroupInput { 14065 s.SnapshotWindow = &v 14066 return s 14067} 14068 14069// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 14070func (s *ModifyReplicationGroupInput) SetSnapshottingClusterId(v string) *ModifyReplicationGroupInput { 14071 s.SnapshottingClusterId = &v 14072 return s 14073} 14074 14075type ModifyReplicationGroupOutput struct { 14076 _ struct{} `type:"structure"` 14077 14078 // Contains all of the attributes of a specific Redis replication group. 14079 ReplicationGroup *ReplicationGroup `type:"structure"` 14080} 14081 14082// String returns the string representation 14083func (s ModifyReplicationGroupOutput) String() string { 14084 return awsutil.Prettify(s) 14085} 14086 14087// GoString returns the string representation 14088func (s ModifyReplicationGroupOutput) GoString() string { 14089 return s.String() 14090} 14091 14092// SetReplicationGroup sets the ReplicationGroup field's value. 14093func (s *ModifyReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupOutput { 14094 s.ReplicationGroup = v 14095 return s 14096} 14097 14098// Represents the input for a ModifyReplicationGroupShardConfiguration operation. 14099type ModifyReplicationGroupShardConfigurationInput struct { 14100 _ struct{} `type:"structure"` 14101 14102 // Indicates that the shard reconfiguration process begins immediately. At present, 14103 // the only permitted value for this parameter is true. 14104 // 14105 // Value: true 14106 // 14107 // ApplyImmediately is a required field 14108 ApplyImmediately *bool `type:"boolean" required:"true"` 14109 14110 // The number of node groups (shards) that results from the modification of 14111 // the shard configuration. 14112 // 14113 // NodeGroupCount is a required field 14114 NodeGroupCount *int64 `type:"integer" required:"true"` 14115 14116 // If the value of NodeGroupCount is less than the current number of node groups 14117 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 14118 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 14119 // 14120 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 14121 // from the cluster. 14122 NodeGroupsToRemove []*string `locationNameList:"NodeGroupToRemove" type:"list"` 14123 14124 // If the value of NodeGroupCount is less than the current number of node groups 14125 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 14126 // NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. 14127 // 14128 // ElastiCache for Redis will attempt to remove all node groups except those 14129 // listed by NodeGroupsToRetain from the cluster. 14130 NodeGroupsToRetain []*string `locationNameList:"NodeGroupToRetain" type:"list"` 14131 14132 // The name of the Redis (cluster mode enabled) cluster (replication group) 14133 // on which the shards are to be configured. 14134 // 14135 // ReplicationGroupId is a required field 14136 ReplicationGroupId *string `type:"string" required:"true"` 14137 14138 // Specifies the preferred availability zones for each node group in the cluster. 14139 // If the value of NodeGroupCount is greater than the current number of node 14140 // groups (shards), you can use this parameter to specify the preferred availability 14141 // zones of the cluster's shards. If you omit this parameter ElastiCache selects 14142 // availability zones for you. 14143 // 14144 // You can specify this parameter only if the value of NodeGroupCount is greater 14145 // than the current number of node groups (shards). 14146 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list"` 14147} 14148 14149// String returns the string representation 14150func (s ModifyReplicationGroupShardConfigurationInput) String() string { 14151 return awsutil.Prettify(s) 14152} 14153 14154// GoString returns the string representation 14155func (s ModifyReplicationGroupShardConfigurationInput) GoString() string { 14156 return s.String() 14157} 14158 14159// Validate inspects the fields of the type to determine if they are valid. 14160func (s *ModifyReplicationGroupShardConfigurationInput) Validate() error { 14161 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupShardConfigurationInput"} 14162 if s.ApplyImmediately == nil { 14163 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 14164 } 14165 if s.NodeGroupCount == nil { 14166 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 14167 } 14168 if s.ReplicationGroupId == nil { 14169 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 14170 } 14171 if s.ReshardingConfiguration != nil { 14172 for i, v := range s.ReshardingConfiguration { 14173 if v == nil { 14174 continue 14175 } 14176 if err := v.Validate(); err != nil { 14177 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 14178 } 14179 } 14180 } 14181 14182 if invalidParams.Len() > 0 { 14183 return invalidParams 14184 } 14185 return nil 14186} 14187 14188// SetApplyImmediately sets the ApplyImmediately field's value. 14189func (s *ModifyReplicationGroupShardConfigurationInput) SetApplyImmediately(v bool) *ModifyReplicationGroupShardConfigurationInput { 14190 s.ApplyImmediately = &v 14191 return s 14192} 14193 14194// SetNodeGroupCount sets the NodeGroupCount field's value. 14195func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupCount(v int64) *ModifyReplicationGroupShardConfigurationInput { 14196 s.NodeGroupCount = &v 14197 return s 14198} 14199 14200// SetNodeGroupsToRemove sets the NodeGroupsToRemove field's value. 14201func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRemove(v []*string) *ModifyReplicationGroupShardConfigurationInput { 14202 s.NodeGroupsToRemove = v 14203 return s 14204} 14205 14206// SetNodeGroupsToRetain sets the NodeGroupsToRetain field's value. 14207func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v []*string) *ModifyReplicationGroupShardConfigurationInput { 14208 s.NodeGroupsToRetain = v 14209 return s 14210} 14211 14212// SetReplicationGroupId sets the ReplicationGroupId field's value. 14213func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { 14214 s.ReplicationGroupId = &v 14215 return s 14216} 14217 14218// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 14219func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { 14220 s.ReshardingConfiguration = v 14221 return s 14222} 14223 14224type ModifyReplicationGroupShardConfigurationOutput struct { 14225 _ struct{} `type:"structure"` 14226 14227 // Contains all of the attributes of a specific Redis replication group. 14228 ReplicationGroup *ReplicationGroup `type:"structure"` 14229} 14230 14231// String returns the string representation 14232func (s ModifyReplicationGroupShardConfigurationOutput) String() string { 14233 return awsutil.Prettify(s) 14234} 14235 14236// GoString returns the string representation 14237func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { 14238 return s.String() 14239} 14240 14241// SetReplicationGroup sets the ReplicationGroup field's value. 14242func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { 14243 s.ReplicationGroup = v 14244 return s 14245} 14246 14247// Represents a collection of cache nodes in a replication group. One node in 14248// the node group is the read/write primary node. All the other nodes are read-only 14249// Replica nodes. 14250type NodeGroup struct { 14251 _ struct{} `type:"structure"` 14252 14253 // The identifier for the node group (shard). A Redis (cluster mode disabled) 14254 // replication group contains only 1 node group; therefore, the node group ID 14255 // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 14256 // node groups numbered 0001 to 0090. Optionally, the user can provide the id 14257 // for a node group. 14258 NodeGroupId *string `type:"string"` 14259 14260 // A list containing information about individual nodes within the node group 14261 // (shard). 14262 NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` 14263 14264 // The endpoint of the primary node in this node group (shard). 14265 PrimaryEndpoint *Endpoint `type:"structure"` 14266 14267 // The endpoint of the replica nodes in this node group (shard). 14268 ReaderEndpoint *Endpoint `type:"structure"` 14269 14270 // The keyspace for this node group (shard). 14271 Slots *string `type:"string"` 14272 14273 // The current state of this replication group - creating, available, modifying, 14274 // deleting. 14275 Status *string `type:"string"` 14276} 14277 14278// String returns the string representation 14279func (s NodeGroup) String() string { 14280 return awsutil.Prettify(s) 14281} 14282 14283// GoString returns the string representation 14284func (s NodeGroup) GoString() string { 14285 return s.String() 14286} 14287 14288// SetNodeGroupId sets the NodeGroupId field's value. 14289func (s *NodeGroup) SetNodeGroupId(v string) *NodeGroup { 14290 s.NodeGroupId = &v 14291 return s 14292} 14293 14294// SetNodeGroupMembers sets the NodeGroupMembers field's value. 14295func (s *NodeGroup) SetNodeGroupMembers(v []*NodeGroupMember) *NodeGroup { 14296 s.NodeGroupMembers = v 14297 return s 14298} 14299 14300// SetPrimaryEndpoint sets the PrimaryEndpoint field's value. 14301func (s *NodeGroup) SetPrimaryEndpoint(v *Endpoint) *NodeGroup { 14302 s.PrimaryEndpoint = v 14303 return s 14304} 14305 14306// SetReaderEndpoint sets the ReaderEndpoint field's value. 14307func (s *NodeGroup) SetReaderEndpoint(v *Endpoint) *NodeGroup { 14308 s.ReaderEndpoint = v 14309 return s 14310} 14311 14312// SetSlots sets the Slots field's value. 14313func (s *NodeGroup) SetSlots(v string) *NodeGroup { 14314 s.Slots = &v 14315 return s 14316} 14317 14318// SetStatus sets the Status field's value. 14319func (s *NodeGroup) SetStatus(v string) *NodeGroup { 14320 s.Status = &v 14321 return s 14322} 14323 14324// Node group (shard) configuration options. Each node group (shard) configuration 14325// has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, 14326// ReplicaCount. 14327type NodeGroupConfiguration struct { 14328 _ struct{} `type:"structure"` 14329 14330 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 14331 // for the node group these configuration values apply to. 14332 NodeGroupId *string `min:"1" type:"string"` 14333 14334 // The Availability Zone where the primary node of this node group (shard) is 14335 // launched. 14336 PrimaryAvailabilityZone *string `type:"string"` 14337 14338 // A list of Availability Zones to be used for the read replicas. The number 14339 // of Availability Zones in this list must match the value of ReplicaCount or 14340 // ReplicasPerNodeGroup if not specified. 14341 ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 14342 14343 // The number of read replica nodes in this node group (shard). 14344 ReplicaCount *int64 `type:"integer"` 14345 14346 // A string that specifies the keyspace for a particular node group. Keyspaces 14347 // range from 0 to 16,383. The string is in the format startkey-endkey. 14348 // 14349 // Example: "0-3999" 14350 Slots *string `type:"string"` 14351} 14352 14353// String returns the string representation 14354func (s NodeGroupConfiguration) String() string { 14355 return awsutil.Prettify(s) 14356} 14357 14358// GoString returns the string representation 14359func (s NodeGroupConfiguration) GoString() string { 14360 return s.String() 14361} 14362 14363// Validate inspects the fields of the type to determine if they are valid. 14364func (s *NodeGroupConfiguration) Validate() error { 14365 invalidParams := request.ErrInvalidParams{Context: "NodeGroupConfiguration"} 14366 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 14367 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 14368 } 14369 14370 if invalidParams.Len() > 0 { 14371 return invalidParams 14372 } 14373 return nil 14374} 14375 14376// SetNodeGroupId sets the NodeGroupId field's value. 14377func (s *NodeGroupConfiguration) SetNodeGroupId(v string) *NodeGroupConfiguration { 14378 s.NodeGroupId = &v 14379 return s 14380} 14381 14382// SetPrimaryAvailabilityZone sets the PrimaryAvailabilityZone field's value. 14383func (s *NodeGroupConfiguration) SetPrimaryAvailabilityZone(v string) *NodeGroupConfiguration { 14384 s.PrimaryAvailabilityZone = &v 14385 return s 14386} 14387 14388// SetReplicaAvailabilityZones sets the ReplicaAvailabilityZones field's value. 14389func (s *NodeGroupConfiguration) SetReplicaAvailabilityZones(v []*string) *NodeGroupConfiguration { 14390 s.ReplicaAvailabilityZones = v 14391 return s 14392} 14393 14394// SetReplicaCount sets the ReplicaCount field's value. 14395func (s *NodeGroupConfiguration) SetReplicaCount(v int64) *NodeGroupConfiguration { 14396 s.ReplicaCount = &v 14397 return s 14398} 14399 14400// SetSlots sets the Slots field's value. 14401func (s *NodeGroupConfiguration) SetSlots(v string) *NodeGroupConfiguration { 14402 s.Slots = &v 14403 return s 14404} 14405 14406// Represents a single node within a node group (shard). 14407type NodeGroupMember struct { 14408 _ struct{} `type:"structure"` 14409 14410 // The ID of the cluster to which the node belongs. 14411 CacheClusterId *string `type:"string"` 14412 14413 // The ID of the node within its cluster. A node ID is a numeric identifier 14414 // (0001, 0002, etc.). 14415 CacheNodeId *string `type:"string"` 14416 14417 // The role that is currently assigned to the node - primary or replica. This 14418 // member is only applicable for Redis (cluster mode disabled) replication groups. 14419 CurrentRole *string `type:"string"` 14420 14421 // The name of the Availability Zone in which the node is located. 14422 PreferredAvailabilityZone *string `type:"string"` 14423 14424 // The information required for client programs to connect to a node for read 14425 // operations. The read endpoint is only applicable on Redis (cluster mode disabled) 14426 // clusters. 14427 ReadEndpoint *Endpoint `type:"structure"` 14428} 14429 14430// String returns the string representation 14431func (s NodeGroupMember) String() string { 14432 return awsutil.Prettify(s) 14433} 14434 14435// GoString returns the string representation 14436func (s NodeGroupMember) GoString() string { 14437 return s.String() 14438} 14439 14440// SetCacheClusterId sets the CacheClusterId field's value. 14441func (s *NodeGroupMember) SetCacheClusterId(v string) *NodeGroupMember { 14442 s.CacheClusterId = &v 14443 return s 14444} 14445 14446// SetCacheNodeId sets the CacheNodeId field's value. 14447func (s *NodeGroupMember) SetCacheNodeId(v string) *NodeGroupMember { 14448 s.CacheNodeId = &v 14449 return s 14450} 14451 14452// SetCurrentRole sets the CurrentRole field's value. 14453func (s *NodeGroupMember) SetCurrentRole(v string) *NodeGroupMember { 14454 s.CurrentRole = &v 14455 return s 14456} 14457 14458// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 14459func (s *NodeGroupMember) SetPreferredAvailabilityZone(v string) *NodeGroupMember { 14460 s.PreferredAvailabilityZone = &v 14461 return s 14462} 14463 14464// SetReadEndpoint sets the ReadEndpoint field's value. 14465func (s *NodeGroupMember) SetReadEndpoint(v *Endpoint) *NodeGroupMember { 14466 s.ReadEndpoint = v 14467 return s 14468} 14469 14470// The status of the service update on the node group member 14471type NodeGroupMemberUpdateStatus struct { 14472 _ struct{} `type:"structure"` 14473 14474 // The cache cluster ID 14475 CacheClusterId *string `type:"string"` 14476 14477 // The node ID of the cache cluster 14478 CacheNodeId *string `type:"string"` 14479 14480 // The deletion date of the node 14481 NodeDeletionDate *time.Time `type:"timestamp"` 14482 14483 // The end date of the update for a node 14484 NodeUpdateEndDate *time.Time `type:"timestamp"` 14485 14486 // Reflects whether the update was initiated by the customer or automatically 14487 // applied 14488 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 14489 14490 // The date when the update is triggered 14491 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 14492 14493 // The start date of the update for a node 14494 NodeUpdateStartDate *time.Time `type:"timestamp"` 14495 14496 // The update status of the node 14497 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 14498 14499 // The date when the NodeUpdateStatus was last modified 14500 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 14501} 14502 14503// String returns the string representation 14504func (s NodeGroupMemberUpdateStatus) String() string { 14505 return awsutil.Prettify(s) 14506} 14507 14508// GoString returns the string representation 14509func (s NodeGroupMemberUpdateStatus) GoString() string { 14510 return s.String() 14511} 14512 14513// SetCacheClusterId sets the CacheClusterId field's value. 14514func (s *NodeGroupMemberUpdateStatus) SetCacheClusterId(v string) *NodeGroupMemberUpdateStatus { 14515 s.CacheClusterId = &v 14516 return s 14517} 14518 14519// SetCacheNodeId sets the CacheNodeId field's value. 14520func (s *NodeGroupMemberUpdateStatus) SetCacheNodeId(v string) *NodeGroupMemberUpdateStatus { 14521 s.CacheNodeId = &v 14522 return s 14523} 14524 14525// SetNodeDeletionDate sets the NodeDeletionDate field's value. 14526func (s *NodeGroupMemberUpdateStatus) SetNodeDeletionDate(v time.Time) *NodeGroupMemberUpdateStatus { 14527 s.NodeDeletionDate = &v 14528 return s 14529} 14530 14531// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 14532func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateEndDate(v time.Time) *NodeGroupMemberUpdateStatus { 14533 s.NodeUpdateEndDate = &v 14534 return s 14535} 14536 14537// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 14538func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedBy(v string) *NodeGroupMemberUpdateStatus { 14539 s.NodeUpdateInitiatedBy = &v 14540 return s 14541} 14542 14543// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 14544func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *NodeGroupMemberUpdateStatus { 14545 s.NodeUpdateInitiatedDate = &v 14546 return s 14547} 14548 14549// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 14550func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStartDate(v time.Time) *NodeGroupMemberUpdateStatus { 14551 s.NodeUpdateStartDate = &v 14552 return s 14553} 14554 14555// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 14556func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatus(v string) *NodeGroupMemberUpdateStatus { 14557 s.NodeUpdateStatus = &v 14558 return s 14559} 14560 14561// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 14562func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *NodeGroupMemberUpdateStatus { 14563 s.NodeUpdateStatusModifiedDate = &v 14564 return s 14565} 14566 14567// The status of the service update on the node group 14568type NodeGroupUpdateStatus struct { 14569 _ struct{} `type:"structure"` 14570 14571 // The ID of the node group 14572 NodeGroupId *string `type:"string"` 14573 14574 // The status of the service update on the node group member 14575 NodeGroupMemberUpdateStatus []*NodeGroupMemberUpdateStatus `locationNameList:"NodeGroupMemberUpdateStatus" type:"list"` 14576} 14577 14578// String returns the string representation 14579func (s NodeGroupUpdateStatus) String() string { 14580 return awsutil.Prettify(s) 14581} 14582 14583// GoString returns the string representation 14584func (s NodeGroupUpdateStatus) GoString() string { 14585 return s.String() 14586} 14587 14588// SetNodeGroupId sets the NodeGroupId field's value. 14589func (s *NodeGroupUpdateStatus) SetNodeGroupId(v string) *NodeGroupUpdateStatus { 14590 s.NodeGroupId = &v 14591 return s 14592} 14593 14594// SetNodeGroupMemberUpdateStatus sets the NodeGroupMemberUpdateStatus field's value. 14595func (s *NodeGroupUpdateStatus) SetNodeGroupMemberUpdateStatus(v []*NodeGroupMemberUpdateStatus) *NodeGroupUpdateStatus { 14596 s.NodeGroupMemberUpdateStatus = v 14597 return s 14598} 14599 14600// Represents an individual cache node in a snapshot of a cluster. 14601type NodeSnapshot struct { 14602 _ struct{} `type:"structure"` 14603 14604 // A unique identifier for the source cluster. 14605 CacheClusterId *string `type:"string"` 14606 14607 // The date and time when the cache node was created in the source cluster. 14608 CacheNodeCreateTime *time.Time `type:"timestamp"` 14609 14610 // The cache node identifier for the node in the source cluster. 14611 CacheNodeId *string `type:"string"` 14612 14613 // The size of the cache on the source cache node. 14614 CacheSize *string `type:"string"` 14615 14616 // The configuration for the source node group (shard). 14617 NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` 14618 14619 // A unique identifier for the source node group (shard). 14620 NodeGroupId *string `type:"string"` 14621 14622 // The date and time when the source node's metadata and cache data set was 14623 // obtained for the snapshot. 14624 SnapshotCreateTime *time.Time `type:"timestamp"` 14625} 14626 14627// String returns the string representation 14628func (s NodeSnapshot) String() string { 14629 return awsutil.Prettify(s) 14630} 14631 14632// GoString returns the string representation 14633func (s NodeSnapshot) GoString() string { 14634 return s.String() 14635} 14636 14637// SetCacheClusterId sets the CacheClusterId field's value. 14638func (s *NodeSnapshot) SetCacheClusterId(v string) *NodeSnapshot { 14639 s.CacheClusterId = &v 14640 return s 14641} 14642 14643// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 14644func (s *NodeSnapshot) SetCacheNodeCreateTime(v time.Time) *NodeSnapshot { 14645 s.CacheNodeCreateTime = &v 14646 return s 14647} 14648 14649// SetCacheNodeId sets the CacheNodeId field's value. 14650func (s *NodeSnapshot) SetCacheNodeId(v string) *NodeSnapshot { 14651 s.CacheNodeId = &v 14652 return s 14653} 14654 14655// SetCacheSize sets the CacheSize field's value. 14656func (s *NodeSnapshot) SetCacheSize(v string) *NodeSnapshot { 14657 s.CacheSize = &v 14658 return s 14659} 14660 14661// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 14662func (s *NodeSnapshot) SetNodeGroupConfiguration(v *NodeGroupConfiguration) *NodeSnapshot { 14663 s.NodeGroupConfiguration = v 14664 return s 14665} 14666 14667// SetNodeGroupId sets the NodeGroupId field's value. 14668func (s *NodeSnapshot) SetNodeGroupId(v string) *NodeSnapshot { 14669 s.NodeGroupId = &v 14670 return s 14671} 14672 14673// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 14674func (s *NodeSnapshot) SetSnapshotCreateTime(v time.Time) *NodeSnapshot { 14675 s.SnapshotCreateTime = &v 14676 return s 14677} 14678 14679// Describes a notification topic and its status. Notification topics are used 14680// for publishing ElastiCache events to subscribers using Amazon Simple Notification 14681// Service (SNS). 14682type NotificationConfiguration struct { 14683 _ struct{} `type:"structure"` 14684 14685 // The Amazon Resource Name (ARN) that identifies the topic. 14686 TopicArn *string `type:"string"` 14687 14688 // The current state of the topic. 14689 TopicStatus *string `type:"string"` 14690} 14691 14692// String returns the string representation 14693func (s NotificationConfiguration) String() string { 14694 return awsutil.Prettify(s) 14695} 14696 14697// GoString returns the string representation 14698func (s NotificationConfiguration) GoString() string { 14699 return s.String() 14700} 14701 14702// SetTopicArn sets the TopicArn field's value. 14703func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { 14704 s.TopicArn = &v 14705 return s 14706} 14707 14708// SetTopicStatus sets the TopicStatus field's value. 14709func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { 14710 s.TopicStatus = &v 14711 return s 14712} 14713 14714// Describes an individual setting that controls some aspect of ElastiCache 14715// behavior. 14716type Parameter struct { 14717 _ struct{} `type:"structure"` 14718 14719 // The valid range of values for the parameter. 14720 AllowedValues *string `type:"string"` 14721 14722 // Indicates whether a change to the parameter is applied immediately or requires 14723 // a reboot for the change to be applied. You can force a reboot or wait until 14724 // the next maintenance window's reboot. For more information, see Rebooting 14725 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 14726 ChangeType *string `type:"string" enum:"ChangeType"` 14727 14728 // The valid data type for the parameter. 14729 DataType *string `type:"string"` 14730 14731 // A description of the parameter. 14732 Description *string `type:"string"` 14733 14734 // Indicates whether (true) or not (false) the parameter can be modified. Some 14735 // parameters have security or operational implications that prevent them from 14736 // being changed. 14737 IsModifiable *bool `type:"boolean"` 14738 14739 // The earliest cache engine version to which the parameter can apply. 14740 MinimumEngineVersion *string `type:"string"` 14741 14742 // The name of the parameter. 14743 ParameterName *string `type:"string"` 14744 14745 // The value of the parameter. 14746 ParameterValue *string `type:"string"` 14747 14748 // The source of the parameter. 14749 Source *string `type:"string"` 14750} 14751 14752// String returns the string representation 14753func (s Parameter) String() string { 14754 return awsutil.Prettify(s) 14755} 14756 14757// GoString returns the string representation 14758func (s Parameter) GoString() string { 14759 return s.String() 14760} 14761 14762// SetAllowedValues sets the AllowedValues field's value. 14763func (s *Parameter) SetAllowedValues(v string) *Parameter { 14764 s.AllowedValues = &v 14765 return s 14766} 14767 14768// SetChangeType sets the ChangeType field's value. 14769func (s *Parameter) SetChangeType(v string) *Parameter { 14770 s.ChangeType = &v 14771 return s 14772} 14773 14774// SetDataType sets the DataType field's value. 14775func (s *Parameter) SetDataType(v string) *Parameter { 14776 s.DataType = &v 14777 return s 14778} 14779 14780// SetDescription sets the Description field's value. 14781func (s *Parameter) SetDescription(v string) *Parameter { 14782 s.Description = &v 14783 return s 14784} 14785 14786// SetIsModifiable sets the IsModifiable field's value. 14787func (s *Parameter) SetIsModifiable(v bool) *Parameter { 14788 s.IsModifiable = &v 14789 return s 14790} 14791 14792// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 14793func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 14794 s.MinimumEngineVersion = &v 14795 return s 14796} 14797 14798// SetParameterName sets the ParameterName field's value. 14799func (s *Parameter) SetParameterName(v string) *Parameter { 14800 s.ParameterName = &v 14801 return s 14802} 14803 14804// SetParameterValue sets the ParameterValue field's value. 14805func (s *Parameter) SetParameterValue(v string) *Parameter { 14806 s.ParameterValue = &v 14807 return s 14808} 14809 14810// SetSource sets the Source field's value. 14811func (s *Parameter) SetSource(v string) *Parameter { 14812 s.Source = &v 14813 return s 14814} 14815 14816// Describes a name-value pair that is used to update the value of a parameter. 14817type ParameterNameValue struct { 14818 _ struct{} `type:"structure"` 14819 14820 // The name of the parameter. 14821 ParameterName *string `type:"string"` 14822 14823 // The value of the parameter. 14824 ParameterValue *string `type:"string"` 14825} 14826 14827// String returns the string representation 14828func (s ParameterNameValue) String() string { 14829 return awsutil.Prettify(s) 14830} 14831 14832// GoString returns the string representation 14833func (s ParameterNameValue) GoString() string { 14834 return s.String() 14835} 14836 14837// SetParameterName sets the ParameterName field's value. 14838func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { 14839 s.ParameterName = &v 14840 return s 14841} 14842 14843// SetParameterValue sets the ParameterValue field's value. 14844func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { 14845 s.ParameterValue = &v 14846 return s 14847} 14848 14849// A group of settings that are applied to the cluster in the future, or that 14850// are currently being applied. 14851type PendingModifiedValues struct { 14852 _ struct{} `type:"structure"` 14853 14854 // The auth token status 14855 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 14856 14857 // A list of cache node IDs that are being removed (or will be removed) from 14858 // the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.). 14859 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 14860 14861 // The cache node type that this cluster or replication group is scaled to. 14862 CacheNodeType *string `type:"string"` 14863 14864 // The new cache engine version that the cluster runs. 14865 EngineVersion *string `type:"string"` 14866 14867 // The new number of cache nodes for the cluster. 14868 // 14869 // For clusters running Redis, this value must be 1. For clusters running Memcached, 14870 // this value must be between 1 and 20. 14871 NumCacheNodes *int64 `type:"integer"` 14872} 14873 14874// String returns the string representation 14875func (s PendingModifiedValues) String() string { 14876 return awsutil.Prettify(s) 14877} 14878 14879// GoString returns the string representation 14880func (s PendingModifiedValues) GoString() string { 14881 return s.String() 14882} 14883 14884// SetAuthTokenStatus sets the AuthTokenStatus field's value. 14885func (s *PendingModifiedValues) SetAuthTokenStatus(v string) *PendingModifiedValues { 14886 s.AuthTokenStatus = &v 14887 return s 14888} 14889 14890// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 14891func (s *PendingModifiedValues) SetCacheNodeIdsToRemove(v []*string) *PendingModifiedValues { 14892 s.CacheNodeIdsToRemove = v 14893 return s 14894} 14895 14896// SetCacheNodeType sets the CacheNodeType field's value. 14897func (s *PendingModifiedValues) SetCacheNodeType(v string) *PendingModifiedValues { 14898 s.CacheNodeType = &v 14899 return s 14900} 14901 14902// SetEngineVersion sets the EngineVersion field's value. 14903func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { 14904 s.EngineVersion = &v 14905 return s 14906} 14907 14908// SetNumCacheNodes sets the NumCacheNodes field's value. 14909func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues { 14910 s.NumCacheNodes = &v 14911 return s 14912} 14913 14914// Update action that has been processed for the corresponding apply/stop request 14915type ProcessedUpdateAction struct { 14916 _ struct{} `type:"structure"` 14917 14918 // The ID of the cache cluster 14919 CacheClusterId *string `type:"string"` 14920 14921 // The ID of the replication group 14922 ReplicationGroupId *string `type:"string"` 14923 14924 // The unique ID of the service update 14925 ServiceUpdateName *string `type:"string"` 14926 14927 // The status of the update action on the Redis cluster 14928 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 14929} 14930 14931// String returns the string representation 14932func (s ProcessedUpdateAction) String() string { 14933 return awsutil.Prettify(s) 14934} 14935 14936// GoString returns the string representation 14937func (s ProcessedUpdateAction) GoString() string { 14938 return s.String() 14939} 14940 14941// SetCacheClusterId sets the CacheClusterId field's value. 14942func (s *ProcessedUpdateAction) SetCacheClusterId(v string) *ProcessedUpdateAction { 14943 s.CacheClusterId = &v 14944 return s 14945} 14946 14947// SetReplicationGroupId sets the ReplicationGroupId field's value. 14948func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { 14949 s.ReplicationGroupId = &v 14950 return s 14951} 14952 14953// SetServiceUpdateName sets the ServiceUpdateName field's value. 14954func (s *ProcessedUpdateAction) SetServiceUpdateName(v string) *ProcessedUpdateAction { 14955 s.ServiceUpdateName = &v 14956 return s 14957} 14958 14959// SetUpdateActionStatus sets the UpdateActionStatus field's value. 14960func (s *ProcessedUpdateAction) SetUpdateActionStatus(v string) *ProcessedUpdateAction { 14961 s.UpdateActionStatus = &v 14962 return s 14963} 14964 14965// Represents the input of a PurchaseReservedCacheNodesOffering operation. 14966type PurchaseReservedCacheNodesOfferingInput struct { 14967 _ struct{} `type:"structure"` 14968 14969 // The number of cache node instances to reserve. 14970 // 14971 // Default: 1 14972 CacheNodeCount *int64 `type:"integer"` 14973 14974 // A customer-specified identifier to track this reservation. 14975 // 14976 // The Reserved Cache Node ID is an unique customer-specified identifier to 14977 // track this reservation. If this parameter is not specified, ElastiCache automatically 14978 // generates an identifier for the reservation. 14979 // 14980 // Example: myreservationID 14981 ReservedCacheNodeId *string `type:"string"` 14982 14983 // The ID of the reserved cache node offering to purchase. 14984 // 14985 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 14986 // 14987 // ReservedCacheNodesOfferingId is a required field 14988 ReservedCacheNodesOfferingId *string `type:"string" required:"true"` 14989} 14990 14991// String returns the string representation 14992func (s PurchaseReservedCacheNodesOfferingInput) String() string { 14993 return awsutil.Prettify(s) 14994} 14995 14996// GoString returns the string representation 14997func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { 14998 return s.String() 14999} 15000 15001// Validate inspects the fields of the type to determine if they are valid. 15002func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { 15003 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} 15004 if s.ReservedCacheNodesOfferingId == nil { 15005 invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) 15006 } 15007 15008 if invalidParams.Len() > 0 { 15009 return invalidParams 15010 } 15011 return nil 15012} 15013 15014// SetCacheNodeCount sets the CacheNodeCount field's value. 15015func (s *PurchaseReservedCacheNodesOfferingInput) SetCacheNodeCount(v int64) *PurchaseReservedCacheNodesOfferingInput { 15016 s.CacheNodeCount = &v 15017 return s 15018} 15019 15020// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 15021func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodeId(v string) *PurchaseReservedCacheNodesOfferingInput { 15022 s.ReservedCacheNodeId = &v 15023 return s 15024} 15025 15026// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 15027func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodesOfferingId(v string) *PurchaseReservedCacheNodesOfferingInput { 15028 s.ReservedCacheNodesOfferingId = &v 15029 return s 15030} 15031 15032type PurchaseReservedCacheNodesOfferingOutput struct { 15033 _ struct{} `type:"structure"` 15034 15035 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 15036 ReservedCacheNode *ReservedCacheNode `type:"structure"` 15037} 15038 15039// String returns the string representation 15040func (s PurchaseReservedCacheNodesOfferingOutput) String() string { 15041 return awsutil.Prettify(s) 15042} 15043 15044// GoString returns the string representation 15045func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { 15046 return s.String() 15047} 15048 15049// SetReservedCacheNode sets the ReservedCacheNode field's value. 15050func (s *PurchaseReservedCacheNodesOfferingOutput) SetReservedCacheNode(v *ReservedCacheNode) *PurchaseReservedCacheNodesOfferingOutput { 15051 s.ReservedCacheNode = v 15052 return s 15053} 15054 15055type RebalanceSlotsInGlobalReplicationGroupInput struct { 15056 _ struct{} `type:"structure"` 15057 15058 // If True, redistribution is applied immediately. 15059 // 15060 // ApplyImmediately is a required field 15061 ApplyImmediately *bool `type:"boolean" required:"true"` 15062 15063 // The name of the Global Datastore 15064 // 15065 // GlobalReplicationGroupId is a required field 15066 GlobalReplicationGroupId *string `type:"string" required:"true"` 15067} 15068 15069// String returns the string representation 15070func (s RebalanceSlotsInGlobalReplicationGroupInput) String() string { 15071 return awsutil.Prettify(s) 15072} 15073 15074// GoString returns the string representation 15075func (s RebalanceSlotsInGlobalReplicationGroupInput) GoString() string { 15076 return s.String() 15077} 15078 15079// Validate inspects the fields of the type to determine if they are valid. 15080func (s *RebalanceSlotsInGlobalReplicationGroupInput) Validate() error { 15081 invalidParams := request.ErrInvalidParams{Context: "RebalanceSlotsInGlobalReplicationGroupInput"} 15082 if s.ApplyImmediately == nil { 15083 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 15084 } 15085 if s.GlobalReplicationGroupId == nil { 15086 invalidParams.Add(request.NewErrParamRequired("GlobalReplicationGroupId")) 15087 } 15088 15089 if invalidParams.Len() > 0 { 15090 return invalidParams 15091 } 15092 return nil 15093} 15094 15095// SetApplyImmediately sets the ApplyImmediately field's value. 15096func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetApplyImmediately(v bool) *RebalanceSlotsInGlobalReplicationGroupInput { 15097 s.ApplyImmediately = &v 15098 return s 15099} 15100 15101// SetGlobalReplicationGroupId sets the GlobalReplicationGroupId field's value. 15102func (s *RebalanceSlotsInGlobalReplicationGroupInput) SetGlobalReplicationGroupId(v string) *RebalanceSlotsInGlobalReplicationGroupInput { 15103 s.GlobalReplicationGroupId = &v 15104 return s 15105} 15106 15107type RebalanceSlotsInGlobalReplicationGroupOutput struct { 15108 _ struct{} `type:"structure"` 15109 15110 // Consists of a primary cluster that accepts writes and an associated secondary 15111 // cluster that resides in a different AWS region. The secondary cluster accepts 15112 // only reads. The primary cluster automatically replicates updates to the secondary 15113 // cluster. 15114 // 15115 // * The GlobalReplicationGroupIdSuffix represents the name of the Global 15116 // Datastore, which is what you use to associate a secondary cluster. 15117 GlobalReplicationGroup *GlobalReplicationGroup `type:"structure"` 15118} 15119 15120// String returns the string representation 15121func (s RebalanceSlotsInGlobalReplicationGroupOutput) String() string { 15122 return awsutil.Prettify(s) 15123} 15124 15125// GoString returns the string representation 15126func (s RebalanceSlotsInGlobalReplicationGroupOutput) GoString() string { 15127 return s.String() 15128} 15129 15130// SetGlobalReplicationGroup sets the GlobalReplicationGroup field's value. 15131func (s *RebalanceSlotsInGlobalReplicationGroupOutput) SetGlobalReplicationGroup(v *GlobalReplicationGroup) *RebalanceSlotsInGlobalReplicationGroupOutput { 15132 s.GlobalReplicationGroup = v 15133 return s 15134} 15135 15136// Represents the input of a RebootCacheCluster operation. 15137type RebootCacheClusterInput struct { 15138 _ struct{} `type:"structure"` 15139 15140 // The cluster identifier. This parameter is stored as a lowercase string. 15141 // 15142 // CacheClusterId is a required field 15143 CacheClusterId *string `type:"string" required:"true"` 15144 15145 // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 15146 // 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs. 15147 // 15148 // CacheNodeIdsToReboot is a required field 15149 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` 15150} 15151 15152// String returns the string representation 15153func (s RebootCacheClusterInput) String() string { 15154 return awsutil.Prettify(s) 15155} 15156 15157// GoString returns the string representation 15158func (s RebootCacheClusterInput) GoString() string { 15159 return s.String() 15160} 15161 15162// Validate inspects the fields of the type to determine if they are valid. 15163func (s *RebootCacheClusterInput) Validate() error { 15164 invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} 15165 if s.CacheClusterId == nil { 15166 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 15167 } 15168 if s.CacheNodeIdsToReboot == nil { 15169 invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) 15170 } 15171 15172 if invalidParams.Len() > 0 { 15173 return invalidParams 15174 } 15175 return nil 15176} 15177 15178// SetCacheClusterId sets the CacheClusterId field's value. 15179func (s *RebootCacheClusterInput) SetCacheClusterId(v string) *RebootCacheClusterInput { 15180 s.CacheClusterId = &v 15181 return s 15182} 15183 15184// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 15185func (s *RebootCacheClusterInput) SetCacheNodeIdsToReboot(v []*string) *RebootCacheClusterInput { 15186 s.CacheNodeIdsToReboot = v 15187 return s 15188} 15189 15190type RebootCacheClusterOutput struct { 15191 _ struct{} `type:"structure"` 15192 15193 // Contains all of the attributes of a specific cluster. 15194 CacheCluster *CacheCluster `type:"structure"` 15195} 15196 15197// String returns the string representation 15198func (s RebootCacheClusterOutput) String() string { 15199 return awsutil.Prettify(s) 15200} 15201 15202// GoString returns the string representation 15203func (s RebootCacheClusterOutput) GoString() string { 15204 return s.String() 15205} 15206 15207// SetCacheCluster sets the CacheCluster field's value. 15208func (s *RebootCacheClusterOutput) SetCacheCluster(v *CacheCluster) *RebootCacheClusterOutput { 15209 s.CacheCluster = v 15210 return s 15211} 15212 15213// Contains the specific price and frequency of a recurring charges for a reserved 15214// cache node, or for a reserved cache node offering. 15215type RecurringCharge struct { 15216 _ struct{} `type:"structure"` 15217 15218 // The monetary amount of the recurring charge. 15219 RecurringChargeAmount *float64 `type:"double"` 15220 15221 // The frequency of the recurring charge. 15222 RecurringChargeFrequency *string `type:"string"` 15223} 15224 15225// String returns the string representation 15226func (s RecurringCharge) String() string { 15227 return awsutil.Prettify(s) 15228} 15229 15230// GoString returns the string representation 15231func (s RecurringCharge) GoString() string { 15232 return s.String() 15233} 15234 15235// SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 15236func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 15237 s.RecurringChargeAmount = &v 15238 return s 15239} 15240 15241// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 15242func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 15243 s.RecurringChargeFrequency = &v 15244 return s 15245} 15246 15247// A list of the replication groups 15248type RegionalConfiguration struct { 15249 _ struct{} `type:"structure"` 15250 15251 // The name of the secondary cluster 15252 // 15253 // ReplicationGroupId is a required field 15254 ReplicationGroupId *string `type:"string" required:"true"` 15255 15256 // The AWS region where the cluster is stored 15257 // 15258 // ReplicationGroupRegion is a required field 15259 ReplicationGroupRegion *string `type:"string" required:"true"` 15260 15261 // A list of PreferredAvailabilityZones objects that specifies the configuration 15262 // of a node group in the resharded cluster. 15263 // 15264 // ReshardingConfiguration is a required field 15265 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list" required:"true"` 15266} 15267 15268// String returns the string representation 15269func (s RegionalConfiguration) String() string { 15270 return awsutil.Prettify(s) 15271} 15272 15273// GoString returns the string representation 15274func (s RegionalConfiguration) GoString() string { 15275 return s.String() 15276} 15277 15278// Validate inspects the fields of the type to determine if they are valid. 15279func (s *RegionalConfiguration) Validate() error { 15280 invalidParams := request.ErrInvalidParams{Context: "RegionalConfiguration"} 15281 if s.ReplicationGroupId == nil { 15282 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 15283 } 15284 if s.ReplicationGroupRegion == nil { 15285 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupRegion")) 15286 } 15287 if s.ReshardingConfiguration == nil { 15288 invalidParams.Add(request.NewErrParamRequired("ReshardingConfiguration")) 15289 } 15290 if s.ReshardingConfiguration != nil { 15291 for i, v := range s.ReshardingConfiguration { 15292 if v == nil { 15293 continue 15294 } 15295 if err := v.Validate(); err != nil { 15296 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 15297 } 15298 } 15299 } 15300 15301 if invalidParams.Len() > 0 { 15302 return invalidParams 15303 } 15304 return nil 15305} 15306 15307// SetReplicationGroupId sets the ReplicationGroupId field's value. 15308func (s *RegionalConfiguration) SetReplicationGroupId(v string) *RegionalConfiguration { 15309 s.ReplicationGroupId = &v 15310 return s 15311} 15312 15313// SetReplicationGroupRegion sets the ReplicationGroupRegion field's value. 15314func (s *RegionalConfiguration) SetReplicationGroupRegion(v string) *RegionalConfiguration { 15315 s.ReplicationGroupRegion = &v 15316 return s 15317} 15318 15319// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 15320func (s *RegionalConfiguration) SetReshardingConfiguration(v []*ReshardingConfiguration) *RegionalConfiguration { 15321 s.ReshardingConfiguration = v 15322 return s 15323} 15324 15325// Represents the input of a RemoveTagsFromResource operation. 15326type RemoveTagsFromResourceInput struct { 15327 _ struct{} `type:"structure"` 15328 15329 // The Amazon Resource Name (ARN) of the resource from which you want the tags 15330 // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 15331 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 15332 // 15333 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 15334 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 15335 // 15336 // ResourceName is a required field 15337 ResourceName *string `type:"string" required:"true"` 15338 15339 // A list of TagKeys identifying the tags you want removed from the named resource. 15340 // 15341 // TagKeys is a required field 15342 TagKeys []*string `type:"list" required:"true"` 15343} 15344 15345// String returns the string representation 15346func (s RemoveTagsFromResourceInput) String() string { 15347 return awsutil.Prettify(s) 15348} 15349 15350// GoString returns the string representation 15351func (s RemoveTagsFromResourceInput) GoString() string { 15352 return s.String() 15353} 15354 15355// Validate inspects the fields of the type to determine if they are valid. 15356func (s *RemoveTagsFromResourceInput) Validate() error { 15357 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} 15358 if s.ResourceName == nil { 15359 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 15360 } 15361 if s.TagKeys == nil { 15362 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 15363 } 15364 15365 if invalidParams.Len() > 0 { 15366 return invalidParams 15367 } 15368 return nil 15369} 15370 15371// SetResourceName sets the ResourceName field's value. 15372func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { 15373 s.ResourceName = &v 15374 return s 15375} 15376 15377// SetTagKeys sets the TagKeys field's value. 15378func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { 15379 s.TagKeys = v 15380 return s 15381} 15382 15383// Contains all of the attributes of a specific Redis replication group. 15384type ReplicationGroup struct { 15385 _ struct{} `type:"structure"` 15386 15387 // The ARN (Amazon Resource Name) of the replication group. 15388 ARN *string `type:"string"` 15389 15390 // A flag that enables encryption at-rest when set to true. 15391 // 15392 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 15393 // is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled 15394 // to true when you create a cluster. 15395 // 15396 // Required: Only available when creating a replication group in an Amazon VPC 15397 // using redis version 3.2.6, 4.x or later. 15398 // 15399 // Default: false 15400 AtRestEncryptionEnabled *bool `type:"boolean"` 15401 15402 // A flag that enables using an AuthToken (password) when issuing Redis commands. 15403 // 15404 // Default: false 15405 AuthTokenEnabled *bool `type:"boolean"` 15406 15407 // The date the auth token was last modified 15408 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 15409 15410 // Indicates the status of automatic failover for this Redis replication group. 15411 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 15412 15413 // The name of the compute and memory capacity node type for each node in the 15414 // replication group. 15415 CacheNodeType *string `type:"string"` 15416 15417 // A flag indicating whether or not this replication group is cluster enabled; 15418 // i.e., whether its data can be partitioned across multiple shards (API/CLI: 15419 // node groups). 15420 // 15421 // Valid values: true | false 15422 ClusterEnabled *bool `type:"boolean"` 15423 15424 // The configuration endpoint for this replication group. Use the configuration 15425 // endpoint to connect to this replication group. 15426 ConfigurationEndpoint *Endpoint `type:"structure"` 15427 15428 // The user supplied description of the replication group. 15429 Description *string `type:"string"` 15430 15431 // The name of the Global Datastore and role of this replication group in the 15432 // Global Datastore. 15433 GlobalReplicationGroupInfo *GlobalReplicationGroupInfo `type:"structure"` 15434 15435 // The ID of the KMS key used to encrypt the disk in the cluster. 15436 KmsKeyId *string `type:"string"` 15437 15438 // The names of all the cache clusters that are part of this replication group. 15439 MemberClusters []*string `locationNameList:"ClusterId" type:"list"` 15440 15441 // A flag indicating if you have Multi-AZ enabled to enhance fault tolerance. 15442 // For more information, see Minimizing Downtime: Multi-AZ (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html) 15443 MultiAZ *string `type:"string" enum:"MultiAZStatus"` 15444 15445 // A list of node groups in this replication group. For Redis (cluster mode 15446 // disabled) replication groups, this is a single-element list. For Redis (cluster 15447 // mode enabled) replication groups, the list contains an entry for each node 15448 // group (shard). 15449 NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"` 15450 15451 // A group of settings to be applied to the replication group, either immediately 15452 // or during the next maintenance window. 15453 PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"` 15454 15455 // The identifier for the replication group. 15456 ReplicationGroupId *string `type:"string"` 15457 15458 // The number of days for which ElastiCache retains automatic cluster snapshots 15459 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 15460 // a snapshot that was taken today is retained for 5 days before being deleted. 15461 // 15462 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 15463 // off. 15464 SnapshotRetentionLimit *int64 `type:"integer"` 15465 15466 // The daily time range (in UTC) during which ElastiCache begins taking a daily 15467 // snapshot of your node group (shard). 15468 // 15469 // Example: 05:00-09:00 15470 // 15471 // If you do not specify this parameter, ElastiCache automatically chooses an 15472 // appropriate time range. 15473 // 15474 // This parameter is only valid if the Engine parameter is redis. 15475 SnapshotWindow *string `type:"string"` 15476 15477 // The cluster ID that is used as the daily snapshot source for the replication 15478 // group. 15479 SnapshottingClusterId *string `type:"string"` 15480 15481 // The current state of this replication group - creating, available, modifying, 15482 // deleting, create-failed, snapshotting. 15483 Status *string `type:"string"` 15484 15485 // A flag that enables in-transit encryption when set to true. 15486 // 15487 // You cannot modify the value of TransitEncryptionEnabled after the cluster 15488 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 15489 // to true when you create a cluster. 15490 // 15491 // Required: Only available when creating a replication group in an Amazon VPC 15492 // using redis version 3.2.6, 4.x or later. 15493 // 15494 // Default: false 15495 TransitEncryptionEnabled *bool `type:"boolean"` 15496} 15497 15498// String returns the string representation 15499func (s ReplicationGroup) String() string { 15500 return awsutil.Prettify(s) 15501} 15502 15503// GoString returns the string representation 15504func (s ReplicationGroup) GoString() string { 15505 return s.String() 15506} 15507 15508// SetARN sets the ARN field's value. 15509func (s *ReplicationGroup) SetARN(v string) *ReplicationGroup { 15510 s.ARN = &v 15511 return s 15512} 15513 15514// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 15515func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { 15516 s.AtRestEncryptionEnabled = &v 15517 return s 15518} 15519 15520// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 15521func (s *ReplicationGroup) SetAuthTokenEnabled(v bool) *ReplicationGroup { 15522 s.AuthTokenEnabled = &v 15523 return s 15524} 15525 15526// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 15527func (s *ReplicationGroup) SetAuthTokenLastModifiedDate(v time.Time) *ReplicationGroup { 15528 s.AuthTokenLastModifiedDate = &v 15529 return s 15530} 15531 15532// SetAutomaticFailover sets the AutomaticFailover field's value. 15533func (s *ReplicationGroup) SetAutomaticFailover(v string) *ReplicationGroup { 15534 s.AutomaticFailover = &v 15535 return s 15536} 15537 15538// SetCacheNodeType sets the CacheNodeType field's value. 15539func (s *ReplicationGroup) SetCacheNodeType(v string) *ReplicationGroup { 15540 s.CacheNodeType = &v 15541 return s 15542} 15543 15544// SetClusterEnabled sets the ClusterEnabled field's value. 15545func (s *ReplicationGroup) SetClusterEnabled(v bool) *ReplicationGroup { 15546 s.ClusterEnabled = &v 15547 return s 15548} 15549 15550// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 15551func (s *ReplicationGroup) SetConfigurationEndpoint(v *Endpoint) *ReplicationGroup { 15552 s.ConfigurationEndpoint = v 15553 return s 15554} 15555 15556// SetDescription sets the Description field's value. 15557func (s *ReplicationGroup) SetDescription(v string) *ReplicationGroup { 15558 s.Description = &v 15559 return s 15560} 15561 15562// SetGlobalReplicationGroupInfo sets the GlobalReplicationGroupInfo field's value. 15563func (s *ReplicationGroup) SetGlobalReplicationGroupInfo(v *GlobalReplicationGroupInfo) *ReplicationGroup { 15564 s.GlobalReplicationGroupInfo = v 15565 return s 15566} 15567 15568// SetKmsKeyId sets the KmsKeyId field's value. 15569func (s *ReplicationGroup) SetKmsKeyId(v string) *ReplicationGroup { 15570 s.KmsKeyId = &v 15571 return s 15572} 15573 15574// SetMemberClusters sets the MemberClusters field's value. 15575func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { 15576 s.MemberClusters = v 15577 return s 15578} 15579 15580// SetMultiAZ sets the MultiAZ field's value. 15581func (s *ReplicationGroup) SetMultiAZ(v string) *ReplicationGroup { 15582 s.MultiAZ = &v 15583 return s 15584} 15585 15586// SetNodeGroups sets the NodeGroups field's value. 15587func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { 15588 s.NodeGroups = v 15589 return s 15590} 15591 15592// SetPendingModifiedValues sets the PendingModifiedValues field's value. 15593func (s *ReplicationGroup) SetPendingModifiedValues(v *ReplicationGroupPendingModifiedValues) *ReplicationGroup { 15594 s.PendingModifiedValues = v 15595 return s 15596} 15597 15598// SetReplicationGroupId sets the ReplicationGroupId field's value. 15599func (s *ReplicationGroup) SetReplicationGroupId(v string) *ReplicationGroup { 15600 s.ReplicationGroupId = &v 15601 return s 15602} 15603 15604// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 15605func (s *ReplicationGroup) SetSnapshotRetentionLimit(v int64) *ReplicationGroup { 15606 s.SnapshotRetentionLimit = &v 15607 return s 15608} 15609 15610// SetSnapshotWindow sets the SnapshotWindow field's value. 15611func (s *ReplicationGroup) SetSnapshotWindow(v string) *ReplicationGroup { 15612 s.SnapshotWindow = &v 15613 return s 15614} 15615 15616// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 15617func (s *ReplicationGroup) SetSnapshottingClusterId(v string) *ReplicationGroup { 15618 s.SnapshottingClusterId = &v 15619 return s 15620} 15621 15622// SetStatus sets the Status field's value. 15623func (s *ReplicationGroup) SetStatus(v string) *ReplicationGroup { 15624 s.Status = &v 15625 return s 15626} 15627 15628// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 15629func (s *ReplicationGroup) SetTransitEncryptionEnabled(v bool) *ReplicationGroup { 15630 s.TransitEncryptionEnabled = &v 15631 return s 15632} 15633 15634// The settings to be applied to the Redis replication group, either immediately 15635// or during the next maintenance window. 15636type ReplicationGroupPendingModifiedValues struct { 15637 _ struct{} `type:"structure"` 15638 15639 // The auth token status 15640 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 15641 15642 // Indicates the status of automatic failover for this Redis replication group. 15643 AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` 15644 15645 // The primary cluster ID that is applied immediately (if --apply-immediately 15646 // was specified), or during the next maintenance window. 15647 PrimaryClusterId *string `type:"string"` 15648 15649 // The status of an online resharding operation. 15650 Resharding *ReshardingStatus `type:"structure"` 15651} 15652 15653// String returns the string representation 15654func (s ReplicationGroupPendingModifiedValues) String() string { 15655 return awsutil.Prettify(s) 15656} 15657 15658// GoString returns the string representation 15659func (s ReplicationGroupPendingModifiedValues) GoString() string { 15660 return s.String() 15661} 15662 15663// SetAuthTokenStatus sets the AuthTokenStatus field's value. 15664func (s *ReplicationGroupPendingModifiedValues) SetAuthTokenStatus(v string) *ReplicationGroupPendingModifiedValues { 15665 s.AuthTokenStatus = &v 15666 return s 15667} 15668 15669// SetAutomaticFailoverStatus sets the AutomaticFailoverStatus field's value. 15670func (s *ReplicationGroupPendingModifiedValues) SetAutomaticFailoverStatus(v string) *ReplicationGroupPendingModifiedValues { 15671 s.AutomaticFailoverStatus = &v 15672 return s 15673} 15674 15675// SetPrimaryClusterId sets the PrimaryClusterId field's value. 15676func (s *ReplicationGroupPendingModifiedValues) SetPrimaryClusterId(v string) *ReplicationGroupPendingModifiedValues { 15677 s.PrimaryClusterId = &v 15678 return s 15679} 15680 15681// SetResharding sets the Resharding field's value. 15682func (s *ReplicationGroupPendingModifiedValues) SetResharding(v *ReshardingStatus) *ReplicationGroupPendingModifiedValues { 15683 s.Resharding = v 15684 return s 15685} 15686 15687// Represents the output of a PurchaseReservedCacheNodesOffering operation. 15688type ReservedCacheNode struct { 15689 _ struct{} `type:"structure"` 15690 15691 // The number of cache nodes that have been reserved. 15692 CacheNodeCount *int64 `type:"integer"` 15693 15694 // The cache node type for the reserved cache nodes. 15695 // 15696 // The following node types are supported by ElastiCache. Generally speaking, 15697 // the current generation types provide more memory and computational power 15698 // at lower cost when compared to their equivalent previous generation counterparts. 15699 // 15700 // * General purpose: Current generation: M5 node types: cache.m5.large, 15701 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 15702 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 15703 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 15704 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 15705 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 15706 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 15707 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 15708 // 15709 // * Compute optimized: Previous generation: (not recommended) C1 node types: 15710 // cache.c1.xlarge 15711 // 15712 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 15713 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 15714 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 15715 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 15716 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 15717 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 15718 // cache.r3.8xlarge 15719 // 15720 // Additional node type info 15721 // 15722 // * All current generation instance types are created in Amazon VPC by default. 15723 // 15724 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 15725 // 15726 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 15727 // 15728 // * Redis configuration variables appendonly and appendfsync are not supported 15729 // on Redis version 2.8.22 and later. 15730 CacheNodeType *string `type:"string"` 15731 15732 // The duration of the reservation in seconds. 15733 Duration *int64 `type:"integer"` 15734 15735 // The fixed price charged for this reserved cache node. 15736 FixedPrice *float64 `type:"double"` 15737 15738 // The offering type of this reserved cache node. 15739 OfferingType *string `type:"string"` 15740 15741 // The description of the reserved cache node. 15742 ProductDescription *string `type:"string"` 15743 15744 // The recurring price charged to run this reserved cache node. 15745 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 15746 15747 // The Amazon Resource Name (ARN) of the reserved cache node. 15748 // 15749 // Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582 15750 ReservationARN *string `type:"string"` 15751 15752 // The unique identifier for the reservation. 15753 ReservedCacheNodeId *string `type:"string"` 15754 15755 // The offering identifier. 15756 ReservedCacheNodesOfferingId *string `type:"string"` 15757 15758 // The time the reservation started. 15759 StartTime *time.Time `type:"timestamp"` 15760 15761 // The state of the reserved cache node. 15762 State *string `type:"string"` 15763 15764 // The hourly price charged for this reserved cache node. 15765 UsagePrice *float64 `type:"double"` 15766} 15767 15768// String returns the string representation 15769func (s ReservedCacheNode) String() string { 15770 return awsutil.Prettify(s) 15771} 15772 15773// GoString returns the string representation 15774func (s ReservedCacheNode) GoString() string { 15775 return s.String() 15776} 15777 15778// SetCacheNodeCount sets the CacheNodeCount field's value. 15779func (s *ReservedCacheNode) SetCacheNodeCount(v int64) *ReservedCacheNode { 15780 s.CacheNodeCount = &v 15781 return s 15782} 15783 15784// SetCacheNodeType sets the CacheNodeType field's value. 15785func (s *ReservedCacheNode) SetCacheNodeType(v string) *ReservedCacheNode { 15786 s.CacheNodeType = &v 15787 return s 15788} 15789 15790// SetDuration sets the Duration field's value. 15791func (s *ReservedCacheNode) SetDuration(v int64) *ReservedCacheNode { 15792 s.Duration = &v 15793 return s 15794} 15795 15796// SetFixedPrice sets the FixedPrice field's value. 15797func (s *ReservedCacheNode) SetFixedPrice(v float64) *ReservedCacheNode { 15798 s.FixedPrice = &v 15799 return s 15800} 15801 15802// SetOfferingType sets the OfferingType field's value. 15803func (s *ReservedCacheNode) SetOfferingType(v string) *ReservedCacheNode { 15804 s.OfferingType = &v 15805 return s 15806} 15807 15808// SetProductDescription sets the ProductDescription field's value. 15809func (s *ReservedCacheNode) SetProductDescription(v string) *ReservedCacheNode { 15810 s.ProductDescription = &v 15811 return s 15812} 15813 15814// SetRecurringCharges sets the RecurringCharges field's value. 15815func (s *ReservedCacheNode) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNode { 15816 s.RecurringCharges = v 15817 return s 15818} 15819 15820// SetReservationARN sets the ReservationARN field's value. 15821func (s *ReservedCacheNode) SetReservationARN(v string) *ReservedCacheNode { 15822 s.ReservationARN = &v 15823 return s 15824} 15825 15826// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 15827func (s *ReservedCacheNode) SetReservedCacheNodeId(v string) *ReservedCacheNode { 15828 s.ReservedCacheNodeId = &v 15829 return s 15830} 15831 15832// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 15833func (s *ReservedCacheNode) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNode { 15834 s.ReservedCacheNodesOfferingId = &v 15835 return s 15836} 15837 15838// SetStartTime sets the StartTime field's value. 15839func (s *ReservedCacheNode) SetStartTime(v time.Time) *ReservedCacheNode { 15840 s.StartTime = &v 15841 return s 15842} 15843 15844// SetState sets the State field's value. 15845func (s *ReservedCacheNode) SetState(v string) *ReservedCacheNode { 15846 s.State = &v 15847 return s 15848} 15849 15850// SetUsagePrice sets the UsagePrice field's value. 15851func (s *ReservedCacheNode) SetUsagePrice(v float64) *ReservedCacheNode { 15852 s.UsagePrice = &v 15853 return s 15854} 15855 15856// Describes all of the attributes of a reserved cache node offering. 15857type ReservedCacheNodesOffering struct { 15858 _ struct{} `type:"structure"` 15859 15860 // The cache node type for the reserved cache node. 15861 // 15862 // The following node types are supported by ElastiCache. Generally speaking, 15863 // the current generation types provide more memory and computational power 15864 // at lower cost when compared to their equivalent previous generation counterparts. 15865 // 15866 // * General purpose: Current generation: M5 node types: cache.m5.large, 15867 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 15868 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 15869 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 15870 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 15871 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 15872 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 15873 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 15874 // 15875 // * Compute optimized: Previous generation: (not recommended) C1 node types: 15876 // cache.c1.xlarge 15877 // 15878 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 15879 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 15880 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 15881 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 15882 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 15883 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 15884 // cache.r3.8xlarge 15885 // 15886 // Additional node type info 15887 // 15888 // * All current generation instance types are created in Amazon VPC by default. 15889 // 15890 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 15891 // 15892 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 15893 // 15894 // * Redis configuration variables appendonly and appendfsync are not supported 15895 // on Redis version 2.8.22 and later. 15896 CacheNodeType *string `type:"string"` 15897 15898 // The duration of the offering. in seconds. 15899 Duration *int64 `type:"integer"` 15900 15901 // The fixed price charged for this offering. 15902 FixedPrice *float64 `type:"double"` 15903 15904 // The offering type. 15905 OfferingType *string `type:"string"` 15906 15907 // The cache engine used by the offering. 15908 ProductDescription *string `type:"string"` 15909 15910 // The recurring price charged to run this reserved cache node. 15911 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 15912 15913 // A unique identifier for the reserved cache node offering. 15914 ReservedCacheNodesOfferingId *string `type:"string"` 15915 15916 // The hourly price charged for this offering. 15917 UsagePrice *float64 `type:"double"` 15918} 15919 15920// String returns the string representation 15921func (s ReservedCacheNodesOffering) String() string { 15922 return awsutil.Prettify(s) 15923} 15924 15925// GoString returns the string representation 15926func (s ReservedCacheNodesOffering) GoString() string { 15927 return s.String() 15928} 15929 15930// SetCacheNodeType sets the CacheNodeType field's value. 15931func (s *ReservedCacheNodesOffering) SetCacheNodeType(v string) *ReservedCacheNodesOffering { 15932 s.CacheNodeType = &v 15933 return s 15934} 15935 15936// SetDuration sets the Duration field's value. 15937func (s *ReservedCacheNodesOffering) SetDuration(v int64) *ReservedCacheNodesOffering { 15938 s.Duration = &v 15939 return s 15940} 15941 15942// SetFixedPrice sets the FixedPrice field's value. 15943func (s *ReservedCacheNodesOffering) SetFixedPrice(v float64) *ReservedCacheNodesOffering { 15944 s.FixedPrice = &v 15945 return s 15946} 15947 15948// SetOfferingType sets the OfferingType field's value. 15949func (s *ReservedCacheNodesOffering) SetOfferingType(v string) *ReservedCacheNodesOffering { 15950 s.OfferingType = &v 15951 return s 15952} 15953 15954// SetProductDescription sets the ProductDescription field's value. 15955func (s *ReservedCacheNodesOffering) SetProductDescription(v string) *ReservedCacheNodesOffering { 15956 s.ProductDescription = &v 15957 return s 15958} 15959 15960// SetRecurringCharges sets the RecurringCharges field's value. 15961func (s *ReservedCacheNodesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNodesOffering { 15962 s.RecurringCharges = v 15963 return s 15964} 15965 15966// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 15967func (s *ReservedCacheNodesOffering) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNodesOffering { 15968 s.ReservedCacheNodesOfferingId = &v 15969 return s 15970} 15971 15972// SetUsagePrice sets the UsagePrice field's value. 15973func (s *ReservedCacheNodesOffering) SetUsagePrice(v float64) *ReservedCacheNodesOffering { 15974 s.UsagePrice = &v 15975 return s 15976} 15977 15978// Represents the input of a ResetCacheParameterGroup operation. 15979type ResetCacheParameterGroupInput struct { 15980 _ struct{} `type:"structure"` 15981 15982 // The name of the cache parameter group to reset. 15983 // 15984 // CacheParameterGroupName is a required field 15985 CacheParameterGroupName *string `type:"string" required:"true"` 15986 15987 // An array of parameter names to reset to their default values. If ResetAllParameters 15988 // is true, do not use ParameterNameValues. If ResetAllParameters is false, 15989 // you must specify the name of at least one parameter to reset. 15990 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` 15991 15992 // If true, all parameters in the cache parameter group are reset to their default 15993 // values. If false, only the parameters listed by ParameterNameValues are reset 15994 // to their default values. 15995 // 15996 // Valid values: true | false 15997 ResetAllParameters *bool `type:"boolean"` 15998} 15999 16000// String returns the string representation 16001func (s ResetCacheParameterGroupInput) String() string { 16002 return awsutil.Prettify(s) 16003} 16004 16005// GoString returns the string representation 16006func (s ResetCacheParameterGroupInput) GoString() string { 16007 return s.String() 16008} 16009 16010// Validate inspects the fields of the type to determine if they are valid. 16011func (s *ResetCacheParameterGroupInput) Validate() error { 16012 invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} 16013 if s.CacheParameterGroupName == nil { 16014 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 16015 } 16016 16017 if invalidParams.Len() > 0 { 16018 return invalidParams 16019 } 16020 return nil 16021} 16022 16023// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16024func (s *ResetCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ResetCacheParameterGroupInput { 16025 s.CacheParameterGroupName = &v 16026 return s 16027} 16028 16029// SetParameterNameValues sets the ParameterNameValues field's value. 16030func (s *ResetCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ResetCacheParameterGroupInput { 16031 s.ParameterNameValues = v 16032 return s 16033} 16034 16035// SetResetAllParameters sets the ResetAllParameters field's value. 16036func (s *ResetCacheParameterGroupInput) SetResetAllParameters(v bool) *ResetCacheParameterGroupInput { 16037 s.ResetAllParameters = &v 16038 return s 16039} 16040 16041// A list of PreferredAvailabilityZones objects that specifies the configuration 16042// of a node group in the resharded cluster. 16043type ReshardingConfiguration struct { 16044 _ struct{} `type:"structure"` 16045 16046 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 16047 // for the node group these configuration values apply to. 16048 NodeGroupId *string `min:"1" type:"string"` 16049 16050 // A list of preferred availability zones for the nodes in this cluster. 16051 PreferredAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 16052} 16053 16054// String returns the string representation 16055func (s ReshardingConfiguration) String() string { 16056 return awsutil.Prettify(s) 16057} 16058 16059// GoString returns the string representation 16060func (s ReshardingConfiguration) GoString() string { 16061 return s.String() 16062} 16063 16064// Validate inspects the fields of the type to determine if they are valid. 16065func (s *ReshardingConfiguration) Validate() error { 16066 invalidParams := request.ErrInvalidParams{Context: "ReshardingConfiguration"} 16067 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 16068 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 16069 } 16070 16071 if invalidParams.Len() > 0 { 16072 return invalidParams 16073 } 16074 return nil 16075} 16076 16077// SetNodeGroupId sets the NodeGroupId field's value. 16078func (s *ReshardingConfiguration) SetNodeGroupId(v string) *ReshardingConfiguration { 16079 s.NodeGroupId = &v 16080 return s 16081} 16082 16083// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 16084func (s *ReshardingConfiguration) SetPreferredAvailabilityZones(v []*string) *ReshardingConfiguration { 16085 s.PreferredAvailabilityZones = v 16086 return s 16087} 16088 16089// The status of an online resharding operation. 16090type ReshardingStatus struct { 16091 _ struct{} `type:"structure"` 16092 16093 // Represents the progress of an online resharding operation. 16094 SlotMigration *SlotMigration `type:"structure"` 16095} 16096 16097// String returns the string representation 16098func (s ReshardingStatus) String() string { 16099 return awsutil.Prettify(s) 16100} 16101 16102// GoString returns the string representation 16103func (s ReshardingStatus) GoString() string { 16104 return s.String() 16105} 16106 16107// SetSlotMigration sets the SlotMigration field's value. 16108func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { 16109 s.SlotMigration = v 16110 return s 16111} 16112 16113// Represents the input of a RevokeCacheSecurityGroupIngress operation. 16114type RevokeCacheSecurityGroupIngressInput struct { 16115 _ struct{} `type:"structure"` 16116 16117 // The name of the cache security group to revoke ingress from. 16118 // 16119 // CacheSecurityGroupName is a required field 16120 CacheSecurityGroupName *string `type:"string" required:"true"` 16121 16122 // The name of the Amazon EC2 security group to revoke access from. 16123 // 16124 // EC2SecurityGroupName is a required field 16125 EC2SecurityGroupName *string `type:"string" required:"true"` 16126 16127 // The AWS account number of the Amazon EC2 security group owner. Note that 16128 // this is not the same thing as an AWS access key ID - you must provide a valid 16129 // AWS account number for this parameter. 16130 // 16131 // EC2SecurityGroupOwnerId is a required field 16132 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 16133} 16134 16135// String returns the string representation 16136func (s RevokeCacheSecurityGroupIngressInput) String() string { 16137 return awsutil.Prettify(s) 16138} 16139 16140// GoString returns the string representation 16141func (s RevokeCacheSecurityGroupIngressInput) GoString() string { 16142 return s.String() 16143} 16144 16145// Validate inspects the fields of the type to determine if they are valid. 16146func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { 16147 invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} 16148 if s.CacheSecurityGroupName == nil { 16149 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 16150 } 16151 if s.EC2SecurityGroupName == nil { 16152 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 16153 } 16154 if s.EC2SecurityGroupOwnerId == nil { 16155 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 16156 } 16157 16158 if invalidParams.Len() > 0 { 16159 return invalidParams 16160 } 16161 return nil 16162} 16163 16164// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 16165func (s *RevokeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 16166 s.CacheSecurityGroupName = &v 16167 return s 16168} 16169 16170// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 16171func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 16172 s.EC2SecurityGroupName = &v 16173 return s 16174} 16175 16176// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 16177func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeCacheSecurityGroupIngressInput { 16178 s.EC2SecurityGroupOwnerId = &v 16179 return s 16180} 16181 16182type RevokeCacheSecurityGroupIngressOutput struct { 16183 _ struct{} `type:"structure"` 16184 16185 // Represents the output of one of the following operations: 16186 // 16187 // * AuthorizeCacheSecurityGroupIngress 16188 // 16189 // * CreateCacheSecurityGroup 16190 // 16191 // * RevokeCacheSecurityGroupIngress 16192 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 16193} 16194 16195// String returns the string representation 16196func (s RevokeCacheSecurityGroupIngressOutput) String() string { 16197 return awsutil.Prettify(s) 16198} 16199 16200// GoString returns the string representation 16201func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { 16202 return s.String() 16203} 16204 16205// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 16206func (s *RevokeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *RevokeCacheSecurityGroupIngressOutput { 16207 s.CacheSecurityGroup = v 16208 return s 16209} 16210 16211// Represents a single cache security group and its status. 16212type SecurityGroupMembership struct { 16213 _ struct{} `type:"structure"` 16214 16215 // The identifier of the cache security group. 16216 SecurityGroupId *string `type:"string"` 16217 16218 // The status of the cache security group membership. The status changes whenever 16219 // a cache security group is modified, or when the cache security groups assigned 16220 // to a cluster are modified. 16221 Status *string `type:"string"` 16222} 16223 16224// String returns the string representation 16225func (s SecurityGroupMembership) String() string { 16226 return awsutil.Prettify(s) 16227} 16228 16229// GoString returns the string representation 16230func (s SecurityGroupMembership) GoString() string { 16231 return s.String() 16232} 16233 16234// SetSecurityGroupId sets the SecurityGroupId field's value. 16235func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { 16236 s.SecurityGroupId = &v 16237 return s 16238} 16239 16240// SetStatus sets the Status field's value. 16241func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { 16242 s.Status = &v 16243 return s 16244} 16245 16246// An update that you can apply to your Redis clusters. 16247type ServiceUpdate struct { 16248 _ struct{} `type:"structure"` 16249 16250 // Indicates whether the service update will be automatically applied once the 16251 // recommended apply-by date has expired. 16252 AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` 16253 16254 // The Elasticache engine to which the update applies. Either Redis or Memcached 16255 Engine *string `type:"string"` 16256 16257 // The Elasticache engine version to which the update applies. Either Redis 16258 // or Memcached engine version 16259 EngineVersion *string `type:"string"` 16260 16261 // The estimated length of time the service update will take 16262 EstimatedUpdateTime *string `type:"string"` 16263 16264 // Provides details of the service update 16265 ServiceUpdateDescription *string `type:"string"` 16266 16267 // The date after which the service update is no longer available 16268 ServiceUpdateEndDate *time.Time `type:"timestamp"` 16269 16270 // The unique ID of the service update 16271 ServiceUpdateName *string `type:"string"` 16272 16273 // The recommendend date to apply the service update in order to ensure compliance. 16274 // For information on compliance, see Self-Service Security Updates for Compliance 16275 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 16276 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 16277 16278 // The date when the service update is initially available 16279 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 16280 16281 // The severity of the service update 16282 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 16283 16284 // The status of the service update 16285 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 16286 16287 // Reflects the nature of the service update 16288 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 16289} 16290 16291// String returns the string representation 16292func (s ServiceUpdate) String() string { 16293 return awsutil.Prettify(s) 16294} 16295 16296// GoString returns the string representation 16297func (s ServiceUpdate) GoString() string { 16298 return s.String() 16299} 16300 16301// SetAutoUpdateAfterRecommendedApplyByDate sets the AutoUpdateAfterRecommendedApplyByDate field's value. 16302func (s *ServiceUpdate) SetAutoUpdateAfterRecommendedApplyByDate(v bool) *ServiceUpdate { 16303 s.AutoUpdateAfterRecommendedApplyByDate = &v 16304 return s 16305} 16306 16307// SetEngine sets the Engine field's value. 16308func (s *ServiceUpdate) SetEngine(v string) *ServiceUpdate { 16309 s.Engine = &v 16310 return s 16311} 16312 16313// SetEngineVersion sets the EngineVersion field's value. 16314func (s *ServiceUpdate) SetEngineVersion(v string) *ServiceUpdate { 16315 s.EngineVersion = &v 16316 return s 16317} 16318 16319// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 16320func (s *ServiceUpdate) SetEstimatedUpdateTime(v string) *ServiceUpdate { 16321 s.EstimatedUpdateTime = &v 16322 return s 16323} 16324 16325// SetServiceUpdateDescription sets the ServiceUpdateDescription field's value. 16326func (s *ServiceUpdate) SetServiceUpdateDescription(v string) *ServiceUpdate { 16327 s.ServiceUpdateDescription = &v 16328 return s 16329} 16330 16331// SetServiceUpdateEndDate sets the ServiceUpdateEndDate field's value. 16332func (s *ServiceUpdate) SetServiceUpdateEndDate(v time.Time) *ServiceUpdate { 16333 s.ServiceUpdateEndDate = &v 16334 return s 16335} 16336 16337// SetServiceUpdateName sets the ServiceUpdateName field's value. 16338func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { 16339 s.ServiceUpdateName = &v 16340 return s 16341} 16342 16343// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 16344func (s *ServiceUpdate) SetServiceUpdateRecommendedApplyByDate(v time.Time) *ServiceUpdate { 16345 s.ServiceUpdateRecommendedApplyByDate = &v 16346 return s 16347} 16348 16349// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 16350func (s *ServiceUpdate) SetServiceUpdateReleaseDate(v time.Time) *ServiceUpdate { 16351 s.ServiceUpdateReleaseDate = &v 16352 return s 16353} 16354 16355// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 16356func (s *ServiceUpdate) SetServiceUpdateSeverity(v string) *ServiceUpdate { 16357 s.ServiceUpdateSeverity = &v 16358 return s 16359} 16360 16361// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 16362func (s *ServiceUpdate) SetServiceUpdateStatus(v string) *ServiceUpdate { 16363 s.ServiceUpdateStatus = &v 16364 return s 16365} 16366 16367// SetServiceUpdateType sets the ServiceUpdateType field's value. 16368func (s *ServiceUpdate) SetServiceUpdateType(v string) *ServiceUpdate { 16369 s.ServiceUpdateType = &v 16370 return s 16371} 16372 16373// Represents the progress of an online resharding operation. 16374type SlotMigration struct { 16375 _ struct{} `type:"structure"` 16376 16377 // The percentage of the slot migration that is complete. 16378 ProgressPercentage *float64 `type:"double"` 16379} 16380 16381// String returns the string representation 16382func (s SlotMigration) String() string { 16383 return awsutil.Prettify(s) 16384} 16385 16386// GoString returns the string representation 16387func (s SlotMigration) GoString() string { 16388 return s.String() 16389} 16390 16391// SetProgressPercentage sets the ProgressPercentage field's value. 16392func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { 16393 s.ProgressPercentage = &v 16394 return s 16395} 16396 16397// Represents a copy of an entire Redis cluster as of the time when the snapshot 16398// was taken. 16399type Snapshot struct { 16400 _ struct{} `type:"structure"` 16401 16402 // The ARN (Amazon Resource Name) of the snapshot. 16403 ARN *string `type:"string"` 16404 16405 // This parameter is currently disabled. 16406 AutoMinorVersionUpgrade *bool `type:"boolean"` 16407 16408 // Indicates the status of automatic failover for the source Redis replication 16409 // group. 16410 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 16411 16412 // The date and time when the source cluster was created. 16413 CacheClusterCreateTime *time.Time `type:"timestamp"` 16414 16415 // The user-supplied identifier of the source cluster. 16416 CacheClusterId *string `type:"string"` 16417 16418 // The name of the compute and memory capacity node type for the source cluster. 16419 // 16420 // The following node types are supported by ElastiCache. Generally speaking, 16421 // the current generation types provide more memory and computational power 16422 // at lower cost when compared to their equivalent previous generation counterparts. 16423 // 16424 // * General purpose: Current generation: M5 node types: cache.m5.large, 16425 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 16426 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 16427 // cache.m4.4xlarge, cache.m4.10xlarge T3 node types: cache.t3.micro, cache.t3.small, 16428 // cache.t3.medium T2 node types: cache.t2.micro, cache.t2.small, cache.t2.medium 16429 // Previous generation: (not recommended) T1 node types: cache.t1.micro M1 16430 // node types: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge 16431 // M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge 16432 // 16433 // * Compute optimized: Previous generation: (not recommended) C1 node types: 16434 // cache.c1.xlarge 16435 // 16436 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 16437 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 16438 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 16439 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 16440 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 16441 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 16442 // cache.r3.8xlarge 16443 // 16444 // Additional node type info 16445 // 16446 // * All current generation instance types are created in Amazon VPC by default. 16447 // 16448 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 16449 // 16450 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 16451 // 16452 // * Redis configuration variables appendonly and appendfsync are not supported 16453 // on Redis version 2.8.22 and later. 16454 CacheNodeType *string `type:"string"` 16455 16456 // The cache parameter group that is associated with the source cluster. 16457 CacheParameterGroupName *string `type:"string"` 16458 16459 // The name of the cache subnet group associated with the source cluster. 16460 CacheSubnetGroupName *string `type:"string"` 16461 16462 // The name of the cache engine (memcached or redis) used by the source cluster. 16463 Engine *string `type:"string"` 16464 16465 // The version of the cache engine version that is used by the source cluster. 16466 EngineVersion *string `type:"string"` 16467 16468 // The ID of the KMS key used to encrypt the snapshot. 16469 KmsKeyId *string `type:"string"` 16470 16471 // A list of the cache nodes in the source cluster. 16472 NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"` 16473 16474 // The number of cache nodes in the source cluster. 16475 // 16476 // For clusters running Redis, this value must be 1. For clusters running Memcached, 16477 // this value must be between 1 and 20. 16478 NumCacheNodes *int64 `type:"integer"` 16479 16480 // The number of node groups (shards) in this snapshot. When restoring from 16481 // a snapshot, the number of node groups (shards) in the snapshot and in the 16482 // restored replication group must be the same. 16483 NumNodeGroups *int64 `type:"integer"` 16484 16485 // The port number used by each cache nodes in the source cluster. 16486 Port *int64 `type:"integer"` 16487 16488 // The name of the Availability Zone in which the source cluster is located. 16489 PreferredAvailabilityZone *string `type:"string"` 16490 16491 // Specifies the weekly time range during which maintenance on the cluster is 16492 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 16493 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 16494 // 16495 // Valid values for ddd are: 16496 // 16497 // * sun 16498 // 16499 // * mon 16500 // 16501 // * tue 16502 // 16503 // * wed 16504 // 16505 // * thu 16506 // 16507 // * fri 16508 // 16509 // * sat 16510 // 16511 // Example: sun:23:00-mon:01:30 16512 PreferredMaintenanceWindow *string `type:"string"` 16513 16514 // A description of the source replication group. 16515 ReplicationGroupDescription *string `type:"string"` 16516 16517 // The unique identifier of the source replication group. 16518 ReplicationGroupId *string `type:"string"` 16519 16520 // The name of a snapshot. For an automatic snapshot, the name is system-generated. 16521 // For a manual snapshot, this is the user-provided name. 16522 SnapshotName *string `type:"string"` 16523 16524 // For an automatic snapshot, the number of days for which ElastiCache retains 16525 // the snapshot before deleting it. 16526 // 16527 // For manual snapshots, this field reflects the SnapshotRetentionLimit for 16528 // the source cluster when the snapshot was created. This field is otherwise 16529 // ignored: Manual snapshots do not expire, and can only be deleted using the 16530 // DeleteSnapshot operation. 16531 // 16532 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 16533 // are turned off. 16534 SnapshotRetentionLimit *int64 `type:"integer"` 16535 16536 // Indicates whether the snapshot is from an automatic backup (automated) or 16537 // was created manually (manual). 16538 SnapshotSource *string `type:"string"` 16539 16540 // The status of the snapshot. Valid values: creating | available | restoring 16541 // | copying | deleting. 16542 SnapshotStatus *string `type:"string"` 16543 16544 // The daily time range during which ElastiCache takes daily snapshots of the 16545 // source cluster. 16546 SnapshotWindow *string `type:"string"` 16547 16548 // The Amazon Resource Name (ARN) for the topic used by the source cluster for 16549 // publishing notifications. 16550 TopicArn *string `type:"string"` 16551 16552 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 16553 // group for the source cluster. 16554 VpcId *string `type:"string"` 16555} 16556 16557// String returns the string representation 16558func (s Snapshot) String() string { 16559 return awsutil.Prettify(s) 16560} 16561 16562// GoString returns the string representation 16563func (s Snapshot) GoString() string { 16564 return s.String() 16565} 16566 16567// SetARN sets the ARN field's value. 16568func (s *Snapshot) SetARN(v string) *Snapshot { 16569 s.ARN = &v 16570 return s 16571} 16572 16573// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 16574func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { 16575 s.AutoMinorVersionUpgrade = &v 16576 return s 16577} 16578 16579// SetAutomaticFailover sets the AutomaticFailover field's value. 16580func (s *Snapshot) SetAutomaticFailover(v string) *Snapshot { 16581 s.AutomaticFailover = &v 16582 return s 16583} 16584 16585// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 16586func (s *Snapshot) SetCacheClusterCreateTime(v time.Time) *Snapshot { 16587 s.CacheClusterCreateTime = &v 16588 return s 16589} 16590 16591// SetCacheClusterId sets the CacheClusterId field's value. 16592func (s *Snapshot) SetCacheClusterId(v string) *Snapshot { 16593 s.CacheClusterId = &v 16594 return s 16595} 16596 16597// SetCacheNodeType sets the CacheNodeType field's value. 16598func (s *Snapshot) SetCacheNodeType(v string) *Snapshot { 16599 s.CacheNodeType = &v 16600 return s 16601} 16602 16603// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 16604func (s *Snapshot) SetCacheParameterGroupName(v string) *Snapshot { 16605 s.CacheParameterGroupName = &v 16606 return s 16607} 16608 16609// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 16610func (s *Snapshot) SetCacheSubnetGroupName(v string) *Snapshot { 16611 s.CacheSubnetGroupName = &v 16612 return s 16613} 16614 16615// SetEngine sets the Engine field's value. 16616func (s *Snapshot) SetEngine(v string) *Snapshot { 16617 s.Engine = &v 16618 return s 16619} 16620 16621// SetEngineVersion sets the EngineVersion field's value. 16622func (s *Snapshot) SetEngineVersion(v string) *Snapshot { 16623 s.EngineVersion = &v 16624 return s 16625} 16626 16627// SetKmsKeyId sets the KmsKeyId field's value. 16628func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { 16629 s.KmsKeyId = &v 16630 return s 16631} 16632 16633// SetNodeSnapshots sets the NodeSnapshots field's value. 16634func (s *Snapshot) SetNodeSnapshots(v []*NodeSnapshot) *Snapshot { 16635 s.NodeSnapshots = v 16636 return s 16637} 16638 16639// SetNumCacheNodes sets the NumCacheNodes field's value. 16640func (s *Snapshot) SetNumCacheNodes(v int64) *Snapshot { 16641 s.NumCacheNodes = &v 16642 return s 16643} 16644 16645// SetNumNodeGroups sets the NumNodeGroups field's value. 16646func (s *Snapshot) SetNumNodeGroups(v int64) *Snapshot { 16647 s.NumNodeGroups = &v 16648 return s 16649} 16650 16651// SetPort sets the Port field's value. 16652func (s *Snapshot) SetPort(v int64) *Snapshot { 16653 s.Port = &v 16654 return s 16655} 16656 16657// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 16658func (s *Snapshot) SetPreferredAvailabilityZone(v string) *Snapshot { 16659 s.PreferredAvailabilityZone = &v 16660 return s 16661} 16662 16663// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 16664func (s *Snapshot) SetPreferredMaintenanceWindow(v string) *Snapshot { 16665 s.PreferredMaintenanceWindow = &v 16666 return s 16667} 16668 16669// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 16670func (s *Snapshot) SetReplicationGroupDescription(v string) *Snapshot { 16671 s.ReplicationGroupDescription = &v 16672 return s 16673} 16674 16675// SetReplicationGroupId sets the ReplicationGroupId field's value. 16676func (s *Snapshot) SetReplicationGroupId(v string) *Snapshot { 16677 s.ReplicationGroupId = &v 16678 return s 16679} 16680 16681// SetSnapshotName sets the SnapshotName field's value. 16682func (s *Snapshot) SetSnapshotName(v string) *Snapshot { 16683 s.SnapshotName = &v 16684 return s 16685} 16686 16687// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 16688func (s *Snapshot) SetSnapshotRetentionLimit(v int64) *Snapshot { 16689 s.SnapshotRetentionLimit = &v 16690 return s 16691} 16692 16693// SetSnapshotSource sets the SnapshotSource field's value. 16694func (s *Snapshot) SetSnapshotSource(v string) *Snapshot { 16695 s.SnapshotSource = &v 16696 return s 16697} 16698 16699// SetSnapshotStatus sets the SnapshotStatus field's value. 16700func (s *Snapshot) SetSnapshotStatus(v string) *Snapshot { 16701 s.SnapshotStatus = &v 16702 return s 16703} 16704 16705// SetSnapshotWindow sets the SnapshotWindow field's value. 16706func (s *Snapshot) SetSnapshotWindow(v string) *Snapshot { 16707 s.SnapshotWindow = &v 16708 return s 16709} 16710 16711// SetTopicArn sets the TopicArn field's value. 16712func (s *Snapshot) SetTopicArn(v string) *Snapshot { 16713 s.TopicArn = &v 16714 return s 16715} 16716 16717// SetVpcId sets the VpcId field's value. 16718func (s *Snapshot) SetVpcId(v string) *Snapshot { 16719 s.VpcId = &v 16720 return s 16721} 16722 16723type StartMigrationInput struct { 16724 _ struct{} `type:"structure"` 16725 16726 // List of endpoints from which data should be migrated. For Redis (cluster 16727 // mode disabled), list should have only one element. 16728 // 16729 // CustomerNodeEndpointList is a required field 16730 CustomerNodeEndpointList []*CustomerNodeEndpoint `type:"list" required:"true"` 16731 16732 // The ID of the replication group to which data should be migrated. 16733 // 16734 // ReplicationGroupId is a required field 16735 ReplicationGroupId *string `type:"string" required:"true"` 16736} 16737 16738// String returns the string representation 16739func (s StartMigrationInput) String() string { 16740 return awsutil.Prettify(s) 16741} 16742 16743// GoString returns the string representation 16744func (s StartMigrationInput) GoString() string { 16745 return s.String() 16746} 16747 16748// Validate inspects the fields of the type to determine if they are valid. 16749func (s *StartMigrationInput) Validate() error { 16750 invalidParams := request.ErrInvalidParams{Context: "StartMigrationInput"} 16751 if s.CustomerNodeEndpointList == nil { 16752 invalidParams.Add(request.NewErrParamRequired("CustomerNodeEndpointList")) 16753 } 16754 if s.ReplicationGroupId == nil { 16755 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16756 } 16757 16758 if invalidParams.Len() > 0 { 16759 return invalidParams 16760 } 16761 return nil 16762} 16763 16764// SetCustomerNodeEndpointList sets the CustomerNodeEndpointList field's value. 16765func (s *StartMigrationInput) SetCustomerNodeEndpointList(v []*CustomerNodeEndpoint) *StartMigrationInput { 16766 s.CustomerNodeEndpointList = v 16767 return s 16768} 16769 16770// SetReplicationGroupId sets the ReplicationGroupId field's value. 16771func (s *StartMigrationInput) SetReplicationGroupId(v string) *StartMigrationInput { 16772 s.ReplicationGroupId = &v 16773 return s 16774} 16775 16776type StartMigrationOutput struct { 16777 _ struct{} `type:"structure"` 16778 16779 // Contains all of the attributes of a specific Redis replication group. 16780 ReplicationGroup *ReplicationGroup `type:"structure"` 16781} 16782 16783// String returns the string representation 16784func (s StartMigrationOutput) String() string { 16785 return awsutil.Prettify(s) 16786} 16787 16788// GoString returns the string representation 16789func (s StartMigrationOutput) GoString() string { 16790 return s.String() 16791} 16792 16793// SetReplicationGroup sets the ReplicationGroup field's value. 16794func (s *StartMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *StartMigrationOutput { 16795 s.ReplicationGroup = v 16796 return s 16797} 16798 16799// Represents the subnet associated with a cluster. This parameter refers to 16800// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with 16801// ElastiCache. 16802type Subnet struct { 16803 _ struct{} `type:"structure"` 16804 16805 // The Availability Zone associated with the subnet. 16806 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 16807 16808 // The unique identifier for the subnet. 16809 SubnetIdentifier *string `type:"string"` 16810} 16811 16812// String returns the string representation 16813func (s Subnet) String() string { 16814 return awsutil.Prettify(s) 16815} 16816 16817// GoString returns the string representation 16818func (s Subnet) GoString() string { 16819 return s.String() 16820} 16821 16822// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 16823func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 16824 s.SubnetAvailabilityZone = v 16825 return s 16826} 16827 16828// SetSubnetIdentifier sets the SubnetIdentifier field's value. 16829func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 16830 s.SubnetIdentifier = &v 16831 return s 16832} 16833 16834// A cost allocation Tag that can be added to an ElastiCache cluster or replication 16835// group. Tags are composed of a Key/Value pair. A tag with a null Value is 16836// permitted. 16837type Tag struct { 16838 _ struct{} `type:"structure"` 16839 16840 // The key for the tag. May not be null. 16841 Key *string `type:"string"` 16842 16843 // The tag's value. May be null. 16844 Value *string `type:"string"` 16845} 16846 16847// String returns the string representation 16848func (s Tag) String() string { 16849 return awsutil.Prettify(s) 16850} 16851 16852// GoString returns the string representation 16853func (s Tag) GoString() string { 16854 return s.String() 16855} 16856 16857// SetKey sets the Key field's value. 16858func (s *Tag) SetKey(v string) *Tag { 16859 s.Key = &v 16860 return s 16861} 16862 16863// SetValue sets the Value field's value. 16864func (s *Tag) SetValue(v string) *Tag { 16865 s.Value = &v 16866 return s 16867} 16868 16869// Represents the output from the AddTagsToResource, ListTagsForResource, and 16870// RemoveTagsFromResource operations. 16871type TagListMessage struct { 16872 _ struct{} `type:"structure"` 16873 16874 // A list of cost allocation tags as key-value pairs. 16875 TagList []*Tag `locationNameList:"Tag" type:"list"` 16876} 16877 16878// String returns the string representation 16879func (s TagListMessage) String() string { 16880 return awsutil.Prettify(s) 16881} 16882 16883// GoString returns the string representation 16884func (s TagListMessage) GoString() string { 16885 return s.String() 16886} 16887 16888// SetTagList sets the TagList field's value. 16889func (s *TagListMessage) SetTagList(v []*Tag) *TagListMessage { 16890 s.TagList = v 16891 return s 16892} 16893 16894type TestFailoverInput struct { 16895 _ struct{} `type:"structure"` 16896 16897 // The name of the node group (called shard in the console) in this replication 16898 // group on which automatic failover is to be tested. You may test automatic 16899 // failover on up to 5 node groups in any rolling 24-hour period. 16900 // 16901 // NodeGroupId is a required field 16902 NodeGroupId *string `min:"1" type:"string" required:"true"` 16903 16904 // The name of the replication group (console: cluster) whose automatic failover 16905 // is being tested by this operation. 16906 // 16907 // ReplicationGroupId is a required field 16908 ReplicationGroupId *string `type:"string" required:"true"` 16909} 16910 16911// String returns the string representation 16912func (s TestFailoverInput) String() string { 16913 return awsutil.Prettify(s) 16914} 16915 16916// GoString returns the string representation 16917func (s TestFailoverInput) GoString() string { 16918 return s.String() 16919} 16920 16921// Validate inspects the fields of the type to determine if they are valid. 16922func (s *TestFailoverInput) Validate() error { 16923 invalidParams := request.ErrInvalidParams{Context: "TestFailoverInput"} 16924 if s.NodeGroupId == nil { 16925 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 16926 } 16927 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 16928 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 16929 } 16930 if s.ReplicationGroupId == nil { 16931 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 16932 } 16933 16934 if invalidParams.Len() > 0 { 16935 return invalidParams 16936 } 16937 return nil 16938} 16939 16940// SetNodeGroupId sets the NodeGroupId field's value. 16941func (s *TestFailoverInput) SetNodeGroupId(v string) *TestFailoverInput { 16942 s.NodeGroupId = &v 16943 return s 16944} 16945 16946// SetReplicationGroupId sets the ReplicationGroupId field's value. 16947func (s *TestFailoverInput) SetReplicationGroupId(v string) *TestFailoverInput { 16948 s.ReplicationGroupId = &v 16949 return s 16950} 16951 16952type TestFailoverOutput struct { 16953 _ struct{} `type:"structure"` 16954 16955 // Contains all of the attributes of a specific Redis replication group. 16956 ReplicationGroup *ReplicationGroup `type:"structure"` 16957} 16958 16959// String returns the string representation 16960func (s TestFailoverOutput) String() string { 16961 return awsutil.Prettify(s) 16962} 16963 16964// GoString returns the string representation 16965func (s TestFailoverOutput) GoString() string { 16966 return s.String() 16967} 16968 16969// SetReplicationGroup sets the ReplicationGroup field's value. 16970func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailoverOutput { 16971 s.ReplicationGroup = v 16972 return s 16973} 16974 16975// Filters update actions from the service updates that are in available status 16976// during the time range. 16977type TimeRangeFilter struct { 16978 _ struct{} `type:"structure"` 16979 16980 // The end time of the time range filter 16981 EndTime *time.Time `type:"timestamp"` 16982 16983 // The start time of the time range filter 16984 StartTime *time.Time `type:"timestamp"` 16985} 16986 16987// String returns the string representation 16988func (s TimeRangeFilter) String() string { 16989 return awsutil.Prettify(s) 16990} 16991 16992// GoString returns the string representation 16993func (s TimeRangeFilter) GoString() string { 16994 return s.String() 16995} 16996 16997// SetEndTime sets the EndTime field's value. 16998func (s *TimeRangeFilter) SetEndTime(v time.Time) *TimeRangeFilter { 16999 s.EndTime = &v 17000 return s 17001} 17002 17003// SetStartTime sets the StartTime field's value. 17004func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { 17005 s.StartTime = &v 17006 return s 17007} 17008 17009// Update action that has failed to be processed for the corresponding apply/stop 17010// request 17011type UnprocessedUpdateAction struct { 17012 _ struct{} `type:"structure"` 17013 17014 // The ID of the cache cluster 17015 CacheClusterId *string `type:"string"` 17016 17017 // The error message that describes the reason the request was not processed 17018 ErrorMessage *string `type:"string"` 17019 17020 // The error type for requests that are not processed 17021 ErrorType *string `type:"string"` 17022 17023 // The replication group ID 17024 ReplicationGroupId *string `type:"string"` 17025 17026 // The unique ID of the service update 17027 ServiceUpdateName *string `type:"string"` 17028} 17029 17030// String returns the string representation 17031func (s UnprocessedUpdateAction) String() string { 17032 return awsutil.Prettify(s) 17033} 17034 17035// GoString returns the string representation 17036func (s UnprocessedUpdateAction) GoString() string { 17037 return s.String() 17038} 17039 17040// SetCacheClusterId sets the CacheClusterId field's value. 17041func (s *UnprocessedUpdateAction) SetCacheClusterId(v string) *UnprocessedUpdateAction { 17042 s.CacheClusterId = &v 17043 return s 17044} 17045 17046// SetErrorMessage sets the ErrorMessage field's value. 17047func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { 17048 s.ErrorMessage = &v 17049 return s 17050} 17051 17052// SetErrorType sets the ErrorType field's value. 17053func (s *UnprocessedUpdateAction) SetErrorType(v string) *UnprocessedUpdateAction { 17054 s.ErrorType = &v 17055 return s 17056} 17057 17058// SetReplicationGroupId sets the ReplicationGroupId field's value. 17059func (s *UnprocessedUpdateAction) SetReplicationGroupId(v string) *UnprocessedUpdateAction { 17060 s.ReplicationGroupId = &v 17061 return s 17062} 17063 17064// SetServiceUpdateName sets the ServiceUpdateName field's value. 17065func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpdateAction { 17066 s.ServiceUpdateName = &v 17067 return s 17068} 17069 17070// The status of the service update for a specific replication group 17071type UpdateAction struct { 17072 _ struct{} `type:"structure"` 17073 17074 // The ID of the cache cluster 17075 CacheClusterId *string `type:"string"` 17076 17077 // The status of the service update on the cache node 17078 CacheNodeUpdateStatus []*CacheNodeUpdateStatus `locationNameList:"CacheNodeUpdateStatus" type:"list"` 17079 17080 // The Elasticache engine to which the update applies. Either Redis or Memcached 17081 Engine *string `type:"string"` 17082 17083 // The estimated length of time for the update to complete 17084 EstimatedUpdateTime *string `type:"string"` 17085 17086 // The status of the service update on the node group 17087 NodeGroupUpdateStatus []*NodeGroupUpdateStatus `locationNameList:"NodeGroupUpdateStatus" type:"list"` 17088 17089 // The progress of the service update on the replication group 17090 NodesUpdated *string `type:"string"` 17091 17092 // The ID of the replication group 17093 ReplicationGroupId *string `type:"string"` 17094 17095 // The unique ID of the service update 17096 ServiceUpdateName *string `type:"string"` 17097 17098 // The recommended date to apply the service update to ensure compliance. For 17099 // information on compliance, see Self-Service Security Updates for Compliance 17100 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 17101 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 17102 17103 // The date the update is first available 17104 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 17105 17106 // The severity of the service update 17107 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 17108 17109 // The status of the service update 17110 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 17111 17112 // Reflects the nature of the service update 17113 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 17114 17115 // If yes, all nodes in the replication group have been updated by the recommended 17116 // apply-by date. If no, at least one node in the replication group have not 17117 // been updated by the recommended apply-by date. If N/A, the replication group 17118 // was created after the recommended apply-by date. 17119 SlaMet *string `type:"string" enum:"SlaMet"` 17120 17121 // The date that the service update is available to a replication group 17122 UpdateActionAvailableDate *time.Time `type:"timestamp"` 17123 17124 // The status of the update action 17125 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 17126 17127 // The date when the UpdateActionStatus was last modified 17128 UpdateActionStatusModifiedDate *time.Time `type:"timestamp"` 17129} 17130 17131// String returns the string representation 17132func (s UpdateAction) String() string { 17133 return awsutil.Prettify(s) 17134} 17135 17136// GoString returns the string representation 17137func (s UpdateAction) GoString() string { 17138 return s.String() 17139} 17140 17141// SetCacheClusterId sets the CacheClusterId field's value. 17142func (s *UpdateAction) SetCacheClusterId(v string) *UpdateAction { 17143 s.CacheClusterId = &v 17144 return s 17145} 17146 17147// SetCacheNodeUpdateStatus sets the CacheNodeUpdateStatus field's value. 17148func (s *UpdateAction) SetCacheNodeUpdateStatus(v []*CacheNodeUpdateStatus) *UpdateAction { 17149 s.CacheNodeUpdateStatus = v 17150 return s 17151} 17152 17153// SetEngine sets the Engine field's value. 17154func (s *UpdateAction) SetEngine(v string) *UpdateAction { 17155 s.Engine = &v 17156 return s 17157} 17158 17159// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 17160func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { 17161 s.EstimatedUpdateTime = &v 17162 return s 17163} 17164 17165// SetNodeGroupUpdateStatus sets the NodeGroupUpdateStatus field's value. 17166func (s *UpdateAction) SetNodeGroupUpdateStatus(v []*NodeGroupUpdateStatus) *UpdateAction { 17167 s.NodeGroupUpdateStatus = v 17168 return s 17169} 17170 17171// SetNodesUpdated sets the NodesUpdated field's value. 17172func (s *UpdateAction) SetNodesUpdated(v string) *UpdateAction { 17173 s.NodesUpdated = &v 17174 return s 17175} 17176 17177// SetReplicationGroupId sets the ReplicationGroupId field's value. 17178func (s *UpdateAction) SetReplicationGroupId(v string) *UpdateAction { 17179 s.ReplicationGroupId = &v 17180 return s 17181} 17182 17183// SetServiceUpdateName sets the ServiceUpdateName field's value. 17184func (s *UpdateAction) SetServiceUpdateName(v string) *UpdateAction { 17185 s.ServiceUpdateName = &v 17186 return s 17187} 17188 17189// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 17190func (s *UpdateAction) SetServiceUpdateRecommendedApplyByDate(v time.Time) *UpdateAction { 17191 s.ServiceUpdateRecommendedApplyByDate = &v 17192 return s 17193} 17194 17195// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 17196func (s *UpdateAction) SetServiceUpdateReleaseDate(v time.Time) *UpdateAction { 17197 s.ServiceUpdateReleaseDate = &v 17198 return s 17199} 17200 17201// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 17202func (s *UpdateAction) SetServiceUpdateSeverity(v string) *UpdateAction { 17203 s.ServiceUpdateSeverity = &v 17204 return s 17205} 17206 17207// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 17208func (s *UpdateAction) SetServiceUpdateStatus(v string) *UpdateAction { 17209 s.ServiceUpdateStatus = &v 17210 return s 17211} 17212 17213// SetServiceUpdateType sets the ServiceUpdateType field's value. 17214func (s *UpdateAction) SetServiceUpdateType(v string) *UpdateAction { 17215 s.ServiceUpdateType = &v 17216 return s 17217} 17218 17219// SetSlaMet sets the SlaMet field's value. 17220func (s *UpdateAction) SetSlaMet(v string) *UpdateAction { 17221 s.SlaMet = &v 17222 return s 17223} 17224 17225// SetUpdateActionAvailableDate sets the UpdateActionAvailableDate field's value. 17226func (s *UpdateAction) SetUpdateActionAvailableDate(v time.Time) *UpdateAction { 17227 s.UpdateActionAvailableDate = &v 17228 return s 17229} 17230 17231// SetUpdateActionStatus sets the UpdateActionStatus field's value. 17232func (s *UpdateAction) SetUpdateActionStatus(v string) *UpdateAction { 17233 s.UpdateActionStatus = &v 17234 return s 17235} 17236 17237// SetUpdateActionStatusModifiedDate sets the UpdateActionStatusModifiedDate field's value. 17238func (s *UpdateAction) SetUpdateActionStatusModifiedDate(v time.Time) *UpdateAction { 17239 s.UpdateActionStatusModifiedDate = &v 17240 return s 17241} 17242 17243const ( 17244 // AZModeSingleAz is a AZMode enum value 17245 AZModeSingleAz = "single-az" 17246 17247 // AZModeCrossAz is a AZMode enum value 17248 AZModeCrossAz = "cross-az" 17249) 17250 17251const ( 17252 // AuthTokenUpdateStatusSetting is a AuthTokenUpdateStatus enum value 17253 AuthTokenUpdateStatusSetting = "SETTING" 17254 17255 // AuthTokenUpdateStatusRotating is a AuthTokenUpdateStatus enum value 17256 AuthTokenUpdateStatusRotating = "ROTATING" 17257) 17258 17259const ( 17260 // AuthTokenUpdateStrategyTypeSet is a AuthTokenUpdateStrategyType enum value 17261 AuthTokenUpdateStrategyTypeSet = "SET" 17262 17263 // AuthTokenUpdateStrategyTypeRotate is a AuthTokenUpdateStrategyType enum value 17264 AuthTokenUpdateStrategyTypeRotate = "ROTATE" 17265) 17266 17267const ( 17268 // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value 17269 AutomaticFailoverStatusEnabled = "enabled" 17270 17271 // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value 17272 AutomaticFailoverStatusDisabled = "disabled" 17273 17274 // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value 17275 AutomaticFailoverStatusEnabling = "enabling" 17276 17277 // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value 17278 AutomaticFailoverStatusDisabling = "disabling" 17279) 17280 17281const ( 17282 // ChangeTypeImmediate is a ChangeType enum value 17283 ChangeTypeImmediate = "immediate" 17284 17285 // ChangeTypeRequiresReboot is a ChangeType enum value 17286 ChangeTypeRequiresReboot = "requires-reboot" 17287) 17288 17289const ( 17290 // MultiAZStatusEnabled is a MultiAZStatus enum value 17291 MultiAZStatusEnabled = "enabled" 17292 17293 // MultiAZStatusDisabled is a MultiAZStatus enum value 17294 MultiAZStatusDisabled = "disabled" 17295) 17296 17297const ( 17298 // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value 17299 NodeUpdateInitiatedBySystem = "system" 17300 17301 // NodeUpdateInitiatedByCustomer is a NodeUpdateInitiatedBy enum value 17302 NodeUpdateInitiatedByCustomer = "customer" 17303) 17304 17305const ( 17306 // NodeUpdateStatusNotApplied is a NodeUpdateStatus enum value 17307 NodeUpdateStatusNotApplied = "not-applied" 17308 17309 // NodeUpdateStatusWaitingToStart is a NodeUpdateStatus enum value 17310 NodeUpdateStatusWaitingToStart = "waiting-to-start" 17311 17312 // NodeUpdateStatusInProgress is a NodeUpdateStatus enum value 17313 NodeUpdateStatusInProgress = "in-progress" 17314 17315 // NodeUpdateStatusStopping is a NodeUpdateStatus enum value 17316 NodeUpdateStatusStopping = "stopping" 17317 17318 // NodeUpdateStatusStopped is a NodeUpdateStatus enum value 17319 NodeUpdateStatusStopped = "stopped" 17320 17321 // NodeUpdateStatusComplete is a NodeUpdateStatus enum value 17322 NodeUpdateStatusComplete = "complete" 17323) 17324 17325const ( 17326 // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value 17327 PendingAutomaticFailoverStatusEnabled = "enabled" 17328 17329 // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value 17330 PendingAutomaticFailoverStatusDisabled = "disabled" 17331) 17332 17333const ( 17334 // ServiceUpdateSeverityCritical is a ServiceUpdateSeverity enum value 17335 ServiceUpdateSeverityCritical = "critical" 17336 17337 // ServiceUpdateSeverityImportant is a ServiceUpdateSeverity enum value 17338 ServiceUpdateSeverityImportant = "important" 17339 17340 // ServiceUpdateSeverityMedium is a ServiceUpdateSeverity enum value 17341 ServiceUpdateSeverityMedium = "medium" 17342 17343 // ServiceUpdateSeverityLow is a ServiceUpdateSeverity enum value 17344 ServiceUpdateSeverityLow = "low" 17345) 17346 17347const ( 17348 // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value 17349 ServiceUpdateStatusAvailable = "available" 17350 17351 // ServiceUpdateStatusCancelled is a ServiceUpdateStatus enum value 17352 ServiceUpdateStatusCancelled = "cancelled" 17353 17354 // ServiceUpdateStatusExpired is a ServiceUpdateStatus enum value 17355 ServiceUpdateStatusExpired = "expired" 17356) 17357 17358const ( 17359 // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value 17360 ServiceUpdateTypeSecurityUpdate = "security-update" 17361) 17362 17363const ( 17364 // SlaMetYes is a SlaMet enum value 17365 SlaMetYes = "yes" 17366 17367 // SlaMetNo is a SlaMet enum value 17368 SlaMetNo = "no" 17369 17370 // SlaMetNA is a SlaMet enum value 17371 SlaMetNA = "n/a" 17372) 17373 17374const ( 17375 // SourceTypeCacheCluster is a SourceType enum value 17376 SourceTypeCacheCluster = "cache-cluster" 17377 17378 // SourceTypeCacheParameterGroup is a SourceType enum value 17379 SourceTypeCacheParameterGroup = "cache-parameter-group" 17380 17381 // SourceTypeCacheSecurityGroup is a SourceType enum value 17382 SourceTypeCacheSecurityGroup = "cache-security-group" 17383 17384 // SourceTypeCacheSubnetGroup is a SourceType enum value 17385 SourceTypeCacheSubnetGroup = "cache-subnet-group" 17386 17387 // SourceTypeReplicationGroup is a SourceType enum value 17388 SourceTypeReplicationGroup = "replication-group" 17389) 17390 17391const ( 17392 // UpdateActionStatusNotApplied is a UpdateActionStatus enum value 17393 UpdateActionStatusNotApplied = "not-applied" 17394 17395 // UpdateActionStatusWaitingToStart is a UpdateActionStatus enum value 17396 UpdateActionStatusWaitingToStart = "waiting-to-start" 17397 17398 // UpdateActionStatusInProgress is a UpdateActionStatus enum value 17399 UpdateActionStatusInProgress = "in-progress" 17400 17401 // UpdateActionStatusStopping is a UpdateActionStatus enum value 17402 UpdateActionStatusStopping = "stopping" 17403 17404 // UpdateActionStatusStopped is a UpdateActionStatus enum value 17405 UpdateActionStatusStopped = "stopped" 17406 17407 // UpdateActionStatusComplete is a UpdateActionStatus enum value 17408 UpdateActionStatusComplete = "complete" 17409 17410 // UpdateActionStatusScheduling is a UpdateActionStatus enum value 17411 UpdateActionStatusScheduling = "scheduling" 17412 17413 // UpdateActionStatusScheduled is a UpdateActionStatus enum value 17414 UpdateActionStatusScheduled = "scheduled" 17415 17416 // UpdateActionStatusNotApplicable is a UpdateActionStatus enum value 17417 UpdateActionStatusNotApplicable = "not-applicable" 17418) 17419