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 opCreateReplicationGroup = "CreateReplicationGroup" 1043 1044// CreateReplicationGroupRequest generates a "aws/request.Request" representing the 1045// client's request for the CreateReplicationGroup 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 CreateReplicationGroup for more information on using the CreateReplicationGroup 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 CreateReplicationGroupRequest method. 1060// req, resp := client.CreateReplicationGroupRequest(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/CreateReplicationGroup 1068func (c *ElastiCache) CreateReplicationGroupRequest(input *CreateReplicationGroupInput) (req *request.Request, output *CreateReplicationGroupOutput) { 1069 op := &request.Operation{ 1070 Name: opCreateReplicationGroup, 1071 HTTPMethod: "POST", 1072 HTTPPath: "/", 1073 } 1074 1075 if input == nil { 1076 input = &CreateReplicationGroupInput{} 1077 } 1078 1079 output = &CreateReplicationGroupOutput{} 1080 req = c.newRequest(op, input, output) 1081 return 1082} 1083 1084// CreateReplicationGroup API operation for Amazon ElastiCache. 1085// 1086// Creates a Redis (cluster mode disabled) or a Redis (cluster mode enabled) 1087// replication group. 1088// 1089// A Redis (cluster mode disabled) replication group is a collection of clusters, 1090// where one of the clusters is a read/write primary and the others are read-only 1091// replicas. Writes to the primary are asynchronously propagated to the replicas. 1092// 1093// A Redis (cluster mode enabled) replication group is a collection of 1 to 1094// 90 node groups (shards). Each node group (shard) has one read/write primary 1095// node and up to 5 read-only replica nodes. Writes to the primary are asynchronously 1096// propagated to the replicas. Redis (cluster mode enabled) replication groups 1097// partition the data across node groups (shards). 1098// 1099// When a Redis (cluster mode disabled) replication group has been successfully 1100// created, you can add one or more read replicas to it, up to a total of 5 1101// read replicas. You cannot alter a Redis (cluster mode enabled) replication 1102// group after it has been created. However, if you need to increase or decrease 1103// the number of node groups (console: shards), you can avail yourself of ElastiCache 1104// for Redis' enhanced backup and restore. For more information, see Restoring 1105// From a Backup with Cluster Resizing (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/backups-restoring.html) 1106// in the ElastiCache User Guide. 1107// 1108// This operation is valid for Redis only. 1109// 1110// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1111// with awserr.Error's Code and Message methods to get detailed information about 1112// the error. 1113// 1114// See the AWS API reference guide for Amazon ElastiCache's 1115// API operation CreateReplicationGroup for usage and error information. 1116// 1117// Returned Error Codes: 1118// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1119// The requested cluster ID does not refer to an existing cluster. 1120// 1121// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1122// The requested cluster is not in the available state. 1123// 1124// * ErrCodeReplicationGroupAlreadyExistsFault "ReplicationGroupAlreadyExists" 1125// The specified replication group already exists. 1126// 1127// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1128// The requested cache node type is not available in the specified Availability 1129// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1130// in the ElastiCache User Guide. 1131// 1132// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1133// The requested cache security group name does not refer to an existing cache 1134// security group. 1135// 1136// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1137// The requested cache subnet group name does not refer to an existing cache 1138// subnet group. 1139// 1140// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1141// The request cannot be processed because it would exceed the allowed number 1142// of clusters per customer. 1143// 1144// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 1145// The request cannot be processed because it would exceed the allowed number 1146// of cache nodes in a single cluster. 1147// 1148// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1149// The request cannot be processed because it would exceed the allowed number 1150// of cache nodes per customer. 1151// 1152// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1153// The requested cache parameter group name does not refer to an existing cache 1154// parameter group. 1155// 1156// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1157// The VPC network is in an invalid state. 1158// 1159// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" 1160// The request cannot be processed because it would cause the resource to have 1161// more than the allowed number of tags. The maximum number of tags permitted 1162// on a resource is 50. 1163// 1164// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1165// The request cannot be processed because it would exceed the maximum allowed 1166// number of node groups (shards) in a single replication group. The default 1167// maximum is 90 1168// 1169// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1170// The value for a parameter is invalid. 1171// 1172// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1173// Two or more incompatible parameters were specified. 1174// 1175// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateReplicationGroup 1176func (c *ElastiCache) CreateReplicationGroup(input *CreateReplicationGroupInput) (*CreateReplicationGroupOutput, error) { 1177 req, out := c.CreateReplicationGroupRequest(input) 1178 return out, req.Send() 1179} 1180 1181// CreateReplicationGroupWithContext is the same as CreateReplicationGroup with the addition of 1182// the ability to pass a context and additional request options. 1183// 1184// See CreateReplicationGroup for details on how to use this API operation. 1185// 1186// The context must be non-nil and will be used for request cancellation. If 1187// the context is nil a panic will occur. In the future the SDK may create 1188// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1189// for more information on using Contexts. 1190func (c *ElastiCache) CreateReplicationGroupWithContext(ctx aws.Context, input *CreateReplicationGroupInput, opts ...request.Option) (*CreateReplicationGroupOutput, error) { 1191 req, out := c.CreateReplicationGroupRequest(input) 1192 req.SetContext(ctx) 1193 req.ApplyOptions(opts...) 1194 return out, req.Send() 1195} 1196 1197const opCreateSnapshot = "CreateSnapshot" 1198 1199// CreateSnapshotRequest generates a "aws/request.Request" representing the 1200// client's request for the CreateSnapshot operation. The "output" return 1201// value will be populated with the request's response once the request completes 1202// successfully. 1203// 1204// Use "Send" method on the returned Request to send the API call to the service. 1205// the "output" return value is not valid until after Send returns without error. 1206// 1207// See CreateSnapshot for more information on using the CreateSnapshot 1208// API call, and error handling. 1209// 1210// This method is useful when you want to inject custom logic or configuration 1211// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1212// 1213// 1214// // Example sending a request using the CreateSnapshotRequest method. 1215// req, resp := client.CreateSnapshotRequest(params) 1216// 1217// err := req.Send() 1218// if err == nil { // resp is now filled 1219// fmt.Println(resp) 1220// } 1221// 1222// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1223func (c *ElastiCache) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { 1224 op := &request.Operation{ 1225 Name: opCreateSnapshot, 1226 HTTPMethod: "POST", 1227 HTTPPath: "/", 1228 } 1229 1230 if input == nil { 1231 input = &CreateSnapshotInput{} 1232 } 1233 1234 output = &CreateSnapshotOutput{} 1235 req = c.newRequest(op, input, output) 1236 return 1237} 1238 1239// CreateSnapshot API operation for Amazon ElastiCache. 1240// 1241// Creates a copy of an entire cluster or replication group at a specific moment 1242// in time. 1243// 1244// This operation is valid for Redis only. 1245// 1246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1247// with awserr.Error's Code and Message methods to get detailed information about 1248// the error. 1249// 1250// See the AWS API reference guide for Amazon ElastiCache's 1251// API operation CreateSnapshot for usage and error information. 1252// 1253// Returned Error Codes: 1254// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1255// You already have a snapshot with the given name. 1256// 1257// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1258// The requested cluster ID does not refer to an existing cluster. 1259// 1260// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1261// The specified replication group does not exist. 1262// 1263// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1264// The requested cluster is not in the available state. 1265// 1266// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1267// The requested replication group is not in the available state. 1268// 1269// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1270// The request cannot be processed because it would exceed the maximum number 1271// of snapshots. 1272// 1273// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1274// You attempted one of the following operations: 1275// 1276// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1277// node. 1278// 1279// * Creating a snapshot of a cluster that is running Memcached rather than 1280// Redis. 1281// 1282// Neither of these are supported by ElastiCache. 1283// 1284// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1285// Two or more incompatible parameters were specified. 1286// 1287// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1288// The value for a parameter is invalid. 1289// 1290// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/CreateSnapshot 1291func (c *ElastiCache) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { 1292 req, out := c.CreateSnapshotRequest(input) 1293 return out, req.Send() 1294} 1295 1296// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of 1297// the ability to pass a context and additional request options. 1298// 1299// See CreateSnapshot for details on how to use this API operation. 1300// 1301// The context must be non-nil and will be used for request cancellation. If 1302// the context is nil a panic will occur. In the future the SDK may create 1303// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1304// for more information on using Contexts. 1305func (c *ElastiCache) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { 1306 req, out := c.CreateSnapshotRequest(input) 1307 req.SetContext(ctx) 1308 req.ApplyOptions(opts...) 1309 return out, req.Send() 1310} 1311 1312const opDecreaseReplicaCount = "DecreaseReplicaCount" 1313 1314// DecreaseReplicaCountRequest generates a "aws/request.Request" representing the 1315// client's request for the DecreaseReplicaCount operation. The "output" return 1316// value will be populated with the request's response once the request completes 1317// successfully. 1318// 1319// Use "Send" method on the returned Request to send the API call to the service. 1320// the "output" return value is not valid until after Send returns without error. 1321// 1322// See DecreaseReplicaCount for more information on using the DecreaseReplicaCount 1323// API call, and error handling. 1324// 1325// This method is useful when you want to inject custom logic or configuration 1326// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1327// 1328// 1329// // Example sending a request using the DecreaseReplicaCountRequest method. 1330// req, resp := client.DecreaseReplicaCountRequest(params) 1331// 1332// err := req.Send() 1333// if err == nil { // resp is now filled 1334// fmt.Println(resp) 1335// } 1336// 1337// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1338func (c *ElastiCache) DecreaseReplicaCountRequest(input *DecreaseReplicaCountInput) (req *request.Request, output *DecreaseReplicaCountOutput) { 1339 op := &request.Operation{ 1340 Name: opDecreaseReplicaCount, 1341 HTTPMethod: "POST", 1342 HTTPPath: "/", 1343 } 1344 1345 if input == nil { 1346 input = &DecreaseReplicaCountInput{} 1347 } 1348 1349 output = &DecreaseReplicaCountOutput{} 1350 req = c.newRequest(op, input, output) 1351 return 1352} 1353 1354// DecreaseReplicaCount API operation for Amazon ElastiCache. 1355// 1356// Dynamically decreases the number of replics in a Redis (cluster mode disabled) 1357// replication group or the number of replica nodes in one or more node groups 1358// (shards) of a Redis (cluster mode enabled) replication group. This operation 1359// is performed with no cluster down time. 1360// 1361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1362// with awserr.Error's Code and Message methods to get detailed information about 1363// the error. 1364// 1365// See the AWS API reference guide for Amazon ElastiCache's 1366// API operation DecreaseReplicaCount for usage and error information. 1367// 1368// Returned Error Codes: 1369// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1370// The specified replication group does not exist. 1371// 1372// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1373// The requested replication group is not in the available state. 1374// 1375// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1376// The requested cluster is not in the available state. 1377// 1378// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 1379// The VPC network is in an invalid state. 1380// 1381// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 1382// The requested cache node type is not available in the specified Availability 1383// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 1384// in the ElastiCache User Guide. 1385// 1386// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 1387// The request cannot be processed because it would exceed the allowed number 1388// of clusters per customer. 1389// 1390// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 1391// The request cannot be processed because it would exceed the maximum allowed 1392// number of node groups (shards) in a single replication group. The default 1393// maximum is 90 1394// 1395// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 1396// The request cannot be processed because it would exceed the allowed number 1397// of cache nodes per customer. 1398// 1399// * ErrCodeServiceLinkedRoleNotFoundFault "ServiceLinkedRoleNotFoundFault" 1400// The specified service linked role (SLR) was not found. 1401// 1402// * ErrCodeNoOperationFault "NoOperationFault" 1403// The operation was not performed because no changes were required. 1404// 1405// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1406// The value for a parameter is invalid. 1407// 1408// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1409// Two or more incompatible parameters were specified. 1410// 1411// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DecreaseReplicaCount 1412func (c *ElastiCache) DecreaseReplicaCount(input *DecreaseReplicaCountInput) (*DecreaseReplicaCountOutput, error) { 1413 req, out := c.DecreaseReplicaCountRequest(input) 1414 return out, req.Send() 1415} 1416 1417// DecreaseReplicaCountWithContext is the same as DecreaseReplicaCount with the addition of 1418// the ability to pass a context and additional request options. 1419// 1420// See DecreaseReplicaCount for details on how to use this API operation. 1421// 1422// The context must be non-nil and will be used for request cancellation. If 1423// the context is nil a panic will occur. In the future the SDK may create 1424// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1425// for more information on using Contexts. 1426func (c *ElastiCache) DecreaseReplicaCountWithContext(ctx aws.Context, input *DecreaseReplicaCountInput, opts ...request.Option) (*DecreaseReplicaCountOutput, error) { 1427 req, out := c.DecreaseReplicaCountRequest(input) 1428 req.SetContext(ctx) 1429 req.ApplyOptions(opts...) 1430 return out, req.Send() 1431} 1432 1433const opDeleteCacheCluster = "DeleteCacheCluster" 1434 1435// DeleteCacheClusterRequest generates a "aws/request.Request" representing the 1436// client's request for the DeleteCacheCluster operation. The "output" return 1437// value will be populated with the request's response once the request completes 1438// successfully. 1439// 1440// Use "Send" method on the returned Request to send the API call to the service. 1441// the "output" return value is not valid until after Send returns without error. 1442// 1443// See DeleteCacheCluster for more information on using the DeleteCacheCluster 1444// API call, and error handling. 1445// 1446// This method is useful when you want to inject custom logic or configuration 1447// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1448// 1449// 1450// // Example sending a request using the DeleteCacheClusterRequest method. 1451// req, resp := client.DeleteCacheClusterRequest(params) 1452// 1453// err := req.Send() 1454// if err == nil { // resp is now filled 1455// fmt.Println(resp) 1456// } 1457// 1458// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1459func (c *ElastiCache) DeleteCacheClusterRequest(input *DeleteCacheClusterInput) (req *request.Request, output *DeleteCacheClusterOutput) { 1460 op := &request.Operation{ 1461 Name: opDeleteCacheCluster, 1462 HTTPMethod: "POST", 1463 HTTPPath: "/", 1464 } 1465 1466 if input == nil { 1467 input = &DeleteCacheClusterInput{} 1468 } 1469 1470 output = &DeleteCacheClusterOutput{} 1471 req = c.newRequest(op, input, output) 1472 return 1473} 1474 1475// DeleteCacheCluster API operation for Amazon ElastiCache. 1476// 1477// Deletes a previously provisioned cluster. DeleteCacheCluster deletes all 1478// associated cache nodes, node endpoints and the cluster itself. When you receive 1479// a successful response from this operation, Amazon ElastiCache immediately 1480// begins deleting the cluster; you cannot cancel or revert this operation. 1481// 1482// This operation is not valid for: 1483// 1484// * Redis (cluster mode enabled) clusters 1485// 1486// * A cluster that is the last read replica of a replication group 1487// 1488// * A node group (shard) that has Multi-AZ mode enabled 1489// 1490// * A cluster from a Redis (cluster mode enabled) replication group 1491// 1492// * A cluster that is not in the available state 1493// 1494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1495// with awserr.Error's Code and Message methods to get detailed information about 1496// the error. 1497// 1498// See the AWS API reference guide for Amazon ElastiCache's 1499// API operation DeleteCacheCluster for usage and error information. 1500// 1501// Returned Error Codes: 1502// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 1503// The requested cluster ID does not refer to an existing cluster. 1504// 1505// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 1506// The requested cluster is not in the available state. 1507// 1508// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1509// You already have a snapshot with the given name. 1510// 1511// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1512// You attempted one of the following operations: 1513// 1514// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1515// node. 1516// 1517// * Creating a snapshot of a cluster that is running Memcached rather than 1518// Redis. 1519// 1520// Neither of these are supported by ElastiCache. 1521// 1522// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1523// The request cannot be processed because it would exceed the maximum number 1524// of snapshots. 1525// 1526// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1527// The value for a parameter is invalid. 1528// 1529// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1530// Two or more incompatible parameters were specified. 1531// 1532// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheCluster 1533func (c *ElastiCache) DeleteCacheCluster(input *DeleteCacheClusterInput) (*DeleteCacheClusterOutput, error) { 1534 req, out := c.DeleteCacheClusterRequest(input) 1535 return out, req.Send() 1536} 1537 1538// DeleteCacheClusterWithContext is the same as DeleteCacheCluster with the addition of 1539// the ability to pass a context and additional request options. 1540// 1541// See DeleteCacheCluster for details on how to use this API operation. 1542// 1543// The context must be non-nil and will be used for request cancellation. If 1544// the context is nil a panic will occur. In the future the SDK may create 1545// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1546// for more information on using Contexts. 1547func (c *ElastiCache) DeleteCacheClusterWithContext(ctx aws.Context, input *DeleteCacheClusterInput, opts ...request.Option) (*DeleteCacheClusterOutput, error) { 1548 req, out := c.DeleteCacheClusterRequest(input) 1549 req.SetContext(ctx) 1550 req.ApplyOptions(opts...) 1551 return out, req.Send() 1552} 1553 1554const opDeleteCacheParameterGroup = "DeleteCacheParameterGroup" 1555 1556// DeleteCacheParameterGroupRequest generates a "aws/request.Request" representing the 1557// client's request for the DeleteCacheParameterGroup operation. The "output" return 1558// value will be populated with the request's response once the request completes 1559// successfully. 1560// 1561// Use "Send" method on the returned Request to send the API call to the service. 1562// the "output" return value is not valid until after Send returns without error. 1563// 1564// See DeleteCacheParameterGroup for more information on using the DeleteCacheParameterGroup 1565// API call, and error handling. 1566// 1567// This method is useful when you want to inject custom logic or configuration 1568// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1569// 1570// 1571// // Example sending a request using the DeleteCacheParameterGroupRequest method. 1572// req, resp := client.DeleteCacheParameterGroupRequest(params) 1573// 1574// err := req.Send() 1575// if err == nil { // resp is now filled 1576// fmt.Println(resp) 1577// } 1578// 1579// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1580func (c *ElastiCache) DeleteCacheParameterGroupRequest(input *DeleteCacheParameterGroupInput) (req *request.Request, output *DeleteCacheParameterGroupOutput) { 1581 op := &request.Operation{ 1582 Name: opDeleteCacheParameterGroup, 1583 HTTPMethod: "POST", 1584 HTTPPath: "/", 1585 } 1586 1587 if input == nil { 1588 input = &DeleteCacheParameterGroupInput{} 1589 } 1590 1591 output = &DeleteCacheParameterGroupOutput{} 1592 req = c.newRequest(op, input, output) 1593 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1594 return 1595} 1596 1597// DeleteCacheParameterGroup API operation for Amazon ElastiCache. 1598// 1599// Deletes the specified cache parameter group. You cannot delete a cache parameter 1600// group if it is associated with any cache clusters. 1601// 1602// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1603// with awserr.Error's Code and Message methods to get detailed information about 1604// the error. 1605// 1606// See the AWS API reference guide for Amazon ElastiCache's 1607// API operation DeleteCacheParameterGroup for usage and error information. 1608// 1609// Returned Error Codes: 1610// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 1611// The current state of the cache parameter group does not allow the requested 1612// operation to occur. 1613// 1614// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 1615// The requested cache parameter group name does not refer to an existing cache 1616// parameter group. 1617// 1618// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1619// The value for a parameter is invalid. 1620// 1621// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1622// Two or more incompatible parameters were specified. 1623// 1624// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheParameterGroup 1625func (c *ElastiCache) DeleteCacheParameterGroup(input *DeleteCacheParameterGroupInput) (*DeleteCacheParameterGroupOutput, error) { 1626 req, out := c.DeleteCacheParameterGroupRequest(input) 1627 return out, req.Send() 1628} 1629 1630// DeleteCacheParameterGroupWithContext is the same as DeleteCacheParameterGroup with the addition of 1631// the ability to pass a context and additional request options. 1632// 1633// See DeleteCacheParameterGroup for details on how to use this API operation. 1634// 1635// The context must be non-nil and will be used for request cancellation. If 1636// the context is nil a panic will occur. In the future the SDK may create 1637// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1638// for more information on using Contexts. 1639func (c *ElastiCache) DeleteCacheParameterGroupWithContext(ctx aws.Context, input *DeleteCacheParameterGroupInput, opts ...request.Option) (*DeleteCacheParameterGroupOutput, error) { 1640 req, out := c.DeleteCacheParameterGroupRequest(input) 1641 req.SetContext(ctx) 1642 req.ApplyOptions(opts...) 1643 return out, req.Send() 1644} 1645 1646const opDeleteCacheSecurityGroup = "DeleteCacheSecurityGroup" 1647 1648// DeleteCacheSecurityGroupRequest generates a "aws/request.Request" representing the 1649// client's request for the DeleteCacheSecurityGroup operation. The "output" return 1650// value will be populated with the request's response once the request completes 1651// successfully. 1652// 1653// Use "Send" method on the returned Request to send the API call to the service. 1654// the "output" return value is not valid until after Send returns without error. 1655// 1656// See DeleteCacheSecurityGroup for more information on using the DeleteCacheSecurityGroup 1657// API call, and error handling. 1658// 1659// This method is useful when you want to inject custom logic or configuration 1660// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1661// 1662// 1663// // Example sending a request using the DeleteCacheSecurityGroupRequest method. 1664// req, resp := client.DeleteCacheSecurityGroupRequest(params) 1665// 1666// err := req.Send() 1667// if err == nil { // resp is now filled 1668// fmt.Println(resp) 1669// } 1670// 1671// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1672func (c *ElastiCache) DeleteCacheSecurityGroupRequest(input *DeleteCacheSecurityGroupInput) (req *request.Request, output *DeleteCacheSecurityGroupOutput) { 1673 op := &request.Operation{ 1674 Name: opDeleteCacheSecurityGroup, 1675 HTTPMethod: "POST", 1676 HTTPPath: "/", 1677 } 1678 1679 if input == nil { 1680 input = &DeleteCacheSecurityGroupInput{} 1681 } 1682 1683 output = &DeleteCacheSecurityGroupOutput{} 1684 req = c.newRequest(op, input, output) 1685 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1686 return 1687} 1688 1689// DeleteCacheSecurityGroup API operation for Amazon ElastiCache. 1690// 1691// Deletes a cache security group. 1692// 1693// You cannot delete a cache security group if it is associated with any clusters. 1694// 1695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1696// with awserr.Error's Code and Message methods to get detailed information about 1697// the error. 1698// 1699// See the AWS API reference guide for Amazon ElastiCache's 1700// API operation DeleteCacheSecurityGroup for usage and error information. 1701// 1702// Returned Error Codes: 1703// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 1704// The current state of the cache security group does not allow deletion. 1705// 1706// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 1707// The requested cache security group name does not refer to an existing cache 1708// security group. 1709// 1710// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1711// The value for a parameter is invalid. 1712// 1713// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1714// Two or more incompatible parameters were specified. 1715// 1716// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSecurityGroup 1717func (c *ElastiCache) DeleteCacheSecurityGroup(input *DeleteCacheSecurityGroupInput) (*DeleteCacheSecurityGroupOutput, error) { 1718 req, out := c.DeleteCacheSecurityGroupRequest(input) 1719 return out, req.Send() 1720} 1721 1722// DeleteCacheSecurityGroupWithContext is the same as DeleteCacheSecurityGroup with the addition of 1723// the ability to pass a context and additional request options. 1724// 1725// See DeleteCacheSecurityGroup for details on how to use this API operation. 1726// 1727// The context must be non-nil and will be used for request cancellation. If 1728// the context is nil a panic will occur. In the future the SDK may create 1729// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1730// for more information on using Contexts. 1731func (c *ElastiCache) DeleteCacheSecurityGroupWithContext(ctx aws.Context, input *DeleteCacheSecurityGroupInput, opts ...request.Option) (*DeleteCacheSecurityGroupOutput, error) { 1732 req, out := c.DeleteCacheSecurityGroupRequest(input) 1733 req.SetContext(ctx) 1734 req.ApplyOptions(opts...) 1735 return out, req.Send() 1736} 1737 1738const opDeleteCacheSubnetGroup = "DeleteCacheSubnetGroup" 1739 1740// DeleteCacheSubnetGroupRequest generates a "aws/request.Request" representing the 1741// client's request for the DeleteCacheSubnetGroup operation. The "output" return 1742// value will be populated with the request's response once the request completes 1743// successfully. 1744// 1745// Use "Send" method on the returned Request to send the API call to the service. 1746// the "output" return value is not valid until after Send returns without error. 1747// 1748// See DeleteCacheSubnetGroup for more information on using the DeleteCacheSubnetGroup 1749// API call, and error handling. 1750// 1751// This method is useful when you want to inject custom logic or configuration 1752// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1753// 1754// 1755// // Example sending a request using the DeleteCacheSubnetGroupRequest method. 1756// req, resp := client.DeleteCacheSubnetGroupRequest(params) 1757// 1758// err := req.Send() 1759// if err == nil { // resp is now filled 1760// fmt.Println(resp) 1761// } 1762// 1763// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1764func (c *ElastiCache) DeleteCacheSubnetGroupRequest(input *DeleteCacheSubnetGroupInput) (req *request.Request, output *DeleteCacheSubnetGroupOutput) { 1765 op := &request.Operation{ 1766 Name: opDeleteCacheSubnetGroup, 1767 HTTPMethod: "POST", 1768 HTTPPath: "/", 1769 } 1770 1771 if input == nil { 1772 input = &DeleteCacheSubnetGroupInput{} 1773 } 1774 1775 output = &DeleteCacheSubnetGroupOutput{} 1776 req = c.newRequest(op, input, output) 1777 req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1778 return 1779} 1780 1781// DeleteCacheSubnetGroup API operation for Amazon ElastiCache. 1782// 1783// Deletes a cache subnet group. 1784// 1785// You cannot delete a cache subnet group if it is associated with any clusters. 1786// 1787// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1788// with awserr.Error's Code and Message methods to get detailed information about 1789// the error. 1790// 1791// See the AWS API reference guide for Amazon ElastiCache's 1792// API operation DeleteCacheSubnetGroup for usage and error information. 1793// 1794// Returned Error Codes: 1795// * ErrCodeCacheSubnetGroupInUse "CacheSubnetGroupInUse" 1796// The requested cache subnet group is currently in use. 1797// 1798// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 1799// The requested cache subnet group name does not refer to an existing cache 1800// subnet group. 1801// 1802// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteCacheSubnetGroup 1803func (c *ElastiCache) DeleteCacheSubnetGroup(input *DeleteCacheSubnetGroupInput) (*DeleteCacheSubnetGroupOutput, error) { 1804 req, out := c.DeleteCacheSubnetGroupRequest(input) 1805 return out, req.Send() 1806} 1807 1808// DeleteCacheSubnetGroupWithContext is the same as DeleteCacheSubnetGroup with the addition of 1809// the ability to pass a context and additional request options. 1810// 1811// See DeleteCacheSubnetGroup for details on how to use this API operation. 1812// 1813// The context must be non-nil and will be used for request cancellation. If 1814// the context is nil a panic will occur. In the future the SDK may create 1815// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1816// for more information on using Contexts. 1817func (c *ElastiCache) DeleteCacheSubnetGroupWithContext(ctx aws.Context, input *DeleteCacheSubnetGroupInput, opts ...request.Option) (*DeleteCacheSubnetGroupOutput, error) { 1818 req, out := c.DeleteCacheSubnetGroupRequest(input) 1819 req.SetContext(ctx) 1820 req.ApplyOptions(opts...) 1821 return out, req.Send() 1822} 1823 1824const opDeleteReplicationGroup = "DeleteReplicationGroup" 1825 1826// DeleteReplicationGroupRequest generates a "aws/request.Request" representing the 1827// client's request for the DeleteReplicationGroup operation. The "output" return 1828// value will be populated with the request's response once the request completes 1829// successfully. 1830// 1831// Use "Send" method on the returned Request to send the API call to the service. 1832// the "output" return value is not valid until after Send returns without error. 1833// 1834// See DeleteReplicationGroup for more information on using the DeleteReplicationGroup 1835// API call, and error handling. 1836// 1837// This method is useful when you want to inject custom logic or configuration 1838// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1839// 1840// 1841// // Example sending a request using the DeleteReplicationGroupRequest method. 1842// req, resp := client.DeleteReplicationGroupRequest(params) 1843// 1844// err := req.Send() 1845// if err == nil { // resp is now filled 1846// fmt.Println(resp) 1847// } 1848// 1849// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 1850func (c *ElastiCache) DeleteReplicationGroupRequest(input *DeleteReplicationGroupInput) (req *request.Request, output *DeleteReplicationGroupOutput) { 1851 op := &request.Operation{ 1852 Name: opDeleteReplicationGroup, 1853 HTTPMethod: "POST", 1854 HTTPPath: "/", 1855 } 1856 1857 if input == nil { 1858 input = &DeleteReplicationGroupInput{} 1859 } 1860 1861 output = &DeleteReplicationGroupOutput{} 1862 req = c.newRequest(op, input, output) 1863 return 1864} 1865 1866// DeleteReplicationGroup API operation for Amazon ElastiCache. 1867// 1868// Deletes an existing replication group. By default, this operation deletes 1869// the entire replication group, including the primary/primaries and all of 1870// the read replicas. If the replication group has only one primary, you can 1871// optionally delete only the read replicas, while retaining the primary by 1872// setting RetainPrimaryCluster=true. 1873// 1874// When you receive a successful response from this operation, Amazon ElastiCache 1875// immediately begins deleting the selected resources; you cannot cancel or 1876// revert this operation. 1877// 1878// This operation is valid for Redis only. 1879// 1880// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1881// with awserr.Error's Code and Message methods to get detailed information about 1882// the error. 1883// 1884// See the AWS API reference guide for Amazon ElastiCache's 1885// API operation DeleteReplicationGroup for usage and error information. 1886// 1887// Returned Error Codes: 1888// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 1889// The specified replication group does not exist. 1890// 1891// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 1892// The requested replication group is not in the available state. 1893// 1894// * ErrCodeSnapshotAlreadyExistsFault "SnapshotAlreadyExistsFault" 1895// You already have a snapshot with the given name. 1896// 1897// * ErrCodeSnapshotFeatureNotSupportedFault "SnapshotFeatureNotSupportedFault" 1898// You attempted one of the following operations: 1899// 1900// * Creating a snapshot of a Redis cluster running on a cache.t1.micro cache 1901// node. 1902// 1903// * Creating a snapshot of a cluster that is running Memcached rather than 1904// Redis. 1905// 1906// Neither of these are supported by ElastiCache. 1907// 1908// * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceededFault" 1909// The request cannot be processed because it would exceed the maximum number 1910// of snapshots. 1911// 1912// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 1913// The value for a parameter is invalid. 1914// 1915// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 1916// Two or more incompatible parameters were specified. 1917// 1918// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteReplicationGroup 1919func (c *ElastiCache) DeleteReplicationGroup(input *DeleteReplicationGroupInput) (*DeleteReplicationGroupOutput, error) { 1920 req, out := c.DeleteReplicationGroupRequest(input) 1921 return out, req.Send() 1922} 1923 1924// DeleteReplicationGroupWithContext is the same as DeleteReplicationGroup with the addition of 1925// the ability to pass a context and additional request options. 1926// 1927// See DeleteReplicationGroup for details on how to use this API operation. 1928// 1929// The context must be non-nil and will be used for request cancellation. If 1930// the context is nil a panic will occur. In the future the SDK may create 1931// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1932// for more information on using Contexts. 1933func (c *ElastiCache) DeleteReplicationGroupWithContext(ctx aws.Context, input *DeleteReplicationGroupInput, opts ...request.Option) (*DeleteReplicationGroupOutput, error) { 1934 req, out := c.DeleteReplicationGroupRequest(input) 1935 req.SetContext(ctx) 1936 req.ApplyOptions(opts...) 1937 return out, req.Send() 1938} 1939 1940const opDeleteSnapshot = "DeleteSnapshot" 1941 1942// DeleteSnapshotRequest generates a "aws/request.Request" representing the 1943// client's request for the DeleteSnapshot operation. The "output" return 1944// value will be populated with the request's response once the request completes 1945// successfully. 1946// 1947// Use "Send" method on the returned Request to send the API call to the service. 1948// the "output" return value is not valid until after Send returns without error. 1949// 1950// See DeleteSnapshot for more information on using the DeleteSnapshot 1951// API call, and error handling. 1952// 1953// This method is useful when you want to inject custom logic or configuration 1954// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1955// 1956// 1957// // Example sending a request using the DeleteSnapshotRequest method. 1958// req, resp := client.DeleteSnapshotRequest(params) 1959// 1960// err := req.Send() 1961// if err == nil { // resp is now filled 1962// fmt.Println(resp) 1963// } 1964// 1965// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 1966func (c *ElastiCache) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { 1967 op := &request.Operation{ 1968 Name: opDeleteSnapshot, 1969 HTTPMethod: "POST", 1970 HTTPPath: "/", 1971 } 1972 1973 if input == nil { 1974 input = &DeleteSnapshotInput{} 1975 } 1976 1977 output = &DeleteSnapshotOutput{} 1978 req = c.newRequest(op, input, output) 1979 return 1980} 1981 1982// DeleteSnapshot API operation for Amazon ElastiCache. 1983// 1984// Deletes an existing snapshot. When you receive a successful response from 1985// this operation, ElastiCache immediately begins deleting the snapshot; you 1986// cannot cancel or revert this operation. 1987// 1988// This operation is valid for Redis only. 1989// 1990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1991// with awserr.Error's Code and Message methods to get detailed information about 1992// the error. 1993// 1994// See the AWS API reference guide for Amazon ElastiCache's 1995// API operation DeleteSnapshot for usage and error information. 1996// 1997// Returned Error Codes: 1998// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 1999// The requested snapshot name does not refer to an existing snapshot. 2000// 2001// * ErrCodeInvalidSnapshotStateFault "InvalidSnapshotState" 2002// The current state of the snapshot does not allow the requested operation 2003// to occur. 2004// 2005// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2006// The value for a parameter is invalid. 2007// 2008// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2009// Two or more incompatible parameters were specified. 2010// 2011// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DeleteSnapshot 2012func (c *ElastiCache) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { 2013 req, out := c.DeleteSnapshotRequest(input) 2014 return out, req.Send() 2015} 2016 2017// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of 2018// the ability to pass a context and additional request options. 2019// 2020// See DeleteSnapshot for details on how to use this API operation. 2021// 2022// The context must be non-nil and will be used for request cancellation. If 2023// the context is nil a panic will occur. In the future the SDK may create 2024// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2025// for more information on using Contexts. 2026func (c *ElastiCache) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { 2027 req, out := c.DeleteSnapshotRequest(input) 2028 req.SetContext(ctx) 2029 req.ApplyOptions(opts...) 2030 return out, req.Send() 2031} 2032 2033const opDescribeCacheClusters = "DescribeCacheClusters" 2034 2035// DescribeCacheClustersRequest generates a "aws/request.Request" representing the 2036// client's request for the DescribeCacheClusters operation. The "output" return 2037// value will be populated with the request's response once the request completes 2038// successfully. 2039// 2040// Use "Send" method on the returned Request to send the API call to the service. 2041// the "output" return value is not valid until after Send returns without error. 2042// 2043// See DescribeCacheClusters for more information on using the DescribeCacheClusters 2044// API call, and error handling. 2045// 2046// This method is useful when you want to inject custom logic or configuration 2047// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2048// 2049// 2050// // Example sending a request using the DescribeCacheClustersRequest method. 2051// req, resp := client.DescribeCacheClustersRequest(params) 2052// 2053// err := req.Send() 2054// if err == nil { // resp is now filled 2055// fmt.Println(resp) 2056// } 2057// 2058// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2059func (c *ElastiCache) DescribeCacheClustersRequest(input *DescribeCacheClustersInput) (req *request.Request, output *DescribeCacheClustersOutput) { 2060 op := &request.Operation{ 2061 Name: opDescribeCacheClusters, 2062 HTTPMethod: "POST", 2063 HTTPPath: "/", 2064 Paginator: &request.Paginator{ 2065 InputTokens: []string{"Marker"}, 2066 OutputTokens: []string{"Marker"}, 2067 LimitToken: "MaxRecords", 2068 TruncationToken: "", 2069 }, 2070 } 2071 2072 if input == nil { 2073 input = &DescribeCacheClustersInput{} 2074 } 2075 2076 output = &DescribeCacheClustersOutput{} 2077 req = c.newRequest(op, input, output) 2078 return 2079} 2080 2081// DescribeCacheClusters API operation for Amazon ElastiCache. 2082// 2083// Returns information about all provisioned clusters if no cluster identifier 2084// is specified, or about a specific cache cluster if a cluster identifier is 2085// supplied. 2086// 2087// By default, abbreviated information about the clusters is returned. You can 2088// use the optional ShowCacheNodeInfo flag to retrieve detailed information 2089// about the cache nodes associated with the clusters. These details include 2090// the DNS address and port for the cache node endpoint. 2091// 2092// If the cluster is in the creating state, only cluster-level information is 2093// displayed until all of the nodes are successfully provisioned. 2094// 2095// If the cluster is in the deleting state, only cluster-level information is 2096// displayed. 2097// 2098// If cache nodes are currently being added to the cluster, node endpoint information 2099// and creation time for the additional nodes are not displayed until they are 2100// completely provisioned. When the cluster state is available, the cluster 2101// is ready for use. 2102// 2103// If cache nodes are currently being removed from the cluster, no endpoint 2104// information for the removed nodes is displayed. 2105// 2106// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2107// with awserr.Error's Code and Message methods to get detailed information about 2108// the error. 2109// 2110// See the AWS API reference guide for Amazon ElastiCache's 2111// API operation DescribeCacheClusters for usage and error information. 2112// 2113// Returned Error Codes: 2114// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 2115// The requested cluster ID does not refer to an existing cluster. 2116// 2117// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2118// The value for a parameter is invalid. 2119// 2120// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2121// Two or more incompatible parameters were specified. 2122// 2123// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheClusters 2124func (c *ElastiCache) DescribeCacheClusters(input *DescribeCacheClustersInput) (*DescribeCacheClustersOutput, error) { 2125 req, out := c.DescribeCacheClustersRequest(input) 2126 return out, req.Send() 2127} 2128 2129// DescribeCacheClustersWithContext is the same as DescribeCacheClusters with the addition of 2130// the ability to pass a context and additional request options. 2131// 2132// See DescribeCacheClusters for details on how to use this API operation. 2133// 2134// The context must be non-nil and will be used for request cancellation. If 2135// the context is nil a panic will occur. In the future the SDK may create 2136// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2137// for more information on using Contexts. 2138func (c *ElastiCache) DescribeCacheClustersWithContext(ctx aws.Context, input *DescribeCacheClustersInput, opts ...request.Option) (*DescribeCacheClustersOutput, error) { 2139 req, out := c.DescribeCacheClustersRequest(input) 2140 req.SetContext(ctx) 2141 req.ApplyOptions(opts...) 2142 return out, req.Send() 2143} 2144 2145// DescribeCacheClustersPages iterates over the pages of a DescribeCacheClusters operation, 2146// calling the "fn" function with the response data for each page. To stop 2147// iterating, return false from the fn function. 2148// 2149// See DescribeCacheClusters method for more information on how to use this operation. 2150// 2151// Note: This operation can generate multiple requests to a service. 2152// 2153// // Example iterating over at most 3 pages of a DescribeCacheClusters operation. 2154// pageNum := 0 2155// err := client.DescribeCacheClustersPages(params, 2156// func(page *elasticache.DescribeCacheClustersOutput, lastPage bool) bool { 2157// pageNum++ 2158// fmt.Println(page) 2159// return pageNum <= 3 2160// }) 2161// 2162func (c *ElastiCache) DescribeCacheClustersPages(input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool) error { 2163 return c.DescribeCacheClustersPagesWithContext(aws.BackgroundContext(), input, fn) 2164} 2165 2166// DescribeCacheClustersPagesWithContext same as DescribeCacheClustersPages except 2167// it takes a Context and allows setting request options on the pages. 2168// 2169// The context must be non-nil and will be used for request cancellation. If 2170// the context is nil a panic will occur. In the future the SDK may create 2171// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2172// for more information on using Contexts. 2173func (c *ElastiCache) DescribeCacheClustersPagesWithContext(ctx aws.Context, input *DescribeCacheClustersInput, fn func(*DescribeCacheClustersOutput, bool) bool, opts ...request.Option) error { 2174 p := request.Pagination{ 2175 NewRequest: func() (*request.Request, error) { 2176 var inCpy *DescribeCacheClustersInput 2177 if input != nil { 2178 tmp := *input 2179 inCpy = &tmp 2180 } 2181 req, _ := c.DescribeCacheClustersRequest(inCpy) 2182 req.SetContext(ctx) 2183 req.ApplyOptions(opts...) 2184 return req, nil 2185 }, 2186 } 2187 2188 for p.Next() { 2189 if !fn(p.Page().(*DescribeCacheClustersOutput), !p.HasNextPage()) { 2190 break 2191 } 2192 } 2193 2194 return p.Err() 2195} 2196 2197const opDescribeCacheEngineVersions = "DescribeCacheEngineVersions" 2198 2199// DescribeCacheEngineVersionsRequest generates a "aws/request.Request" representing the 2200// client's request for the DescribeCacheEngineVersions operation. The "output" return 2201// value will be populated with the request's response once the request completes 2202// successfully. 2203// 2204// Use "Send" method on the returned Request to send the API call to the service. 2205// the "output" return value is not valid until after Send returns without error. 2206// 2207// See DescribeCacheEngineVersions for more information on using the DescribeCacheEngineVersions 2208// API call, and error handling. 2209// 2210// This method is useful when you want to inject custom logic or configuration 2211// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2212// 2213// 2214// // Example sending a request using the DescribeCacheEngineVersionsRequest method. 2215// req, resp := client.DescribeCacheEngineVersionsRequest(params) 2216// 2217// err := req.Send() 2218// if err == nil { // resp is now filled 2219// fmt.Println(resp) 2220// } 2221// 2222// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2223func (c *ElastiCache) DescribeCacheEngineVersionsRequest(input *DescribeCacheEngineVersionsInput) (req *request.Request, output *DescribeCacheEngineVersionsOutput) { 2224 op := &request.Operation{ 2225 Name: opDescribeCacheEngineVersions, 2226 HTTPMethod: "POST", 2227 HTTPPath: "/", 2228 Paginator: &request.Paginator{ 2229 InputTokens: []string{"Marker"}, 2230 OutputTokens: []string{"Marker"}, 2231 LimitToken: "MaxRecords", 2232 TruncationToken: "", 2233 }, 2234 } 2235 2236 if input == nil { 2237 input = &DescribeCacheEngineVersionsInput{} 2238 } 2239 2240 output = &DescribeCacheEngineVersionsOutput{} 2241 req = c.newRequest(op, input, output) 2242 return 2243} 2244 2245// DescribeCacheEngineVersions API operation for Amazon ElastiCache. 2246// 2247// Returns a list of the available cache engines and their versions. 2248// 2249// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2250// with awserr.Error's Code and Message methods to get detailed information about 2251// the error. 2252// 2253// See the AWS API reference guide for Amazon ElastiCache's 2254// API operation DescribeCacheEngineVersions for usage and error information. 2255// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheEngineVersions 2256func (c *ElastiCache) DescribeCacheEngineVersions(input *DescribeCacheEngineVersionsInput) (*DescribeCacheEngineVersionsOutput, error) { 2257 req, out := c.DescribeCacheEngineVersionsRequest(input) 2258 return out, req.Send() 2259} 2260 2261// DescribeCacheEngineVersionsWithContext is the same as DescribeCacheEngineVersions with the addition of 2262// the ability to pass a context and additional request options. 2263// 2264// See DescribeCacheEngineVersions for details on how to use this API operation. 2265// 2266// The context must be non-nil and will be used for request cancellation. If 2267// the context is nil a panic will occur. In the future the SDK may create 2268// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2269// for more information on using Contexts. 2270func (c *ElastiCache) DescribeCacheEngineVersionsWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, opts ...request.Option) (*DescribeCacheEngineVersionsOutput, error) { 2271 req, out := c.DescribeCacheEngineVersionsRequest(input) 2272 req.SetContext(ctx) 2273 req.ApplyOptions(opts...) 2274 return out, req.Send() 2275} 2276 2277// DescribeCacheEngineVersionsPages iterates over the pages of a DescribeCacheEngineVersions operation, 2278// calling the "fn" function with the response data for each page. To stop 2279// iterating, return false from the fn function. 2280// 2281// See DescribeCacheEngineVersions method for more information on how to use this operation. 2282// 2283// Note: This operation can generate multiple requests to a service. 2284// 2285// // Example iterating over at most 3 pages of a DescribeCacheEngineVersions operation. 2286// pageNum := 0 2287// err := client.DescribeCacheEngineVersionsPages(params, 2288// func(page *elasticache.DescribeCacheEngineVersionsOutput, lastPage bool) bool { 2289// pageNum++ 2290// fmt.Println(page) 2291// return pageNum <= 3 2292// }) 2293// 2294func (c *ElastiCache) DescribeCacheEngineVersionsPages(input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool) error { 2295 return c.DescribeCacheEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn) 2296} 2297 2298// DescribeCacheEngineVersionsPagesWithContext same as DescribeCacheEngineVersionsPages except 2299// it takes a Context and allows setting request options on the pages. 2300// 2301// The context must be non-nil and will be used for request cancellation. If 2302// the context is nil a panic will occur. In the future the SDK may create 2303// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2304// for more information on using Contexts. 2305func (c *ElastiCache) DescribeCacheEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeCacheEngineVersionsInput, fn func(*DescribeCacheEngineVersionsOutput, bool) bool, opts ...request.Option) error { 2306 p := request.Pagination{ 2307 NewRequest: func() (*request.Request, error) { 2308 var inCpy *DescribeCacheEngineVersionsInput 2309 if input != nil { 2310 tmp := *input 2311 inCpy = &tmp 2312 } 2313 req, _ := c.DescribeCacheEngineVersionsRequest(inCpy) 2314 req.SetContext(ctx) 2315 req.ApplyOptions(opts...) 2316 return req, nil 2317 }, 2318 } 2319 2320 for p.Next() { 2321 if !fn(p.Page().(*DescribeCacheEngineVersionsOutput), !p.HasNextPage()) { 2322 break 2323 } 2324 } 2325 2326 return p.Err() 2327} 2328 2329const opDescribeCacheParameterGroups = "DescribeCacheParameterGroups" 2330 2331// DescribeCacheParameterGroupsRequest generates a "aws/request.Request" representing the 2332// client's request for the DescribeCacheParameterGroups operation. The "output" return 2333// value will be populated with the request's response once the request completes 2334// successfully. 2335// 2336// Use "Send" method on the returned Request to send the API call to the service. 2337// the "output" return value is not valid until after Send returns without error. 2338// 2339// See DescribeCacheParameterGroups for more information on using the DescribeCacheParameterGroups 2340// API call, and error handling. 2341// 2342// This method is useful when you want to inject custom logic or configuration 2343// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2344// 2345// 2346// // Example sending a request using the DescribeCacheParameterGroupsRequest method. 2347// req, resp := client.DescribeCacheParameterGroupsRequest(params) 2348// 2349// err := req.Send() 2350// if err == nil { // resp is now filled 2351// fmt.Println(resp) 2352// } 2353// 2354// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2355func (c *ElastiCache) DescribeCacheParameterGroupsRequest(input *DescribeCacheParameterGroupsInput) (req *request.Request, output *DescribeCacheParameterGroupsOutput) { 2356 op := &request.Operation{ 2357 Name: opDescribeCacheParameterGroups, 2358 HTTPMethod: "POST", 2359 HTTPPath: "/", 2360 Paginator: &request.Paginator{ 2361 InputTokens: []string{"Marker"}, 2362 OutputTokens: []string{"Marker"}, 2363 LimitToken: "MaxRecords", 2364 TruncationToken: "", 2365 }, 2366 } 2367 2368 if input == nil { 2369 input = &DescribeCacheParameterGroupsInput{} 2370 } 2371 2372 output = &DescribeCacheParameterGroupsOutput{} 2373 req = c.newRequest(op, input, output) 2374 return 2375} 2376 2377// DescribeCacheParameterGroups API operation for Amazon ElastiCache. 2378// 2379// Returns a list of cache parameter group descriptions. If a cache parameter 2380// group name is specified, the list contains only the descriptions for that 2381// group. 2382// 2383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2384// with awserr.Error's Code and Message methods to get detailed information about 2385// the error. 2386// 2387// See the AWS API reference guide for Amazon ElastiCache's 2388// API operation DescribeCacheParameterGroups for usage and error information. 2389// 2390// Returned Error Codes: 2391// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2392// The requested cache parameter group name does not refer to an existing cache 2393// parameter group. 2394// 2395// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2396// The value for a parameter is invalid. 2397// 2398// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2399// Two or more incompatible parameters were specified. 2400// 2401// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameterGroups 2402func (c *ElastiCache) DescribeCacheParameterGroups(input *DescribeCacheParameterGroupsInput) (*DescribeCacheParameterGroupsOutput, error) { 2403 req, out := c.DescribeCacheParameterGroupsRequest(input) 2404 return out, req.Send() 2405} 2406 2407// DescribeCacheParameterGroupsWithContext is the same as DescribeCacheParameterGroups with the addition of 2408// the ability to pass a context and additional request options. 2409// 2410// See DescribeCacheParameterGroups for details on how to use this API operation. 2411// 2412// The context must be non-nil and will be used for request cancellation. If 2413// the context is nil a panic will occur. In the future the SDK may create 2414// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2415// for more information on using Contexts. 2416func (c *ElastiCache) DescribeCacheParameterGroupsWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, opts ...request.Option) (*DescribeCacheParameterGroupsOutput, error) { 2417 req, out := c.DescribeCacheParameterGroupsRequest(input) 2418 req.SetContext(ctx) 2419 req.ApplyOptions(opts...) 2420 return out, req.Send() 2421} 2422 2423// DescribeCacheParameterGroupsPages iterates over the pages of a DescribeCacheParameterGroups operation, 2424// calling the "fn" function with the response data for each page. To stop 2425// iterating, return false from the fn function. 2426// 2427// See DescribeCacheParameterGroups method for more information on how to use this operation. 2428// 2429// Note: This operation can generate multiple requests to a service. 2430// 2431// // Example iterating over at most 3 pages of a DescribeCacheParameterGroups operation. 2432// pageNum := 0 2433// err := client.DescribeCacheParameterGroupsPages(params, 2434// func(page *elasticache.DescribeCacheParameterGroupsOutput, lastPage bool) bool { 2435// pageNum++ 2436// fmt.Println(page) 2437// return pageNum <= 3 2438// }) 2439// 2440func (c *ElastiCache) DescribeCacheParameterGroupsPages(input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool) error { 2441 return c.DescribeCacheParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2442} 2443 2444// DescribeCacheParameterGroupsPagesWithContext same as DescribeCacheParameterGroupsPages except 2445// it takes a Context and allows setting request options on the pages. 2446// 2447// The context must be non-nil and will be used for request cancellation. If 2448// the context is nil a panic will occur. In the future the SDK may create 2449// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2450// for more information on using Contexts. 2451func (c *ElastiCache) DescribeCacheParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheParameterGroupsInput, fn func(*DescribeCacheParameterGroupsOutput, bool) bool, opts ...request.Option) error { 2452 p := request.Pagination{ 2453 NewRequest: func() (*request.Request, error) { 2454 var inCpy *DescribeCacheParameterGroupsInput 2455 if input != nil { 2456 tmp := *input 2457 inCpy = &tmp 2458 } 2459 req, _ := c.DescribeCacheParameterGroupsRequest(inCpy) 2460 req.SetContext(ctx) 2461 req.ApplyOptions(opts...) 2462 return req, nil 2463 }, 2464 } 2465 2466 for p.Next() { 2467 if !fn(p.Page().(*DescribeCacheParameterGroupsOutput), !p.HasNextPage()) { 2468 break 2469 } 2470 } 2471 2472 return p.Err() 2473} 2474 2475const opDescribeCacheParameters = "DescribeCacheParameters" 2476 2477// DescribeCacheParametersRequest generates a "aws/request.Request" representing the 2478// client's request for the DescribeCacheParameters operation. The "output" return 2479// value will be populated with the request's response once the request completes 2480// successfully. 2481// 2482// Use "Send" method on the returned Request to send the API call to the service. 2483// the "output" return value is not valid until after Send returns without error. 2484// 2485// See DescribeCacheParameters for more information on using the DescribeCacheParameters 2486// API call, and error handling. 2487// 2488// This method is useful when you want to inject custom logic or configuration 2489// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2490// 2491// 2492// // Example sending a request using the DescribeCacheParametersRequest method. 2493// req, resp := client.DescribeCacheParametersRequest(params) 2494// 2495// err := req.Send() 2496// if err == nil { // resp is now filled 2497// fmt.Println(resp) 2498// } 2499// 2500// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2501func (c *ElastiCache) DescribeCacheParametersRequest(input *DescribeCacheParametersInput) (req *request.Request, output *DescribeCacheParametersOutput) { 2502 op := &request.Operation{ 2503 Name: opDescribeCacheParameters, 2504 HTTPMethod: "POST", 2505 HTTPPath: "/", 2506 Paginator: &request.Paginator{ 2507 InputTokens: []string{"Marker"}, 2508 OutputTokens: []string{"Marker"}, 2509 LimitToken: "MaxRecords", 2510 TruncationToken: "", 2511 }, 2512 } 2513 2514 if input == nil { 2515 input = &DescribeCacheParametersInput{} 2516 } 2517 2518 output = &DescribeCacheParametersOutput{} 2519 req = c.newRequest(op, input, output) 2520 return 2521} 2522 2523// DescribeCacheParameters API operation for Amazon ElastiCache. 2524// 2525// Returns the detailed parameter list for a particular cache parameter group. 2526// 2527// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2528// with awserr.Error's Code and Message methods to get detailed information about 2529// the error. 2530// 2531// See the AWS API reference guide for Amazon ElastiCache's 2532// API operation DescribeCacheParameters for usage and error information. 2533// 2534// Returned Error Codes: 2535// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 2536// The requested cache parameter group name does not refer to an existing cache 2537// parameter group. 2538// 2539// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2540// The value for a parameter is invalid. 2541// 2542// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2543// Two or more incompatible parameters were specified. 2544// 2545// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheParameters 2546func (c *ElastiCache) DescribeCacheParameters(input *DescribeCacheParametersInput) (*DescribeCacheParametersOutput, error) { 2547 req, out := c.DescribeCacheParametersRequest(input) 2548 return out, req.Send() 2549} 2550 2551// DescribeCacheParametersWithContext is the same as DescribeCacheParameters with the addition of 2552// the ability to pass a context and additional request options. 2553// 2554// See DescribeCacheParameters for details on how to use this API operation. 2555// 2556// The context must be non-nil and will be used for request cancellation. If 2557// the context is nil a panic will occur. In the future the SDK may create 2558// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2559// for more information on using Contexts. 2560func (c *ElastiCache) DescribeCacheParametersWithContext(ctx aws.Context, input *DescribeCacheParametersInput, opts ...request.Option) (*DescribeCacheParametersOutput, error) { 2561 req, out := c.DescribeCacheParametersRequest(input) 2562 req.SetContext(ctx) 2563 req.ApplyOptions(opts...) 2564 return out, req.Send() 2565} 2566 2567// DescribeCacheParametersPages iterates over the pages of a DescribeCacheParameters operation, 2568// calling the "fn" function with the response data for each page. To stop 2569// iterating, return false from the fn function. 2570// 2571// See DescribeCacheParameters method for more information on how to use this operation. 2572// 2573// Note: This operation can generate multiple requests to a service. 2574// 2575// // Example iterating over at most 3 pages of a DescribeCacheParameters operation. 2576// pageNum := 0 2577// err := client.DescribeCacheParametersPages(params, 2578// func(page *elasticache.DescribeCacheParametersOutput, lastPage bool) bool { 2579// pageNum++ 2580// fmt.Println(page) 2581// return pageNum <= 3 2582// }) 2583// 2584func (c *ElastiCache) DescribeCacheParametersPages(input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool) error { 2585 return c.DescribeCacheParametersPagesWithContext(aws.BackgroundContext(), input, fn) 2586} 2587 2588// DescribeCacheParametersPagesWithContext same as DescribeCacheParametersPages except 2589// it takes a Context and allows setting request options on the pages. 2590// 2591// The context must be non-nil and will be used for request cancellation. If 2592// the context is nil a panic will occur. In the future the SDK may create 2593// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2594// for more information on using Contexts. 2595func (c *ElastiCache) DescribeCacheParametersPagesWithContext(ctx aws.Context, input *DescribeCacheParametersInput, fn func(*DescribeCacheParametersOutput, bool) bool, opts ...request.Option) error { 2596 p := request.Pagination{ 2597 NewRequest: func() (*request.Request, error) { 2598 var inCpy *DescribeCacheParametersInput 2599 if input != nil { 2600 tmp := *input 2601 inCpy = &tmp 2602 } 2603 req, _ := c.DescribeCacheParametersRequest(inCpy) 2604 req.SetContext(ctx) 2605 req.ApplyOptions(opts...) 2606 return req, nil 2607 }, 2608 } 2609 2610 for p.Next() { 2611 if !fn(p.Page().(*DescribeCacheParametersOutput), !p.HasNextPage()) { 2612 break 2613 } 2614 } 2615 2616 return p.Err() 2617} 2618 2619const opDescribeCacheSecurityGroups = "DescribeCacheSecurityGroups" 2620 2621// DescribeCacheSecurityGroupsRequest generates a "aws/request.Request" representing the 2622// client's request for the DescribeCacheSecurityGroups operation. The "output" return 2623// value will be populated with the request's response once the request completes 2624// successfully. 2625// 2626// Use "Send" method on the returned Request to send the API call to the service. 2627// the "output" return value is not valid until after Send returns without error. 2628// 2629// See DescribeCacheSecurityGroups for more information on using the DescribeCacheSecurityGroups 2630// API call, and error handling. 2631// 2632// This method is useful when you want to inject custom logic or configuration 2633// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2634// 2635// 2636// // Example sending a request using the DescribeCacheSecurityGroupsRequest method. 2637// req, resp := client.DescribeCacheSecurityGroupsRequest(params) 2638// 2639// err := req.Send() 2640// if err == nil { // resp is now filled 2641// fmt.Println(resp) 2642// } 2643// 2644// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2645func (c *ElastiCache) DescribeCacheSecurityGroupsRequest(input *DescribeCacheSecurityGroupsInput) (req *request.Request, output *DescribeCacheSecurityGroupsOutput) { 2646 op := &request.Operation{ 2647 Name: opDescribeCacheSecurityGroups, 2648 HTTPMethod: "POST", 2649 HTTPPath: "/", 2650 Paginator: &request.Paginator{ 2651 InputTokens: []string{"Marker"}, 2652 OutputTokens: []string{"Marker"}, 2653 LimitToken: "MaxRecords", 2654 TruncationToken: "", 2655 }, 2656 } 2657 2658 if input == nil { 2659 input = &DescribeCacheSecurityGroupsInput{} 2660 } 2661 2662 output = &DescribeCacheSecurityGroupsOutput{} 2663 req = c.newRequest(op, input, output) 2664 return 2665} 2666 2667// DescribeCacheSecurityGroups API operation for Amazon ElastiCache. 2668// 2669// Returns a list of cache security group descriptions. If a cache security 2670// group name is specified, the list contains only the description of that group. 2671// This applicable only when you have ElastiCache in Classic setup 2672// 2673// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2674// with awserr.Error's Code and Message methods to get detailed information about 2675// the error. 2676// 2677// See the AWS API reference guide for Amazon ElastiCache's 2678// API operation DescribeCacheSecurityGroups for usage and error information. 2679// 2680// Returned Error Codes: 2681// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 2682// The requested cache security group name does not refer to an existing cache 2683// security group. 2684// 2685// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2686// The value for a parameter is invalid. 2687// 2688// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2689// Two or more incompatible parameters were specified. 2690// 2691// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSecurityGroups 2692func (c *ElastiCache) DescribeCacheSecurityGroups(input *DescribeCacheSecurityGroupsInput) (*DescribeCacheSecurityGroupsOutput, error) { 2693 req, out := c.DescribeCacheSecurityGroupsRequest(input) 2694 return out, req.Send() 2695} 2696 2697// DescribeCacheSecurityGroupsWithContext is the same as DescribeCacheSecurityGroups with the addition of 2698// the ability to pass a context and additional request options. 2699// 2700// See DescribeCacheSecurityGroups for details on how to use this API operation. 2701// 2702// The context must be non-nil and will be used for request cancellation. If 2703// the context is nil a panic will occur. In the future the SDK may create 2704// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2705// for more information on using Contexts. 2706func (c *ElastiCache) DescribeCacheSecurityGroupsWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, opts ...request.Option) (*DescribeCacheSecurityGroupsOutput, error) { 2707 req, out := c.DescribeCacheSecurityGroupsRequest(input) 2708 req.SetContext(ctx) 2709 req.ApplyOptions(opts...) 2710 return out, req.Send() 2711} 2712 2713// DescribeCacheSecurityGroupsPages iterates over the pages of a DescribeCacheSecurityGroups operation, 2714// calling the "fn" function with the response data for each page. To stop 2715// iterating, return false from the fn function. 2716// 2717// See DescribeCacheSecurityGroups method for more information on how to use this operation. 2718// 2719// Note: This operation can generate multiple requests to a service. 2720// 2721// // Example iterating over at most 3 pages of a DescribeCacheSecurityGroups operation. 2722// pageNum := 0 2723// err := client.DescribeCacheSecurityGroupsPages(params, 2724// func(page *elasticache.DescribeCacheSecurityGroupsOutput, lastPage bool) bool { 2725// pageNum++ 2726// fmt.Println(page) 2727// return pageNum <= 3 2728// }) 2729// 2730func (c *ElastiCache) DescribeCacheSecurityGroupsPages(input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool) error { 2731 return c.DescribeCacheSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2732} 2733 2734// DescribeCacheSecurityGroupsPagesWithContext same as DescribeCacheSecurityGroupsPages except 2735// it takes a Context and allows setting request options on the pages. 2736// 2737// The context must be non-nil and will be used for request cancellation. If 2738// the context is nil a panic will occur. In the future the SDK may create 2739// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2740// for more information on using Contexts. 2741func (c *ElastiCache) DescribeCacheSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSecurityGroupsInput, fn func(*DescribeCacheSecurityGroupsOutput, bool) bool, opts ...request.Option) error { 2742 p := request.Pagination{ 2743 NewRequest: func() (*request.Request, error) { 2744 var inCpy *DescribeCacheSecurityGroupsInput 2745 if input != nil { 2746 tmp := *input 2747 inCpy = &tmp 2748 } 2749 req, _ := c.DescribeCacheSecurityGroupsRequest(inCpy) 2750 req.SetContext(ctx) 2751 req.ApplyOptions(opts...) 2752 return req, nil 2753 }, 2754 } 2755 2756 for p.Next() { 2757 if !fn(p.Page().(*DescribeCacheSecurityGroupsOutput), !p.HasNextPage()) { 2758 break 2759 } 2760 } 2761 2762 return p.Err() 2763} 2764 2765const opDescribeCacheSubnetGroups = "DescribeCacheSubnetGroups" 2766 2767// DescribeCacheSubnetGroupsRequest generates a "aws/request.Request" representing the 2768// client's request for the DescribeCacheSubnetGroups operation. The "output" return 2769// value will be populated with the request's response once the request completes 2770// successfully. 2771// 2772// Use "Send" method on the returned Request to send the API call to the service. 2773// the "output" return value is not valid until after Send returns without error. 2774// 2775// See DescribeCacheSubnetGroups for more information on using the DescribeCacheSubnetGroups 2776// API call, and error handling. 2777// 2778// This method is useful when you want to inject custom logic or configuration 2779// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2780// 2781// 2782// // Example sending a request using the DescribeCacheSubnetGroupsRequest method. 2783// req, resp := client.DescribeCacheSubnetGroupsRequest(params) 2784// 2785// err := req.Send() 2786// if err == nil { // resp is now filled 2787// fmt.Println(resp) 2788// } 2789// 2790// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 2791func (c *ElastiCache) DescribeCacheSubnetGroupsRequest(input *DescribeCacheSubnetGroupsInput) (req *request.Request, output *DescribeCacheSubnetGroupsOutput) { 2792 op := &request.Operation{ 2793 Name: opDescribeCacheSubnetGroups, 2794 HTTPMethod: "POST", 2795 HTTPPath: "/", 2796 Paginator: &request.Paginator{ 2797 InputTokens: []string{"Marker"}, 2798 OutputTokens: []string{"Marker"}, 2799 LimitToken: "MaxRecords", 2800 TruncationToken: "", 2801 }, 2802 } 2803 2804 if input == nil { 2805 input = &DescribeCacheSubnetGroupsInput{} 2806 } 2807 2808 output = &DescribeCacheSubnetGroupsOutput{} 2809 req = c.newRequest(op, input, output) 2810 return 2811} 2812 2813// DescribeCacheSubnetGroups API operation for Amazon ElastiCache. 2814// 2815// Returns a list of cache subnet group descriptions. If a subnet group name 2816// is specified, the list contains only the description of that group. This 2817// is applicable only when you have ElastiCache in VPC setup. All ElastiCache 2818// clusters now launch in VPC by default. 2819// 2820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2821// with awserr.Error's Code and Message methods to get detailed information about 2822// the error. 2823// 2824// See the AWS API reference guide for Amazon ElastiCache's 2825// API operation DescribeCacheSubnetGroups for usage and error information. 2826// 2827// Returned Error Codes: 2828// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 2829// The requested cache subnet group name does not refer to an existing cache 2830// subnet group. 2831// 2832// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeCacheSubnetGroups 2833func (c *ElastiCache) DescribeCacheSubnetGroups(input *DescribeCacheSubnetGroupsInput) (*DescribeCacheSubnetGroupsOutput, error) { 2834 req, out := c.DescribeCacheSubnetGroupsRequest(input) 2835 return out, req.Send() 2836} 2837 2838// DescribeCacheSubnetGroupsWithContext is the same as DescribeCacheSubnetGroups with the addition of 2839// the ability to pass a context and additional request options. 2840// 2841// See DescribeCacheSubnetGroups for details on how to use this API operation. 2842// 2843// The context must be non-nil and will be used for request cancellation. If 2844// the context is nil a panic will occur. In the future the SDK may create 2845// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2846// for more information on using Contexts. 2847func (c *ElastiCache) DescribeCacheSubnetGroupsWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, opts ...request.Option) (*DescribeCacheSubnetGroupsOutput, error) { 2848 req, out := c.DescribeCacheSubnetGroupsRequest(input) 2849 req.SetContext(ctx) 2850 req.ApplyOptions(opts...) 2851 return out, req.Send() 2852} 2853 2854// DescribeCacheSubnetGroupsPages iterates over the pages of a DescribeCacheSubnetGroups operation, 2855// calling the "fn" function with the response data for each page. To stop 2856// iterating, return false from the fn function. 2857// 2858// See DescribeCacheSubnetGroups method for more information on how to use this operation. 2859// 2860// Note: This operation can generate multiple requests to a service. 2861// 2862// // Example iterating over at most 3 pages of a DescribeCacheSubnetGroups operation. 2863// pageNum := 0 2864// err := client.DescribeCacheSubnetGroupsPages(params, 2865// func(page *elasticache.DescribeCacheSubnetGroupsOutput, lastPage bool) bool { 2866// pageNum++ 2867// fmt.Println(page) 2868// return pageNum <= 3 2869// }) 2870// 2871func (c *ElastiCache) DescribeCacheSubnetGroupsPages(input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool) error { 2872 return c.DescribeCacheSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2873} 2874 2875// DescribeCacheSubnetGroupsPagesWithContext same as DescribeCacheSubnetGroupsPages except 2876// it takes a Context and allows setting request options on the pages. 2877// 2878// The context must be non-nil and will be used for request cancellation. If 2879// the context is nil a panic will occur. In the future the SDK may create 2880// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2881// for more information on using Contexts. 2882func (c *ElastiCache) DescribeCacheSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeCacheSubnetGroupsInput, fn func(*DescribeCacheSubnetGroupsOutput, bool) bool, opts ...request.Option) error { 2883 p := request.Pagination{ 2884 NewRequest: func() (*request.Request, error) { 2885 var inCpy *DescribeCacheSubnetGroupsInput 2886 if input != nil { 2887 tmp := *input 2888 inCpy = &tmp 2889 } 2890 req, _ := c.DescribeCacheSubnetGroupsRequest(inCpy) 2891 req.SetContext(ctx) 2892 req.ApplyOptions(opts...) 2893 return req, nil 2894 }, 2895 } 2896 2897 for p.Next() { 2898 if !fn(p.Page().(*DescribeCacheSubnetGroupsOutput), !p.HasNextPage()) { 2899 break 2900 } 2901 } 2902 2903 return p.Err() 2904} 2905 2906const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters" 2907 2908// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the 2909// client's request for the DescribeEngineDefaultParameters operation. The "output" return 2910// value will be populated with the request's response once the request completes 2911// successfully. 2912// 2913// Use "Send" method on the returned Request to send the API call to the service. 2914// the "output" return value is not valid until after Send returns without error. 2915// 2916// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters 2917// API call, and error handling. 2918// 2919// This method is useful when you want to inject custom logic or configuration 2920// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2921// 2922// 2923// // Example sending a request using the DescribeEngineDefaultParametersRequest method. 2924// req, resp := client.DescribeEngineDefaultParametersRequest(params) 2925// 2926// err := req.Send() 2927// if err == nil { // resp is now filled 2928// fmt.Println(resp) 2929// } 2930// 2931// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 2932func (c *ElastiCache) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) { 2933 op := &request.Operation{ 2934 Name: opDescribeEngineDefaultParameters, 2935 HTTPMethod: "POST", 2936 HTTPPath: "/", 2937 Paginator: &request.Paginator{ 2938 InputTokens: []string{"Marker"}, 2939 OutputTokens: []string{"EngineDefaults.Marker"}, 2940 LimitToken: "MaxRecords", 2941 TruncationToken: "", 2942 }, 2943 } 2944 2945 if input == nil { 2946 input = &DescribeEngineDefaultParametersInput{} 2947 } 2948 2949 output = &DescribeEngineDefaultParametersOutput{} 2950 req = c.newRequest(op, input, output) 2951 return 2952} 2953 2954// DescribeEngineDefaultParameters API operation for Amazon ElastiCache. 2955// 2956// Returns the default engine and system parameter information for the specified 2957// cache engine. 2958// 2959// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2960// with awserr.Error's Code and Message methods to get detailed information about 2961// the error. 2962// 2963// See the AWS API reference guide for Amazon ElastiCache's 2964// API operation DescribeEngineDefaultParameters for usage and error information. 2965// 2966// Returned Error Codes: 2967// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 2968// The value for a parameter is invalid. 2969// 2970// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 2971// Two or more incompatible parameters were specified. 2972// 2973// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEngineDefaultParameters 2974func (c *ElastiCache) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) { 2975 req, out := c.DescribeEngineDefaultParametersRequest(input) 2976 return out, req.Send() 2977} 2978 2979// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of 2980// the ability to pass a context and additional request options. 2981// 2982// See DescribeEngineDefaultParameters for details on how to use this API operation. 2983// 2984// The context must be non-nil and will be used for request cancellation. If 2985// the context is nil a panic will occur. In the future the SDK may create 2986// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2987// for more information on using Contexts. 2988func (c *ElastiCache) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) { 2989 req, out := c.DescribeEngineDefaultParametersRequest(input) 2990 req.SetContext(ctx) 2991 req.ApplyOptions(opts...) 2992 return out, req.Send() 2993} 2994 2995// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation, 2996// calling the "fn" function with the response data for each page. To stop 2997// iterating, return false from the fn function. 2998// 2999// See DescribeEngineDefaultParameters method for more information on how to use this operation. 3000// 3001// Note: This operation can generate multiple requests to a service. 3002// 3003// // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation. 3004// pageNum := 0 3005// err := client.DescribeEngineDefaultParametersPages(params, 3006// func(page *elasticache.DescribeEngineDefaultParametersOutput, lastPage bool) bool { 3007// pageNum++ 3008// fmt.Println(page) 3009// return pageNum <= 3 3010// }) 3011// 3012func (c *ElastiCache) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error { 3013 return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn) 3014} 3015 3016// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except 3017// it takes a Context and allows setting request options on the pages. 3018// 3019// The context must be non-nil and will be used for request cancellation. If 3020// the context is nil a panic will occur. In the future the SDK may create 3021// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3022// for more information on using Contexts. 3023func (c *ElastiCache) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error { 3024 p := request.Pagination{ 3025 NewRequest: func() (*request.Request, error) { 3026 var inCpy *DescribeEngineDefaultParametersInput 3027 if input != nil { 3028 tmp := *input 3029 inCpy = &tmp 3030 } 3031 req, _ := c.DescribeEngineDefaultParametersRequest(inCpy) 3032 req.SetContext(ctx) 3033 req.ApplyOptions(opts...) 3034 return req, nil 3035 }, 3036 } 3037 3038 for p.Next() { 3039 if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) { 3040 break 3041 } 3042 } 3043 3044 return p.Err() 3045} 3046 3047const opDescribeEvents = "DescribeEvents" 3048 3049// DescribeEventsRequest generates a "aws/request.Request" representing the 3050// client's request for the DescribeEvents operation. The "output" return 3051// value will be populated with the request's response once the request completes 3052// successfully. 3053// 3054// Use "Send" method on the returned Request to send the API call to the service. 3055// the "output" return value is not valid until after Send returns without error. 3056// 3057// See DescribeEvents for more information on using the DescribeEvents 3058// API call, and error handling. 3059// 3060// This method is useful when you want to inject custom logic or configuration 3061// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3062// 3063// 3064// // Example sending a request using the DescribeEventsRequest method. 3065// req, resp := client.DescribeEventsRequest(params) 3066// 3067// err := req.Send() 3068// if err == nil { // resp is now filled 3069// fmt.Println(resp) 3070// } 3071// 3072// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3073func (c *ElastiCache) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { 3074 op := &request.Operation{ 3075 Name: opDescribeEvents, 3076 HTTPMethod: "POST", 3077 HTTPPath: "/", 3078 Paginator: &request.Paginator{ 3079 InputTokens: []string{"Marker"}, 3080 OutputTokens: []string{"Marker"}, 3081 LimitToken: "MaxRecords", 3082 TruncationToken: "", 3083 }, 3084 } 3085 3086 if input == nil { 3087 input = &DescribeEventsInput{} 3088 } 3089 3090 output = &DescribeEventsOutput{} 3091 req = c.newRequest(op, input, output) 3092 return 3093} 3094 3095// DescribeEvents API operation for Amazon ElastiCache. 3096// 3097// Returns events related to clusters, cache security groups, and cache parameter 3098// groups. You can obtain events specific to a particular cluster, cache security 3099// group, or cache parameter group by providing the name as a parameter. 3100// 3101// By default, only the events occurring within the last hour are returned; 3102// however, you can retrieve up to 14 days' worth of events if necessary. 3103// 3104// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3105// with awserr.Error's Code and Message methods to get detailed information about 3106// the error. 3107// 3108// See the AWS API reference guide for Amazon ElastiCache's 3109// API operation DescribeEvents for usage and error information. 3110// 3111// Returned Error Codes: 3112// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3113// The value for a parameter is invalid. 3114// 3115// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3116// Two or more incompatible parameters were specified. 3117// 3118// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeEvents 3119func (c *ElastiCache) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { 3120 req, out := c.DescribeEventsRequest(input) 3121 return out, req.Send() 3122} 3123 3124// DescribeEventsWithContext is the same as DescribeEvents with the addition of 3125// the ability to pass a context and additional request options. 3126// 3127// See DescribeEvents for details on how to use this API operation. 3128// 3129// The context must be non-nil and will be used for request cancellation. If 3130// the context is nil a panic will occur. In the future the SDK may create 3131// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3132// for more information on using Contexts. 3133func (c *ElastiCache) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { 3134 req, out := c.DescribeEventsRequest(input) 3135 req.SetContext(ctx) 3136 req.ApplyOptions(opts...) 3137 return out, req.Send() 3138} 3139 3140// DescribeEventsPages iterates over the pages of a DescribeEvents operation, 3141// calling the "fn" function with the response data for each page. To stop 3142// iterating, return false from the fn function. 3143// 3144// See DescribeEvents method for more information on how to use this operation. 3145// 3146// Note: This operation can generate multiple requests to a service. 3147// 3148// // Example iterating over at most 3 pages of a DescribeEvents operation. 3149// pageNum := 0 3150// err := client.DescribeEventsPages(params, 3151// func(page *elasticache.DescribeEventsOutput, lastPage bool) bool { 3152// pageNum++ 3153// fmt.Println(page) 3154// return pageNum <= 3 3155// }) 3156// 3157func (c *ElastiCache) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { 3158 return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) 3159} 3160 3161// DescribeEventsPagesWithContext same as DescribeEventsPages except 3162// it takes a Context and allows setting request options on the pages. 3163// 3164// The context must be non-nil and will be used for request cancellation. If 3165// the context is nil a panic will occur. In the future the SDK may create 3166// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3167// for more information on using Contexts. 3168func (c *ElastiCache) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { 3169 p := request.Pagination{ 3170 NewRequest: func() (*request.Request, error) { 3171 var inCpy *DescribeEventsInput 3172 if input != nil { 3173 tmp := *input 3174 inCpy = &tmp 3175 } 3176 req, _ := c.DescribeEventsRequest(inCpy) 3177 req.SetContext(ctx) 3178 req.ApplyOptions(opts...) 3179 return req, nil 3180 }, 3181 } 3182 3183 for p.Next() { 3184 if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { 3185 break 3186 } 3187 } 3188 3189 return p.Err() 3190} 3191 3192const opDescribeReplicationGroups = "DescribeReplicationGroups" 3193 3194// DescribeReplicationGroupsRequest generates a "aws/request.Request" representing the 3195// client's request for the DescribeReplicationGroups operation. The "output" return 3196// value will be populated with the request's response once the request completes 3197// successfully. 3198// 3199// Use "Send" method on the returned Request to send the API call to the service. 3200// the "output" return value is not valid until after Send returns without error. 3201// 3202// See DescribeReplicationGroups for more information on using the DescribeReplicationGroups 3203// API call, and error handling. 3204// 3205// This method is useful when you want to inject custom logic or configuration 3206// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3207// 3208// 3209// // Example sending a request using the DescribeReplicationGroupsRequest method. 3210// req, resp := client.DescribeReplicationGroupsRequest(params) 3211// 3212// err := req.Send() 3213// if err == nil { // resp is now filled 3214// fmt.Println(resp) 3215// } 3216// 3217// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3218func (c *ElastiCache) DescribeReplicationGroupsRequest(input *DescribeReplicationGroupsInput) (req *request.Request, output *DescribeReplicationGroupsOutput) { 3219 op := &request.Operation{ 3220 Name: opDescribeReplicationGroups, 3221 HTTPMethod: "POST", 3222 HTTPPath: "/", 3223 Paginator: &request.Paginator{ 3224 InputTokens: []string{"Marker"}, 3225 OutputTokens: []string{"Marker"}, 3226 LimitToken: "MaxRecords", 3227 TruncationToken: "", 3228 }, 3229 } 3230 3231 if input == nil { 3232 input = &DescribeReplicationGroupsInput{} 3233 } 3234 3235 output = &DescribeReplicationGroupsOutput{} 3236 req = c.newRequest(op, input, output) 3237 return 3238} 3239 3240// DescribeReplicationGroups API operation for Amazon ElastiCache. 3241// 3242// Returns information about a particular replication group. If no identifier 3243// is specified, DescribeReplicationGroups returns information about all replication 3244// groups. 3245// 3246// This operation is valid for Redis only. 3247// 3248// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3249// with awserr.Error's Code and Message methods to get detailed information about 3250// the error. 3251// 3252// See the AWS API reference guide for Amazon ElastiCache's 3253// API operation DescribeReplicationGroups for usage and error information. 3254// 3255// Returned Error Codes: 3256// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 3257// The specified replication group does not exist. 3258// 3259// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3260// The value for a parameter is invalid. 3261// 3262// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3263// Two or more incompatible parameters were specified. 3264// 3265// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReplicationGroups 3266func (c *ElastiCache) DescribeReplicationGroups(input *DescribeReplicationGroupsInput) (*DescribeReplicationGroupsOutput, error) { 3267 req, out := c.DescribeReplicationGroupsRequest(input) 3268 return out, req.Send() 3269} 3270 3271// DescribeReplicationGroupsWithContext is the same as DescribeReplicationGroups with the addition of 3272// the ability to pass a context and additional request options. 3273// 3274// See DescribeReplicationGroups for details on how to use this API operation. 3275// 3276// The context must be non-nil and will be used for request cancellation. If 3277// the context is nil a panic will occur. In the future the SDK may create 3278// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3279// for more information on using Contexts. 3280func (c *ElastiCache) DescribeReplicationGroupsWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, opts ...request.Option) (*DescribeReplicationGroupsOutput, error) { 3281 req, out := c.DescribeReplicationGroupsRequest(input) 3282 req.SetContext(ctx) 3283 req.ApplyOptions(opts...) 3284 return out, req.Send() 3285} 3286 3287// DescribeReplicationGroupsPages iterates over the pages of a DescribeReplicationGroups operation, 3288// calling the "fn" function with the response data for each page. To stop 3289// iterating, return false from the fn function. 3290// 3291// See DescribeReplicationGroups method for more information on how to use this operation. 3292// 3293// Note: This operation can generate multiple requests to a service. 3294// 3295// // Example iterating over at most 3 pages of a DescribeReplicationGroups operation. 3296// pageNum := 0 3297// err := client.DescribeReplicationGroupsPages(params, 3298// func(page *elasticache.DescribeReplicationGroupsOutput, lastPage bool) bool { 3299// pageNum++ 3300// fmt.Println(page) 3301// return pageNum <= 3 3302// }) 3303// 3304func (c *ElastiCache) DescribeReplicationGroupsPages(input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool) error { 3305 return c.DescribeReplicationGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 3306} 3307 3308// DescribeReplicationGroupsPagesWithContext same as DescribeReplicationGroupsPages except 3309// it takes a Context and allows setting request options on the pages. 3310// 3311// The context must be non-nil and will be used for request cancellation. If 3312// the context is nil a panic will occur. In the future the SDK may create 3313// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3314// for more information on using Contexts. 3315func (c *ElastiCache) DescribeReplicationGroupsPagesWithContext(ctx aws.Context, input *DescribeReplicationGroupsInput, fn func(*DescribeReplicationGroupsOutput, bool) bool, opts ...request.Option) error { 3316 p := request.Pagination{ 3317 NewRequest: func() (*request.Request, error) { 3318 var inCpy *DescribeReplicationGroupsInput 3319 if input != nil { 3320 tmp := *input 3321 inCpy = &tmp 3322 } 3323 req, _ := c.DescribeReplicationGroupsRequest(inCpy) 3324 req.SetContext(ctx) 3325 req.ApplyOptions(opts...) 3326 return req, nil 3327 }, 3328 } 3329 3330 for p.Next() { 3331 if !fn(p.Page().(*DescribeReplicationGroupsOutput), !p.HasNextPage()) { 3332 break 3333 } 3334 } 3335 3336 return p.Err() 3337} 3338 3339const opDescribeReservedCacheNodes = "DescribeReservedCacheNodes" 3340 3341// DescribeReservedCacheNodesRequest generates a "aws/request.Request" representing the 3342// client's request for the DescribeReservedCacheNodes operation. The "output" return 3343// value will be populated with the request's response once the request completes 3344// successfully. 3345// 3346// Use "Send" method on the returned Request to send the API call to the service. 3347// the "output" return value is not valid until after Send returns without error. 3348// 3349// See DescribeReservedCacheNodes for more information on using the DescribeReservedCacheNodes 3350// API call, and error handling. 3351// 3352// This method is useful when you want to inject custom logic or configuration 3353// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3354// 3355// 3356// // Example sending a request using the DescribeReservedCacheNodesRequest method. 3357// req, resp := client.DescribeReservedCacheNodesRequest(params) 3358// 3359// err := req.Send() 3360// if err == nil { // resp is now filled 3361// fmt.Println(resp) 3362// } 3363// 3364// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3365func (c *ElastiCache) DescribeReservedCacheNodesRequest(input *DescribeReservedCacheNodesInput) (req *request.Request, output *DescribeReservedCacheNodesOutput) { 3366 op := &request.Operation{ 3367 Name: opDescribeReservedCacheNodes, 3368 HTTPMethod: "POST", 3369 HTTPPath: "/", 3370 Paginator: &request.Paginator{ 3371 InputTokens: []string{"Marker"}, 3372 OutputTokens: []string{"Marker"}, 3373 LimitToken: "MaxRecords", 3374 TruncationToken: "", 3375 }, 3376 } 3377 3378 if input == nil { 3379 input = &DescribeReservedCacheNodesInput{} 3380 } 3381 3382 output = &DescribeReservedCacheNodesOutput{} 3383 req = c.newRequest(op, input, output) 3384 return 3385} 3386 3387// DescribeReservedCacheNodes API operation for Amazon ElastiCache. 3388// 3389// Returns information about reserved cache nodes for this account, or about 3390// a specified reserved cache node. 3391// 3392// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3393// with awserr.Error's Code and Message methods to get detailed information about 3394// the error. 3395// 3396// See the AWS API reference guide for Amazon ElastiCache's 3397// API operation DescribeReservedCacheNodes for usage and error information. 3398// 3399// Returned Error Codes: 3400// * ErrCodeReservedCacheNodeNotFoundFault "ReservedCacheNodeNotFound" 3401// The requested reserved cache node was not found. 3402// 3403// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3404// The value for a parameter is invalid. 3405// 3406// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3407// Two or more incompatible parameters were specified. 3408// 3409// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodes 3410func (c *ElastiCache) DescribeReservedCacheNodes(input *DescribeReservedCacheNodesInput) (*DescribeReservedCacheNodesOutput, error) { 3411 req, out := c.DescribeReservedCacheNodesRequest(input) 3412 return out, req.Send() 3413} 3414 3415// DescribeReservedCacheNodesWithContext is the same as DescribeReservedCacheNodes with the addition of 3416// the ability to pass a context and additional request options. 3417// 3418// See DescribeReservedCacheNodes for details on how to use this API operation. 3419// 3420// The context must be non-nil and will be used for request cancellation. If 3421// the context is nil a panic will occur. In the future the SDK may create 3422// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3423// for more information on using Contexts. 3424func (c *ElastiCache) DescribeReservedCacheNodesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, opts ...request.Option) (*DescribeReservedCacheNodesOutput, error) { 3425 req, out := c.DescribeReservedCacheNodesRequest(input) 3426 req.SetContext(ctx) 3427 req.ApplyOptions(opts...) 3428 return out, req.Send() 3429} 3430 3431// DescribeReservedCacheNodesPages iterates over the pages of a DescribeReservedCacheNodes operation, 3432// calling the "fn" function with the response data for each page. To stop 3433// iterating, return false from the fn function. 3434// 3435// See DescribeReservedCacheNodes method for more information on how to use this operation. 3436// 3437// Note: This operation can generate multiple requests to a service. 3438// 3439// // Example iterating over at most 3 pages of a DescribeReservedCacheNodes operation. 3440// pageNum := 0 3441// err := client.DescribeReservedCacheNodesPages(params, 3442// func(page *elasticache.DescribeReservedCacheNodesOutput, lastPage bool) bool { 3443// pageNum++ 3444// fmt.Println(page) 3445// return pageNum <= 3 3446// }) 3447// 3448func (c *ElastiCache) DescribeReservedCacheNodesPages(input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool) error { 3449 return c.DescribeReservedCacheNodesPagesWithContext(aws.BackgroundContext(), input, fn) 3450} 3451 3452// DescribeReservedCacheNodesPagesWithContext same as DescribeReservedCacheNodesPages except 3453// it takes a Context and allows setting request options on the pages. 3454// 3455// The context must be non-nil and will be used for request cancellation. If 3456// the context is nil a panic will occur. In the future the SDK may create 3457// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3458// for more information on using Contexts. 3459func (c *ElastiCache) DescribeReservedCacheNodesPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesInput, fn func(*DescribeReservedCacheNodesOutput, bool) bool, opts ...request.Option) error { 3460 p := request.Pagination{ 3461 NewRequest: func() (*request.Request, error) { 3462 var inCpy *DescribeReservedCacheNodesInput 3463 if input != nil { 3464 tmp := *input 3465 inCpy = &tmp 3466 } 3467 req, _ := c.DescribeReservedCacheNodesRequest(inCpy) 3468 req.SetContext(ctx) 3469 req.ApplyOptions(opts...) 3470 return req, nil 3471 }, 3472 } 3473 3474 for p.Next() { 3475 if !fn(p.Page().(*DescribeReservedCacheNodesOutput), !p.HasNextPage()) { 3476 break 3477 } 3478 } 3479 3480 return p.Err() 3481} 3482 3483const opDescribeReservedCacheNodesOfferings = "DescribeReservedCacheNodesOfferings" 3484 3485// DescribeReservedCacheNodesOfferingsRequest generates a "aws/request.Request" representing the 3486// client's request for the DescribeReservedCacheNodesOfferings operation. The "output" return 3487// value will be populated with the request's response once the request completes 3488// successfully. 3489// 3490// Use "Send" method on the returned Request to send the API call to the service. 3491// the "output" return value is not valid until after Send returns without error. 3492// 3493// See DescribeReservedCacheNodesOfferings for more information on using the DescribeReservedCacheNodesOfferings 3494// API call, and error handling. 3495// 3496// This method is useful when you want to inject custom logic or configuration 3497// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3498// 3499// 3500// // Example sending a request using the DescribeReservedCacheNodesOfferingsRequest method. 3501// req, resp := client.DescribeReservedCacheNodesOfferingsRequest(params) 3502// 3503// err := req.Send() 3504// if err == nil { // resp is now filled 3505// fmt.Println(resp) 3506// } 3507// 3508// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3509func (c *ElastiCache) DescribeReservedCacheNodesOfferingsRequest(input *DescribeReservedCacheNodesOfferingsInput) (req *request.Request, output *DescribeReservedCacheNodesOfferingsOutput) { 3510 op := &request.Operation{ 3511 Name: opDescribeReservedCacheNodesOfferings, 3512 HTTPMethod: "POST", 3513 HTTPPath: "/", 3514 Paginator: &request.Paginator{ 3515 InputTokens: []string{"Marker"}, 3516 OutputTokens: []string{"Marker"}, 3517 LimitToken: "MaxRecords", 3518 TruncationToken: "", 3519 }, 3520 } 3521 3522 if input == nil { 3523 input = &DescribeReservedCacheNodesOfferingsInput{} 3524 } 3525 3526 output = &DescribeReservedCacheNodesOfferingsOutput{} 3527 req = c.newRequest(op, input, output) 3528 return 3529} 3530 3531// DescribeReservedCacheNodesOfferings API operation for Amazon ElastiCache. 3532// 3533// Lists available reserved cache node offerings. 3534// 3535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3536// with awserr.Error's Code and Message methods to get detailed information about 3537// the error. 3538// 3539// See the AWS API reference guide for Amazon ElastiCache's 3540// API operation DescribeReservedCacheNodesOfferings for usage and error information. 3541// 3542// Returned Error Codes: 3543// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 3544// The requested cache node offering does not exist. 3545// 3546// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3547// The value for a parameter is invalid. 3548// 3549// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3550// Two or more incompatible parameters were specified. 3551// 3552// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeReservedCacheNodesOfferings 3553func (c *ElastiCache) DescribeReservedCacheNodesOfferings(input *DescribeReservedCacheNodesOfferingsInput) (*DescribeReservedCacheNodesOfferingsOutput, error) { 3554 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 3555 return out, req.Send() 3556} 3557 3558// DescribeReservedCacheNodesOfferingsWithContext is the same as DescribeReservedCacheNodesOfferings with the addition of 3559// the ability to pass a context and additional request options. 3560// 3561// See DescribeReservedCacheNodesOfferings for details on how to use this API operation. 3562// 3563// The context must be non-nil and will be used for request cancellation. If 3564// the context is nil a panic will occur. In the future the SDK may create 3565// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3566// for more information on using Contexts. 3567func (c *ElastiCache) DescribeReservedCacheNodesOfferingsWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, opts ...request.Option) (*DescribeReservedCacheNodesOfferingsOutput, error) { 3568 req, out := c.DescribeReservedCacheNodesOfferingsRequest(input) 3569 req.SetContext(ctx) 3570 req.ApplyOptions(opts...) 3571 return out, req.Send() 3572} 3573 3574// DescribeReservedCacheNodesOfferingsPages iterates over the pages of a DescribeReservedCacheNodesOfferings operation, 3575// calling the "fn" function with the response data for each page. To stop 3576// iterating, return false from the fn function. 3577// 3578// See DescribeReservedCacheNodesOfferings method for more information on how to use this operation. 3579// 3580// Note: This operation can generate multiple requests to a service. 3581// 3582// // Example iterating over at most 3 pages of a DescribeReservedCacheNodesOfferings operation. 3583// pageNum := 0 3584// err := client.DescribeReservedCacheNodesOfferingsPages(params, 3585// func(page *elasticache.DescribeReservedCacheNodesOfferingsOutput, lastPage bool) bool { 3586// pageNum++ 3587// fmt.Println(page) 3588// return pageNum <= 3 3589// }) 3590// 3591func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPages(input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool) error { 3592 return c.DescribeReservedCacheNodesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn) 3593} 3594 3595// DescribeReservedCacheNodesOfferingsPagesWithContext same as DescribeReservedCacheNodesOfferingsPages except 3596// it takes a Context and allows setting request options on the pages. 3597// 3598// The context must be non-nil and will be used for request cancellation. If 3599// the context is nil a panic will occur. In the future the SDK may create 3600// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3601// for more information on using Contexts. 3602func (c *ElastiCache) DescribeReservedCacheNodesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedCacheNodesOfferingsInput, fn func(*DescribeReservedCacheNodesOfferingsOutput, bool) bool, opts ...request.Option) error { 3603 p := request.Pagination{ 3604 NewRequest: func() (*request.Request, error) { 3605 var inCpy *DescribeReservedCacheNodesOfferingsInput 3606 if input != nil { 3607 tmp := *input 3608 inCpy = &tmp 3609 } 3610 req, _ := c.DescribeReservedCacheNodesOfferingsRequest(inCpy) 3611 req.SetContext(ctx) 3612 req.ApplyOptions(opts...) 3613 return req, nil 3614 }, 3615 } 3616 3617 for p.Next() { 3618 if !fn(p.Page().(*DescribeReservedCacheNodesOfferingsOutput), !p.HasNextPage()) { 3619 break 3620 } 3621 } 3622 3623 return p.Err() 3624} 3625 3626const opDescribeServiceUpdates = "DescribeServiceUpdates" 3627 3628// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the 3629// client's request for the DescribeServiceUpdates operation. The "output" return 3630// value will be populated with the request's response once the request completes 3631// successfully. 3632// 3633// Use "Send" method on the returned Request to send the API call to the service. 3634// the "output" return value is not valid until after Send returns without error. 3635// 3636// See DescribeServiceUpdates for more information on using the DescribeServiceUpdates 3637// API call, and error handling. 3638// 3639// This method is useful when you want to inject custom logic or configuration 3640// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3641// 3642// 3643// // Example sending a request using the DescribeServiceUpdatesRequest method. 3644// req, resp := client.DescribeServiceUpdatesRequest(params) 3645// 3646// err := req.Send() 3647// if err == nil { // resp is now filled 3648// fmt.Println(resp) 3649// } 3650// 3651// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 3652func (c *ElastiCache) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { 3653 op := &request.Operation{ 3654 Name: opDescribeServiceUpdates, 3655 HTTPMethod: "POST", 3656 HTTPPath: "/", 3657 Paginator: &request.Paginator{ 3658 InputTokens: []string{"Marker"}, 3659 OutputTokens: []string{"Marker"}, 3660 LimitToken: "MaxRecords", 3661 TruncationToken: "", 3662 }, 3663 } 3664 3665 if input == nil { 3666 input = &DescribeServiceUpdatesInput{} 3667 } 3668 3669 output = &DescribeServiceUpdatesOutput{} 3670 req = c.newRequest(op, input, output) 3671 return 3672} 3673 3674// DescribeServiceUpdates API operation for Amazon ElastiCache. 3675// 3676// Returns details of the service updates 3677// 3678// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3679// with awserr.Error's Code and Message methods to get detailed information about 3680// the error. 3681// 3682// See the AWS API reference guide for Amazon ElastiCache's 3683// API operation DescribeServiceUpdates for usage and error information. 3684// 3685// Returned Error Codes: 3686// * ErrCodeServiceUpdateNotFoundFault "ServiceUpdateNotFoundFault" 3687// The service update doesn't exist 3688// 3689// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3690// The value for a parameter is invalid. 3691// 3692// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3693// Two or more incompatible parameters were specified. 3694// 3695// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeServiceUpdates 3696func (c *ElastiCache) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { 3697 req, out := c.DescribeServiceUpdatesRequest(input) 3698 return out, req.Send() 3699} 3700 3701// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of 3702// the ability to pass a context and additional request options. 3703// 3704// See DescribeServiceUpdates for details on how to use this API operation. 3705// 3706// The context must be non-nil and will be used for request cancellation. If 3707// the context is nil a panic will occur. In the future the SDK may create 3708// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3709// for more information on using Contexts. 3710func (c *ElastiCache) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { 3711 req, out := c.DescribeServiceUpdatesRequest(input) 3712 req.SetContext(ctx) 3713 req.ApplyOptions(opts...) 3714 return out, req.Send() 3715} 3716 3717// DescribeServiceUpdatesPages iterates over the pages of a DescribeServiceUpdates operation, 3718// calling the "fn" function with the response data for each page. To stop 3719// iterating, return false from the fn function. 3720// 3721// See DescribeServiceUpdates method for more information on how to use this operation. 3722// 3723// Note: This operation can generate multiple requests to a service. 3724// 3725// // Example iterating over at most 3 pages of a DescribeServiceUpdates operation. 3726// pageNum := 0 3727// err := client.DescribeServiceUpdatesPages(params, 3728// func(page *elasticache.DescribeServiceUpdatesOutput, lastPage bool) bool { 3729// pageNum++ 3730// fmt.Println(page) 3731// return pageNum <= 3 3732// }) 3733// 3734func (c *ElastiCache) DescribeServiceUpdatesPages(input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool) error { 3735 return c.DescribeServiceUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) 3736} 3737 3738// DescribeServiceUpdatesPagesWithContext same as DescribeServiceUpdatesPages except 3739// it takes a Context and allows setting request options on the pages. 3740// 3741// The context must be non-nil and will be used for request cancellation. If 3742// the context is nil a panic will occur. In the future the SDK may create 3743// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3744// for more information on using Contexts. 3745func (c *ElastiCache) DescribeServiceUpdatesPagesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, fn func(*DescribeServiceUpdatesOutput, bool) bool, opts ...request.Option) error { 3746 p := request.Pagination{ 3747 NewRequest: func() (*request.Request, error) { 3748 var inCpy *DescribeServiceUpdatesInput 3749 if input != nil { 3750 tmp := *input 3751 inCpy = &tmp 3752 } 3753 req, _ := c.DescribeServiceUpdatesRequest(inCpy) 3754 req.SetContext(ctx) 3755 req.ApplyOptions(opts...) 3756 return req, nil 3757 }, 3758 } 3759 3760 for p.Next() { 3761 if !fn(p.Page().(*DescribeServiceUpdatesOutput), !p.HasNextPage()) { 3762 break 3763 } 3764 } 3765 3766 return p.Err() 3767} 3768 3769const opDescribeSnapshots = "DescribeSnapshots" 3770 3771// DescribeSnapshotsRequest generates a "aws/request.Request" representing the 3772// client's request for the DescribeSnapshots operation. The "output" return 3773// value will be populated with the request's response once the request completes 3774// successfully. 3775// 3776// Use "Send" method on the returned Request to send the API call to the service. 3777// the "output" return value is not valid until after Send returns without error. 3778// 3779// See DescribeSnapshots for more information on using the DescribeSnapshots 3780// API call, and error handling. 3781// 3782// This method is useful when you want to inject custom logic or configuration 3783// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3784// 3785// 3786// // Example sending a request using the DescribeSnapshotsRequest method. 3787// req, resp := client.DescribeSnapshotsRequest(params) 3788// 3789// err := req.Send() 3790// if err == nil { // resp is now filled 3791// fmt.Println(resp) 3792// } 3793// 3794// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 3795func (c *ElastiCache) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { 3796 op := &request.Operation{ 3797 Name: opDescribeSnapshots, 3798 HTTPMethod: "POST", 3799 HTTPPath: "/", 3800 Paginator: &request.Paginator{ 3801 InputTokens: []string{"Marker"}, 3802 OutputTokens: []string{"Marker"}, 3803 LimitToken: "MaxRecords", 3804 TruncationToken: "", 3805 }, 3806 } 3807 3808 if input == nil { 3809 input = &DescribeSnapshotsInput{} 3810 } 3811 3812 output = &DescribeSnapshotsOutput{} 3813 req = c.newRequest(op, input, output) 3814 return 3815} 3816 3817// DescribeSnapshots API operation for Amazon ElastiCache. 3818// 3819// Returns information about cluster or replication group snapshots. By default, 3820// DescribeSnapshots lists all of your snapshots; it can optionally describe 3821// a single snapshot, or just the snapshots associated with a particular cache 3822// cluster. 3823// 3824// This operation is valid for Redis only. 3825// 3826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3827// with awserr.Error's Code and Message methods to get detailed information about 3828// the error. 3829// 3830// See the AWS API reference guide for Amazon ElastiCache's 3831// API operation DescribeSnapshots for usage and error information. 3832// 3833// Returned Error Codes: 3834// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 3835// The requested cluster ID does not refer to an existing cluster. 3836// 3837// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 3838// The requested snapshot name does not refer to an existing snapshot. 3839// 3840// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3841// The value for a parameter is invalid. 3842// 3843// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3844// Two or more incompatible parameters were specified. 3845// 3846// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeSnapshots 3847func (c *ElastiCache) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { 3848 req, out := c.DescribeSnapshotsRequest(input) 3849 return out, req.Send() 3850} 3851 3852// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of 3853// the ability to pass a context and additional request options. 3854// 3855// See DescribeSnapshots for details on how to use this API operation. 3856// 3857// The context must be non-nil and will be used for request cancellation. If 3858// the context is nil a panic will occur. In the future the SDK may create 3859// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3860// for more information on using Contexts. 3861func (c *ElastiCache) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { 3862 req, out := c.DescribeSnapshotsRequest(input) 3863 req.SetContext(ctx) 3864 req.ApplyOptions(opts...) 3865 return out, req.Send() 3866} 3867 3868// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, 3869// calling the "fn" function with the response data for each page. To stop 3870// iterating, return false from the fn function. 3871// 3872// See DescribeSnapshots method for more information on how to use this operation. 3873// 3874// Note: This operation can generate multiple requests to a service. 3875// 3876// // Example iterating over at most 3 pages of a DescribeSnapshots operation. 3877// pageNum := 0 3878// err := client.DescribeSnapshotsPages(params, 3879// func(page *elasticache.DescribeSnapshotsOutput, lastPage bool) bool { 3880// pageNum++ 3881// fmt.Println(page) 3882// return pageNum <= 3 3883// }) 3884// 3885func (c *ElastiCache) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { 3886 return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) 3887} 3888 3889// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages except 3890// it takes a Context and allows setting request options on the pages. 3891// 3892// The context must be non-nil and will be used for request cancellation. If 3893// the context is nil a panic will occur. In the future the SDK may create 3894// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3895// for more information on using Contexts. 3896func (c *ElastiCache) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { 3897 p := request.Pagination{ 3898 NewRequest: func() (*request.Request, error) { 3899 var inCpy *DescribeSnapshotsInput 3900 if input != nil { 3901 tmp := *input 3902 inCpy = &tmp 3903 } 3904 req, _ := c.DescribeSnapshotsRequest(inCpy) 3905 req.SetContext(ctx) 3906 req.ApplyOptions(opts...) 3907 return req, nil 3908 }, 3909 } 3910 3911 for p.Next() { 3912 if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { 3913 break 3914 } 3915 } 3916 3917 return p.Err() 3918} 3919 3920const opDescribeUpdateActions = "DescribeUpdateActions" 3921 3922// DescribeUpdateActionsRequest generates a "aws/request.Request" representing the 3923// client's request for the DescribeUpdateActions operation. The "output" return 3924// value will be populated with the request's response once the request completes 3925// successfully. 3926// 3927// Use "Send" method on the returned Request to send the API call to the service. 3928// the "output" return value is not valid until after Send returns without error. 3929// 3930// See DescribeUpdateActions for more information on using the DescribeUpdateActions 3931// API call, and error handling. 3932// 3933// This method is useful when you want to inject custom logic or configuration 3934// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3935// 3936// 3937// // Example sending a request using the DescribeUpdateActionsRequest method. 3938// req, resp := client.DescribeUpdateActionsRequest(params) 3939// 3940// err := req.Send() 3941// if err == nil { // resp is now filled 3942// fmt.Println(resp) 3943// } 3944// 3945// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 3946func (c *ElastiCache) DescribeUpdateActionsRequest(input *DescribeUpdateActionsInput) (req *request.Request, output *DescribeUpdateActionsOutput) { 3947 op := &request.Operation{ 3948 Name: opDescribeUpdateActions, 3949 HTTPMethod: "POST", 3950 HTTPPath: "/", 3951 Paginator: &request.Paginator{ 3952 InputTokens: []string{"Marker"}, 3953 OutputTokens: []string{"Marker"}, 3954 LimitToken: "MaxRecords", 3955 TruncationToken: "", 3956 }, 3957 } 3958 3959 if input == nil { 3960 input = &DescribeUpdateActionsInput{} 3961 } 3962 3963 output = &DescribeUpdateActionsOutput{} 3964 req = c.newRequest(op, input, output) 3965 return 3966} 3967 3968// DescribeUpdateActions API operation for Amazon ElastiCache. 3969// 3970// Returns details of the update actions 3971// 3972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3973// with awserr.Error's Code and Message methods to get detailed information about 3974// the error. 3975// 3976// See the AWS API reference guide for Amazon ElastiCache's 3977// API operation DescribeUpdateActions for usage and error information. 3978// 3979// Returned Error Codes: 3980// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 3981// The value for a parameter is invalid. 3982// 3983// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 3984// Two or more incompatible parameters were specified. 3985// 3986// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/DescribeUpdateActions 3987func (c *ElastiCache) DescribeUpdateActions(input *DescribeUpdateActionsInput) (*DescribeUpdateActionsOutput, error) { 3988 req, out := c.DescribeUpdateActionsRequest(input) 3989 return out, req.Send() 3990} 3991 3992// DescribeUpdateActionsWithContext is the same as DescribeUpdateActions with the addition of 3993// the ability to pass a context and additional request options. 3994// 3995// See DescribeUpdateActions for details on how to use this API operation. 3996// 3997// The context must be non-nil and will be used for request cancellation. If 3998// the context is nil a panic will occur. In the future the SDK may create 3999// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4000// for more information on using Contexts. 4001func (c *ElastiCache) DescribeUpdateActionsWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, opts ...request.Option) (*DescribeUpdateActionsOutput, error) { 4002 req, out := c.DescribeUpdateActionsRequest(input) 4003 req.SetContext(ctx) 4004 req.ApplyOptions(opts...) 4005 return out, req.Send() 4006} 4007 4008// DescribeUpdateActionsPages iterates over the pages of a DescribeUpdateActions operation, 4009// calling the "fn" function with the response data for each page. To stop 4010// iterating, return false from the fn function. 4011// 4012// See DescribeUpdateActions method for more information on how to use this operation. 4013// 4014// Note: This operation can generate multiple requests to a service. 4015// 4016// // Example iterating over at most 3 pages of a DescribeUpdateActions operation. 4017// pageNum := 0 4018// err := client.DescribeUpdateActionsPages(params, 4019// func(page *elasticache.DescribeUpdateActionsOutput, lastPage bool) bool { 4020// pageNum++ 4021// fmt.Println(page) 4022// return pageNum <= 3 4023// }) 4024// 4025func (c *ElastiCache) DescribeUpdateActionsPages(input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool) error { 4026 return c.DescribeUpdateActionsPagesWithContext(aws.BackgroundContext(), input, fn) 4027} 4028 4029// DescribeUpdateActionsPagesWithContext same as DescribeUpdateActionsPages except 4030// it takes a Context and allows setting request options on the pages. 4031// 4032// The context must be non-nil and will be used for request cancellation. If 4033// the context is nil a panic will occur. In the future the SDK may create 4034// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4035// for more information on using Contexts. 4036func (c *ElastiCache) DescribeUpdateActionsPagesWithContext(ctx aws.Context, input *DescribeUpdateActionsInput, fn func(*DescribeUpdateActionsOutput, bool) bool, opts ...request.Option) error { 4037 p := request.Pagination{ 4038 NewRequest: func() (*request.Request, error) { 4039 var inCpy *DescribeUpdateActionsInput 4040 if input != nil { 4041 tmp := *input 4042 inCpy = &tmp 4043 } 4044 req, _ := c.DescribeUpdateActionsRequest(inCpy) 4045 req.SetContext(ctx) 4046 req.ApplyOptions(opts...) 4047 return req, nil 4048 }, 4049 } 4050 4051 for p.Next() { 4052 if !fn(p.Page().(*DescribeUpdateActionsOutput), !p.HasNextPage()) { 4053 break 4054 } 4055 } 4056 4057 return p.Err() 4058} 4059 4060const opIncreaseReplicaCount = "IncreaseReplicaCount" 4061 4062// IncreaseReplicaCountRequest generates a "aws/request.Request" representing the 4063// client's request for the IncreaseReplicaCount operation. The "output" return 4064// value will be populated with the request's response once the request completes 4065// successfully. 4066// 4067// Use "Send" method on the returned Request to send the API call to the service. 4068// the "output" return value is not valid until after Send returns without error. 4069// 4070// See IncreaseReplicaCount for more information on using the IncreaseReplicaCount 4071// API call, and error handling. 4072// 4073// This method is useful when you want to inject custom logic or configuration 4074// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4075// 4076// 4077// // Example sending a request using the IncreaseReplicaCountRequest method. 4078// req, resp := client.IncreaseReplicaCountRequest(params) 4079// 4080// err := req.Send() 4081// if err == nil { // resp is now filled 4082// fmt.Println(resp) 4083// } 4084// 4085// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4086func (c *ElastiCache) IncreaseReplicaCountRequest(input *IncreaseReplicaCountInput) (req *request.Request, output *IncreaseReplicaCountOutput) { 4087 op := &request.Operation{ 4088 Name: opIncreaseReplicaCount, 4089 HTTPMethod: "POST", 4090 HTTPPath: "/", 4091 } 4092 4093 if input == nil { 4094 input = &IncreaseReplicaCountInput{} 4095 } 4096 4097 output = &IncreaseReplicaCountOutput{} 4098 req = c.newRequest(op, input, output) 4099 return 4100} 4101 4102// IncreaseReplicaCount API operation for Amazon ElastiCache. 4103// 4104// Dynamically increases the number of replics in a Redis (cluster mode disabled) 4105// replication group or the number of replica nodes in one or more node groups 4106// (shards) of a Redis (cluster mode enabled) replication group. This operation 4107// is performed with no cluster down time. 4108// 4109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4110// with awserr.Error's Code and Message methods to get detailed information about 4111// the error. 4112// 4113// See the AWS API reference guide for Amazon ElastiCache's 4114// API operation IncreaseReplicaCount for usage and error information. 4115// 4116// Returned Error Codes: 4117// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4118// The specified replication group does not exist. 4119// 4120// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4121// The requested replication group is not in the available state. 4122// 4123// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4124// The requested cluster is not in the available state. 4125// 4126// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4127// The VPC network is in an invalid state. 4128// 4129// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4130// The requested cache node type is not available in the specified Availability 4131// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4132// in the ElastiCache User Guide. 4133// 4134// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceeded" 4135// The request cannot be processed because it would exceed the allowed number 4136// of clusters per customer. 4137// 4138// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 4139// The request cannot be processed because it would exceed the maximum allowed 4140// number of node groups (shards) in a single replication group. The default 4141// maximum is 90 4142// 4143// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4144// The request cannot be processed because it would exceed the allowed number 4145// of cache nodes per customer. 4146// 4147// * ErrCodeNoOperationFault "NoOperationFault" 4148// The operation was not performed because no changes were required. 4149// 4150// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 4151// The KMS key supplied is not valid. 4152// 4153// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4154// The value for a parameter is invalid. 4155// 4156// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4157// Two or more incompatible parameters were specified. 4158// 4159// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/IncreaseReplicaCount 4160func (c *ElastiCache) IncreaseReplicaCount(input *IncreaseReplicaCountInput) (*IncreaseReplicaCountOutput, error) { 4161 req, out := c.IncreaseReplicaCountRequest(input) 4162 return out, req.Send() 4163} 4164 4165// IncreaseReplicaCountWithContext is the same as IncreaseReplicaCount with the addition of 4166// the ability to pass a context and additional request options. 4167// 4168// See IncreaseReplicaCount for details on how to use this API operation. 4169// 4170// The context must be non-nil and will be used for request cancellation. If 4171// the context is nil a panic will occur. In the future the SDK may create 4172// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4173// for more information on using Contexts. 4174func (c *ElastiCache) IncreaseReplicaCountWithContext(ctx aws.Context, input *IncreaseReplicaCountInput, opts ...request.Option) (*IncreaseReplicaCountOutput, error) { 4175 req, out := c.IncreaseReplicaCountRequest(input) 4176 req.SetContext(ctx) 4177 req.ApplyOptions(opts...) 4178 return out, req.Send() 4179} 4180 4181const opListAllowedNodeTypeModifications = "ListAllowedNodeTypeModifications" 4182 4183// ListAllowedNodeTypeModificationsRequest generates a "aws/request.Request" representing the 4184// client's request for the ListAllowedNodeTypeModifications operation. The "output" return 4185// value will be populated with the request's response once the request completes 4186// successfully. 4187// 4188// Use "Send" method on the returned Request to send the API call to the service. 4189// the "output" return value is not valid until after Send returns without error. 4190// 4191// See ListAllowedNodeTypeModifications for more information on using the ListAllowedNodeTypeModifications 4192// API call, and error handling. 4193// 4194// This method is useful when you want to inject custom logic or configuration 4195// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4196// 4197// 4198// // Example sending a request using the ListAllowedNodeTypeModificationsRequest method. 4199// req, resp := client.ListAllowedNodeTypeModificationsRequest(params) 4200// 4201// err := req.Send() 4202// if err == nil { // resp is now filled 4203// fmt.Println(resp) 4204// } 4205// 4206// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4207func (c *ElastiCache) ListAllowedNodeTypeModificationsRequest(input *ListAllowedNodeTypeModificationsInput) (req *request.Request, output *ListAllowedNodeTypeModificationsOutput) { 4208 op := &request.Operation{ 4209 Name: opListAllowedNodeTypeModifications, 4210 HTTPMethod: "POST", 4211 HTTPPath: "/", 4212 } 4213 4214 if input == nil { 4215 input = &ListAllowedNodeTypeModificationsInput{} 4216 } 4217 4218 output = &ListAllowedNodeTypeModificationsOutput{} 4219 req = c.newRequest(op, input, output) 4220 return 4221} 4222 4223// ListAllowedNodeTypeModifications API operation for Amazon ElastiCache. 4224// 4225// Lists all available node types that you can scale your Redis cluster's or 4226// replication group's current node type. 4227// 4228// When you use the ModifyCacheCluster or ModifyReplicationGroup operations 4229// to scale your cluster or replication group, the value of the CacheNodeType 4230// parameter must be one of the node types returned by this operation. 4231// 4232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4233// with awserr.Error's Code and Message methods to get detailed information about 4234// the error. 4235// 4236// See the AWS API reference guide for Amazon ElastiCache's 4237// API operation ListAllowedNodeTypeModifications for usage and error information. 4238// 4239// Returned Error Codes: 4240// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4241// The requested cluster ID does not refer to an existing cluster. 4242// 4243// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4244// The specified replication group does not exist. 4245// 4246// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4247// Two or more incompatible parameters were specified. 4248// 4249// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4250// The value for a parameter is invalid. 4251// 4252// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListAllowedNodeTypeModifications 4253func (c *ElastiCache) ListAllowedNodeTypeModifications(input *ListAllowedNodeTypeModificationsInput) (*ListAllowedNodeTypeModificationsOutput, error) { 4254 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4255 return out, req.Send() 4256} 4257 4258// ListAllowedNodeTypeModificationsWithContext is the same as ListAllowedNodeTypeModifications with the addition of 4259// the ability to pass a context and additional request options. 4260// 4261// See ListAllowedNodeTypeModifications for details on how to use this API operation. 4262// 4263// The context must be non-nil and will be used for request cancellation. If 4264// the context is nil a panic will occur. In the future the SDK may create 4265// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4266// for more information on using Contexts. 4267func (c *ElastiCache) ListAllowedNodeTypeModificationsWithContext(ctx aws.Context, input *ListAllowedNodeTypeModificationsInput, opts ...request.Option) (*ListAllowedNodeTypeModificationsOutput, error) { 4268 req, out := c.ListAllowedNodeTypeModificationsRequest(input) 4269 req.SetContext(ctx) 4270 req.ApplyOptions(opts...) 4271 return out, req.Send() 4272} 4273 4274const opListTagsForResource = "ListTagsForResource" 4275 4276// ListTagsForResourceRequest generates a "aws/request.Request" representing the 4277// client's request for the ListTagsForResource operation. The "output" return 4278// value will be populated with the request's response once the request completes 4279// successfully. 4280// 4281// Use "Send" method on the returned Request to send the API call to the service. 4282// the "output" return value is not valid until after Send returns without error. 4283// 4284// See ListTagsForResource for more information on using the ListTagsForResource 4285// API call, and error handling. 4286// 4287// This method is useful when you want to inject custom logic or configuration 4288// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4289// 4290// 4291// // Example sending a request using the ListTagsForResourceRequest method. 4292// req, resp := client.ListTagsForResourceRequest(params) 4293// 4294// err := req.Send() 4295// if err == nil { // resp is now filled 4296// fmt.Println(resp) 4297// } 4298// 4299// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 4300func (c *ElastiCache) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *TagListMessage) { 4301 op := &request.Operation{ 4302 Name: opListTagsForResource, 4303 HTTPMethod: "POST", 4304 HTTPPath: "/", 4305 } 4306 4307 if input == nil { 4308 input = &ListTagsForResourceInput{} 4309 } 4310 4311 output = &TagListMessage{} 4312 req = c.newRequest(op, input, output) 4313 return 4314} 4315 4316// ListTagsForResource API operation for Amazon ElastiCache. 4317// 4318// Lists all cost allocation tags currently on the named resource. A cost allocation 4319// tag is a key-value pair where the key is case-sensitive and the value is 4320// optional. You can use cost allocation tags to categorize and track your AWS 4321// costs. 4322// 4323// If the cluster is not in the available state, ListTagsForResource returns 4324// an error. 4325// 4326// You can have a maximum of 50 cost allocation tags on an ElastiCache resource. 4327// For more information, see Monitoring Costs with Tags (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Tagging.html). 4328// 4329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4330// with awserr.Error's Code and Message methods to get detailed information about 4331// the error. 4332// 4333// See the AWS API reference guide for Amazon ElastiCache's 4334// API operation ListTagsForResource for usage and error information. 4335// 4336// Returned Error Codes: 4337// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4338// The requested cluster ID does not refer to an existing cluster. 4339// 4340// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 4341// The requested snapshot name does not refer to an existing snapshot. 4342// 4343// * ErrCodeInvalidARNFault "InvalidARN" 4344// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 4345// 4346// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ListTagsForResource 4347func (c *ElastiCache) ListTagsForResource(input *ListTagsForResourceInput) (*TagListMessage, error) { 4348 req, out := c.ListTagsForResourceRequest(input) 4349 return out, req.Send() 4350} 4351 4352// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 4353// the ability to pass a context and additional request options. 4354// 4355// See ListTagsForResource for details on how to use this API operation. 4356// 4357// The context must be non-nil and will be used for request cancellation. If 4358// the context is nil a panic will occur. In the future the SDK may create 4359// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4360// for more information on using Contexts. 4361func (c *ElastiCache) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*TagListMessage, error) { 4362 req, out := c.ListTagsForResourceRequest(input) 4363 req.SetContext(ctx) 4364 req.ApplyOptions(opts...) 4365 return out, req.Send() 4366} 4367 4368const opModifyCacheCluster = "ModifyCacheCluster" 4369 4370// ModifyCacheClusterRequest generates a "aws/request.Request" representing the 4371// client's request for the ModifyCacheCluster operation. The "output" return 4372// value will be populated with the request's response once the request completes 4373// successfully. 4374// 4375// Use "Send" method on the returned Request to send the API call to the service. 4376// the "output" return value is not valid until after Send returns without error. 4377// 4378// See ModifyCacheCluster for more information on using the ModifyCacheCluster 4379// API call, and error handling. 4380// 4381// This method is useful when you want to inject custom logic or configuration 4382// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4383// 4384// 4385// // Example sending a request using the ModifyCacheClusterRequest method. 4386// req, resp := client.ModifyCacheClusterRequest(params) 4387// 4388// err := req.Send() 4389// if err == nil { // resp is now filled 4390// fmt.Println(resp) 4391// } 4392// 4393// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 4394func (c *ElastiCache) ModifyCacheClusterRequest(input *ModifyCacheClusterInput) (req *request.Request, output *ModifyCacheClusterOutput) { 4395 op := &request.Operation{ 4396 Name: opModifyCacheCluster, 4397 HTTPMethod: "POST", 4398 HTTPPath: "/", 4399 } 4400 4401 if input == nil { 4402 input = &ModifyCacheClusterInput{} 4403 } 4404 4405 output = &ModifyCacheClusterOutput{} 4406 req = c.newRequest(op, input, output) 4407 return 4408} 4409 4410// ModifyCacheCluster API operation for Amazon ElastiCache. 4411// 4412// Modifies the settings for a cluster. You can use this operation to change 4413// one or more cluster configuration parameters by specifying the parameters 4414// and the new values. 4415// 4416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4417// with awserr.Error's Code and Message methods to get detailed information about 4418// the error. 4419// 4420// See the AWS API reference guide for Amazon ElastiCache's 4421// API operation ModifyCacheCluster for usage and error information. 4422// 4423// Returned Error Codes: 4424// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4425// The requested cluster is not in the available state. 4426// 4427// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 4428// The current state of the cache security group does not allow deletion. 4429// 4430// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4431// The requested cache node type is not available in the specified Availability 4432// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4433// in the ElastiCache User Guide. 4434// 4435// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4436// The requested cluster ID does not refer to an existing cluster. 4437// 4438// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 4439// The request cannot be processed because it would exceed the allowed number 4440// of cache nodes in a single cluster. 4441// 4442// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4443// The request cannot be processed because it would exceed the allowed number 4444// of cache nodes per customer. 4445// 4446// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 4447// The requested cache security group name does not refer to an existing cache 4448// security group. 4449// 4450// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 4451// The requested cache parameter group name does not refer to an existing cache 4452// parameter group. 4453// 4454// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4455// The VPC network is in an invalid state. 4456// 4457// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4458// The value for a parameter is invalid. 4459// 4460// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4461// Two or more incompatible parameters were specified. 4462// 4463// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheCluster 4464func (c *ElastiCache) ModifyCacheCluster(input *ModifyCacheClusterInput) (*ModifyCacheClusterOutput, error) { 4465 req, out := c.ModifyCacheClusterRequest(input) 4466 return out, req.Send() 4467} 4468 4469// ModifyCacheClusterWithContext is the same as ModifyCacheCluster with the addition of 4470// the ability to pass a context and additional request options. 4471// 4472// See ModifyCacheCluster for details on how to use this API operation. 4473// 4474// The context must be non-nil and will be used for request cancellation. If 4475// the context is nil a panic will occur. In the future the SDK may create 4476// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4477// for more information on using Contexts. 4478func (c *ElastiCache) ModifyCacheClusterWithContext(ctx aws.Context, input *ModifyCacheClusterInput, opts ...request.Option) (*ModifyCacheClusterOutput, error) { 4479 req, out := c.ModifyCacheClusterRequest(input) 4480 req.SetContext(ctx) 4481 req.ApplyOptions(opts...) 4482 return out, req.Send() 4483} 4484 4485const opModifyCacheParameterGroup = "ModifyCacheParameterGroup" 4486 4487// ModifyCacheParameterGroupRequest generates a "aws/request.Request" representing the 4488// client's request for the ModifyCacheParameterGroup operation. The "output" return 4489// value will be populated with the request's response once the request completes 4490// successfully. 4491// 4492// Use "Send" method on the returned Request to send the API call to the service. 4493// the "output" return value is not valid until after Send returns without error. 4494// 4495// See ModifyCacheParameterGroup for more information on using the ModifyCacheParameterGroup 4496// API call, and error handling. 4497// 4498// This method is useful when you want to inject custom logic or configuration 4499// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4500// 4501// 4502// // Example sending a request using the ModifyCacheParameterGroupRequest method. 4503// req, resp := client.ModifyCacheParameterGroupRequest(params) 4504// 4505// err := req.Send() 4506// if err == nil { // resp is now filled 4507// fmt.Println(resp) 4508// } 4509// 4510// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 4511func (c *ElastiCache) ModifyCacheParameterGroupRequest(input *ModifyCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 4512 op := &request.Operation{ 4513 Name: opModifyCacheParameterGroup, 4514 HTTPMethod: "POST", 4515 HTTPPath: "/", 4516 } 4517 4518 if input == nil { 4519 input = &ModifyCacheParameterGroupInput{} 4520 } 4521 4522 output = &CacheParameterGroupNameMessage{} 4523 req = c.newRequest(op, input, output) 4524 return 4525} 4526 4527// ModifyCacheParameterGroup API operation for Amazon ElastiCache. 4528// 4529// Modifies the parameters of a cache parameter group. You can modify up to 4530// 20 parameters in a single request by submitting a list parameter name and 4531// value pairs. 4532// 4533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4534// with awserr.Error's Code and Message methods to get detailed information about 4535// the error. 4536// 4537// See the AWS API reference guide for Amazon ElastiCache's 4538// API operation ModifyCacheParameterGroup for usage and error information. 4539// 4540// Returned Error Codes: 4541// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 4542// The requested cache parameter group name does not refer to an existing cache 4543// parameter group. 4544// 4545// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 4546// The current state of the cache parameter group does not allow the requested 4547// operation to occur. 4548// 4549// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4550// The value for a parameter is invalid. 4551// 4552// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4553// Two or more incompatible parameters were specified. 4554// 4555// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheParameterGroup 4556func (c *ElastiCache) ModifyCacheParameterGroup(input *ModifyCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 4557 req, out := c.ModifyCacheParameterGroupRequest(input) 4558 return out, req.Send() 4559} 4560 4561// ModifyCacheParameterGroupWithContext is the same as ModifyCacheParameterGroup with the addition of 4562// the ability to pass a context and additional request options. 4563// 4564// See ModifyCacheParameterGroup for details on how to use this API operation. 4565// 4566// The context must be non-nil and will be used for request cancellation. If 4567// the context is nil a panic will occur. In the future the SDK may create 4568// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4569// for more information on using Contexts. 4570func (c *ElastiCache) ModifyCacheParameterGroupWithContext(ctx aws.Context, input *ModifyCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 4571 req, out := c.ModifyCacheParameterGroupRequest(input) 4572 req.SetContext(ctx) 4573 req.ApplyOptions(opts...) 4574 return out, req.Send() 4575} 4576 4577const opModifyCacheSubnetGroup = "ModifyCacheSubnetGroup" 4578 4579// ModifyCacheSubnetGroupRequest generates a "aws/request.Request" representing the 4580// client's request for the ModifyCacheSubnetGroup operation. The "output" return 4581// value will be populated with the request's response once the request completes 4582// successfully. 4583// 4584// Use "Send" method on the returned Request to send the API call to the service. 4585// the "output" return value is not valid until after Send returns without error. 4586// 4587// See ModifyCacheSubnetGroup for more information on using the ModifyCacheSubnetGroup 4588// API call, and error handling. 4589// 4590// This method is useful when you want to inject custom logic or configuration 4591// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4592// 4593// 4594// // Example sending a request using the ModifyCacheSubnetGroupRequest method. 4595// req, resp := client.ModifyCacheSubnetGroupRequest(params) 4596// 4597// err := req.Send() 4598// if err == nil { // resp is now filled 4599// fmt.Println(resp) 4600// } 4601// 4602// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 4603func (c *ElastiCache) ModifyCacheSubnetGroupRequest(input *ModifyCacheSubnetGroupInput) (req *request.Request, output *ModifyCacheSubnetGroupOutput) { 4604 op := &request.Operation{ 4605 Name: opModifyCacheSubnetGroup, 4606 HTTPMethod: "POST", 4607 HTTPPath: "/", 4608 } 4609 4610 if input == nil { 4611 input = &ModifyCacheSubnetGroupInput{} 4612 } 4613 4614 output = &ModifyCacheSubnetGroupOutput{} 4615 req = c.newRequest(op, input, output) 4616 return 4617} 4618 4619// ModifyCacheSubnetGroup API operation for Amazon ElastiCache. 4620// 4621// Modifies an existing cache subnet group. 4622// 4623// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4624// with awserr.Error's Code and Message methods to get detailed information about 4625// the error. 4626// 4627// See the AWS API reference guide for Amazon ElastiCache's 4628// API operation ModifyCacheSubnetGroup for usage and error information. 4629// 4630// Returned Error Codes: 4631// * ErrCodeCacheSubnetGroupNotFoundFault "CacheSubnetGroupNotFoundFault" 4632// The requested cache subnet group name does not refer to an existing cache 4633// subnet group. 4634// 4635// * ErrCodeCacheSubnetQuotaExceededFault "CacheSubnetQuotaExceededFault" 4636// The request cannot be processed because it would exceed the allowed number 4637// of subnets in a cache subnet group. 4638// 4639// * ErrCodeSubnetInUse "SubnetInUse" 4640// The requested subnet is being used by another cache subnet group. 4641// 4642// * ErrCodeInvalidSubnet "InvalidSubnet" 4643// An invalid subnet identifier was specified. 4644// 4645// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyCacheSubnetGroup 4646func (c *ElastiCache) ModifyCacheSubnetGroup(input *ModifyCacheSubnetGroupInput) (*ModifyCacheSubnetGroupOutput, error) { 4647 req, out := c.ModifyCacheSubnetGroupRequest(input) 4648 return out, req.Send() 4649} 4650 4651// ModifyCacheSubnetGroupWithContext is the same as ModifyCacheSubnetGroup with the addition of 4652// the ability to pass a context and additional request options. 4653// 4654// See ModifyCacheSubnetGroup for details on how to use this API operation. 4655// 4656// The context must be non-nil and will be used for request cancellation. If 4657// the context is nil a panic will occur. In the future the SDK may create 4658// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4659// for more information on using Contexts. 4660func (c *ElastiCache) ModifyCacheSubnetGroupWithContext(ctx aws.Context, input *ModifyCacheSubnetGroupInput, opts ...request.Option) (*ModifyCacheSubnetGroupOutput, error) { 4661 req, out := c.ModifyCacheSubnetGroupRequest(input) 4662 req.SetContext(ctx) 4663 req.ApplyOptions(opts...) 4664 return out, req.Send() 4665} 4666 4667const opModifyReplicationGroup = "ModifyReplicationGroup" 4668 4669// ModifyReplicationGroupRequest generates a "aws/request.Request" representing the 4670// client's request for the ModifyReplicationGroup operation. The "output" return 4671// value will be populated with the request's response once the request completes 4672// successfully. 4673// 4674// Use "Send" method on the returned Request to send the API call to the service. 4675// the "output" return value is not valid until after Send returns without error. 4676// 4677// See ModifyReplicationGroup for more information on using the ModifyReplicationGroup 4678// API call, and error handling. 4679// 4680// This method is useful when you want to inject custom logic or configuration 4681// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4682// 4683// 4684// // Example sending a request using the ModifyReplicationGroupRequest method. 4685// req, resp := client.ModifyReplicationGroupRequest(params) 4686// 4687// err := req.Send() 4688// if err == nil { // resp is now filled 4689// fmt.Println(resp) 4690// } 4691// 4692// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 4693func (c *ElastiCache) ModifyReplicationGroupRequest(input *ModifyReplicationGroupInput) (req *request.Request, output *ModifyReplicationGroupOutput) { 4694 op := &request.Operation{ 4695 Name: opModifyReplicationGroup, 4696 HTTPMethod: "POST", 4697 HTTPPath: "/", 4698 } 4699 4700 if input == nil { 4701 input = &ModifyReplicationGroupInput{} 4702 } 4703 4704 output = &ModifyReplicationGroupOutput{} 4705 req = c.newRequest(op, input, output) 4706 return 4707} 4708 4709// ModifyReplicationGroup API operation for Amazon ElastiCache. 4710// 4711// Modifies the settings for a replication group. 4712// 4713// For Redis (cluster mode enabled) clusters, this operation cannot be used 4714// to change a cluster's node type or engine version. For more information, 4715// see: 4716// 4717// * Scaling for Amazon ElastiCache for Redis (cluster mode enabled) (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/scaling-redis-cluster-mode-enabled.html) 4718// in the ElastiCache User Guide 4719// 4720// * ModifyReplicationGroupShardConfiguration (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html) 4721// in the ElastiCache API Reference 4722// 4723// This operation is valid for Redis only. 4724// 4725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4726// with awserr.Error's Code and Message methods to get detailed information about 4727// the error. 4728// 4729// See the AWS API reference guide for Amazon ElastiCache's 4730// API operation ModifyReplicationGroup for usage and error information. 4731// 4732// Returned Error Codes: 4733// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4734// The specified replication group does not exist. 4735// 4736// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4737// The requested replication group is not in the available state. 4738// 4739// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4740// The requested cluster is not in the available state. 4741// 4742// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 4743// The current state of the cache security group does not allow deletion. 4744// 4745// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4746// The requested cache node type is not available in the specified Availability 4747// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4748// in the ElastiCache User Guide. 4749// 4750// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 4751// The requested cluster ID does not refer to an existing cluster. 4752// 4753// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceeded" 4754// The request cannot be processed because it would exceed the allowed number 4755// of cache nodes in a single cluster. 4756// 4757// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4758// The request cannot be processed because it would exceed the allowed number 4759// of cache nodes per customer. 4760// 4761// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 4762// The requested cache security group name does not refer to an existing cache 4763// security group. 4764// 4765// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 4766// The requested cache parameter group name does not refer to an existing cache 4767// parameter group. 4768// 4769// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4770// The VPC network is in an invalid state. 4771// 4772// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 4773// The KMS key supplied is not valid. 4774// 4775// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4776// The value for a parameter is invalid. 4777// 4778// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4779// Two or more incompatible parameters were specified. 4780// 4781// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroup 4782func (c *ElastiCache) ModifyReplicationGroup(input *ModifyReplicationGroupInput) (*ModifyReplicationGroupOutput, error) { 4783 req, out := c.ModifyReplicationGroupRequest(input) 4784 return out, req.Send() 4785} 4786 4787// ModifyReplicationGroupWithContext is the same as ModifyReplicationGroup with the addition of 4788// the ability to pass a context and additional request options. 4789// 4790// See ModifyReplicationGroup for details on how to use this API operation. 4791// 4792// The context must be non-nil and will be used for request cancellation. If 4793// the context is nil a panic will occur. In the future the SDK may create 4794// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4795// for more information on using Contexts. 4796func (c *ElastiCache) ModifyReplicationGroupWithContext(ctx aws.Context, input *ModifyReplicationGroupInput, opts ...request.Option) (*ModifyReplicationGroupOutput, error) { 4797 req, out := c.ModifyReplicationGroupRequest(input) 4798 req.SetContext(ctx) 4799 req.ApplyOptions(opts...) 4800 return out, req.Send() 4801} 4802 4803const opModifyReplicationGroupShardConfiguration = "ModifyReplicationGroupShardConfiguration" 4804 4805// ModifyReplicationGroupShardConfigurationRequest generates a "aws/request.Request" representing the 4806// client's request for the ModifyReplicationGroupShardConfiguration operation. The "output" return 4807// value will be populated with the request's response once the request completes 4808// successfully. 4809// 4810// Use "Send" method on the returned Request to send the API call to the service. 4811// the "output" return value is not valid until after Send returns without error. 4812// 4813// See ModifyReplicationGroupShardConfiguration for more information on using the ModifyReplicationGroupShardConfiguration 4814// API call, and error handling. 4815// 4816// This method is useful when you want to inject custom logic or configuration 4817// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4818// 4819// 4820// // Example sending a request using the ModifyReplicationGroupShardConfigurationRequest method. 4821// req, resp := client.ModifyReplicationGroupShardConfigurationRequest(params) 4822// 4823// err := req.Send() 4824// if err == nil { // resp is now filled 4825// fmt.Println(resp) 4826// } 4827// 4828// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 4829func (c *ElastiCache) ModifyReplicationGroupShardConfigurationRequest(input *ModifyReplicationGroupShardConfigurationInput) (req *request.Request, output *ModifyReplicationGroupShardConfigurationOutput) { 4830 op := &request.Operation{ 4831 Name: opModifyReplicationGroupShardConfiguration, 4832 HTTPMethod: "POST", 4833 HTTPPath: "/", 4834 } 4835 4836 if input == nil { 4837 input = &ModifyReplicationGroupShardConfigurationInput{} 4838 } 4839 4840 output = &ModifyReplicationGroupShardConfigurationOutput{} 4841 req = c.newRequest(op, input, output) 4842 return 4843} 4844 4845// ModifyReplicationGroupShardConfiguration API operation for Amazon ElastiCache. 4846// 4847// Modifies a replication group's shards (node groups) by allowing you to add 4848// shards, remove shards, or rebalance the keyspaces among exisiting shards. 4849// 4850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4851// with awserr.Error's Code and Message methods to get detailed information about 4852// the error. 4853// 4854// See the AWS API reference guide for Amazon ElastiCache's 4855// API operation ModifyReplicationGroupShardConfiguration for usage and error information. 4856// 4857// Returned Error Codes: 4858// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 4859// The specified replication group does not exist. 4860// 4861// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 4862// The requested replication group is not in the available state. 4863// 4864// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 4865// The requested cluster is not in the available state. 4866// 4867// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" 4868// The VPC network is in an invalid state. 4869// 4870// * ErrCodeInsufficientCacheClusterCapacityFault "InsufficientCacheClusterCapacity" 4871// The requested cache node type is not available in the specified Availability 4872// Zone. For more information, see InsufficientCacheClusterCapacity (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ErrorMessages.html#ErrorMessages.INSUFFICIENT_CACHE_CLUSTER_CAPACITY) 4873// in the ElastiCache User Guide. 4874// 4875// * ErrCodeNodeGroupsPerReplicationGroupQuotaExceededFault "NodeGroupsPerReplicationGroupQuotaExceeded" 4876// The request cannot be processed because it would exceed the maximum allowed 4877// number of node groups (shards) in a single replication group. The default 4878// maximum is 90 4879// 4880// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceeded" 4881// The request cannot be processed because it would exceed the allowed number 4882// of cache nodes per customer. 4883// 4884// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 4885// The KMS key supplied is not valid. 4886// 4887// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4888// The value for a parameter is invalid. 4889// 4890// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4891// Two or more incompatible parameters were specified. 4892// 4893// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ModifyReplicationGroupShardConfiguration 4894func (c *ElastiCache) ModifyReplicationGroupShardConfiguration(input *ModifyReplicationGroupShardConfigurationInput) (*ModifyReplicationGroupShardConfigurationOutput, error) { 4895 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 4896 return out, req.Send() 4897} 4898 4899// ModifyReplicationGroupShardConfigurationWithContext is the same as ModifyReplicationGroupShardConfiguration with the addition of 4900// the ability to pass a context and additional request options. 4901// 4902// See ModifyReplicationGroupShardConfiguration for details on how to use this API operation. 4903// 4904// The context must be non-nil and will be used for request cancellation. If 4905// the context is nil a panic will occur. In the future the SDK may create 4906// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4907// for more information on using Contexts. 4908func (c *ElastiCache) ModifyReplicationGroupShardConfigurationWithContext(ctx aws.Context, input *ModifyReplicationGroupShardConfigurationInput, opts ...request.Option) (*ModifyReplicationGroupShardConfigurationOutput, error) { 4909 req, out := c.ModifyReplicationGroupShardConfigurationRequest(input) 4910 req.SetContext(ctx) 4911 req.ApplyOptions(opts...) 4912 return out, req.Send() 4913} 4914 4915const opPurchaseReservedCacheNodesOffering = "PurchaseReservedCacheNodesOffering" 4916 4917// PurchaseReservedCacheNodesOfferingRequest generates a "aws/request.Request" representing the 4918// client's request for the PurchaseReservedCacheNodesOffering operation. The "output" return 4919// value will be populated with the request's response once the request completes 4920// successfully. 4921// 4922// Use "Send" method on the returned Request to send the API call to the service. 4923// the "output" return value is not valid until after Send returns without error. 4924// 4925// See PurchaseReservedCacheNodesOffering for more information on using the PurchaseReservedCacheNodesOffering 4926// API call, and error handling. 4927// 4928// This method is useful when you want to inject custom logic or configuration 4929// into the SDK's request lifecycle. Such as custom headers, or retry logic. 4930// 4931// 4932// // Example sending a request using the PurchaseReservedCacheNodesOfferingRequest method. 4933// req, resp := client.PurchaseReservedCacheNodesOfferingRequest(params) 4934// 4935// err := req.Send() 4936// if err == nil { // resp is now filled 4937// fmt.Println(resp) 4938// } 4939// 4940// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 4941func (c *ElastiCache) PurchaseReservedCacheNodesOfferingRequest(input *PurchaseReservedCacheNodesOfferingInput) (req *request.Request, output *PurchaseReservedCacheNodesOfferingOutput) { 4942 op := &request.Operation{ 4943 Name: opPurchaseReservedCacheNodesOffering, 4944 HTTPMethod: "POST", 4945 HTTPPath: "/", 4946 } 4947 4948 if input == nil { 4949 input = &PurchaseReservedCacheNodesOfferingInput{} 4950 } 4951 4952 output = &PurchaseReservedCacheNodesOfferingOutput{} 4953 req = c.newRequest(op, input, output) 4954 return 4955} 4956 4957// PurchaseReservedCacheNodesOffering API operation for Amazon ElastiCache. 4958// 4959// Allows you to purchase a reserved cache node offering. 4960// 4961// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 4962// with awserr.Error's Code and Message methods to get detailed information about 4963// the error. 4964// 4965// See the AWS API reference guide for Amazon ElastiCache's 4966// API operation PurchaseReservedCacheNodesOffering for usage and error information. 4967// 4968// Returned Error Codes: 4969// * ErrCodeReservedCacheNodesOfferingNotFoundFault "ReservedCacheNodesOfferingNotFound" 4970// The requested cache node offering does not exist. 4971// 4972// * ErrCodeReservedCacheNodeAlreadyExistsFault "ReservedCacheNodeAlreadyExists" 4973// You already have a reservation with the given identifier. 4974// 4975// * ErrCodeReservedCacheNodeQuotaExceededFault "ReservedCacheNodeQuotaExceeded" 4976// The request cannot be processed because it would exceed the user's cache 4977// node quota. 4978// 4979// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 4980// The value for a parameter is invalid. 4981// 4982// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 4983// Two or more incompatible parameters were specified. 4984// 4985// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/PurchaseReservedCacheNodesOffering 4986func (c *ElastiCache) PurchaseReservedCacheNodesOffering(input *PurchaseReservedCacheNodesOfferingInput) (*PurchaseReservedCacheNodesOfferingOutput, error) { 4987 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 4988 return out, req.Send() 4989} 4990 4991// PurchaseReservedCacheNodesOfferingWithContext is the same as PurchaseReservedCacheNodesOffering with the addition of 4992// the ability to pass a context and additional request options. 4993// 4994// See PurchaseReservedCacheNodesOffering for details on how to use this API operation. 4995// 4996// The context must be non-nil and will be used for request cancellation. If 4997// the context is nil a panic will occur. In the future the SDK may create 4998// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 4999// for more information on using Contexts. 5000func (c *ElastiCache) PurchaseReservedCacheNodesOfferingWithContext(ctx aws.Context, input *PurchaseReservedCacheNodesOfferingInput, opts ...request.Option) (*PurchaseReservedCacheNodesOfferingOutput, error) { 5001 req, out := c.PurchaseReservedCacheNodesOfferingRequest(input) 5002 req.SetContext(ctx) 5003 req.ApplyOptions(opts...) 5004 return out, req.Send() 5005} 5006 5007const opRebootCacheCluster = "RebootCacheCluster" 5008 5009// RebootCacheClusterRequest generates a "aws/request.Request" representing the 5010// client's request for the RebootCacheCluster operation. The "output" return 5011// value will be populated with the request's response once the request completes 5012// successfully. 5013// 5014// Use "Send" method on the returned Request to send the API call to the service. 5015// the "output" return value is not valid until after Send returns without error. 5016// 5017// See RebootCacheCluster for more information on using the RebootCacheCluster 5018// API call, and error handling. 5019// 5020// This method is useful when you want to inject custom logic or configuration 5021// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5022// 5023// 5024// // Example sending a request using the RebootCacheClusterRequest method. 5025// req, resp := client.RebootCacheClusterRequest(params) 5026// 5027// err := req.Send() 5028// if err == nil { // resp is now filled 5029// fmt.Println(resp) 5030// } 5031// 5032// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 5033func (c *ElastiCache) RebootCacheClusterRequest(input *RebootCacheClusterInput) (req *request.Request, output *RebootCacheClusterOutput) { 5034 op := &request.Operation{ 5035 Name: opRebootCacheCluster, 5036 HTTPMethod: "POST", 5037 HTTPPath: "/", 5038 } 5039 5040 if input == nil { 5041 input = &RebootCacheClusterInput{} 5042 } 5043 5044 output = &RebootCacheClusterOutput{} 5045 req = c.newRequest(op, input, output) 5046 return 5047} 5048 5049// RebootCacheCluster API operation for Amazon ElastiCache. 5050// 5051// Reboots some, or all, of the cache nodes within a provisioned cluster. This 5052// operation applies any modified cache parameter groups to the cluster. The 5053// reboot operation takes place as soon as possible, and results in a momentary 5054// outage to the cluster. During the reboot, the cluster status is set to REBOOTING. 5055// 5056// The reboot causes the contents of the cache (for each cache node being rebooted) 5057// to be lost. 5058// 5059// When the reboot is complete, a cluster event is created. 5060// 5061// Rebooting a cluster is currently supported on Memcached and Redis (cluster 5062// mode disabled) clusters. Rebooting is not supported on Redis (cluster mode 5063// enabled) clusters. 5064// 5065// If you make changes to parameters that require a Redis (cluster mode enabled) 5066// cluster reboot for the changes to be applied, see Rebooting a Cluster (http://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html) 5067// for an alternate process. 5068// 5069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5070// with awserr.Error's Code and Message methods to get detailed information about 5071// the error. 5072// 5073// See the AWS API reference guide for Amazon ElastiCache's 5074// API operation RebootCacheCluster for usage and error information. 5075// 5076// Returned Error Codes: 5077// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5078// The requested cluster is not in the available state. 5079// 5080// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5081// The requested cluster ID does not refer to an existing cluster. 5082// 5083// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RebootCacheCluster 5084func (c *ElastiCache) RebootCacheCluster(input *RebootCacheClusterInput) (*RebootCacheClusterOutput, error) { 5085 req, out := c.RebootCacheClusterRequest(input) 5086 return out, req.Send() 5087} 5088 5089// RebootCacheClusterWithContext is the same as RebootCacheCluster with the addition of 5090// the ability to pass a context and additional request options. 5091// 5092// See RebootCacheCluster for details on how to use this API operation. 5093// 5094// The context must be non-nil and will be used for request cancellation. If 5095// the context is nil a panic will occur. In the future the SDK may create 5096// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5097// for more information on using Contexts. 5098func (c *ElastiCache) RebootCacheClusterWithContext(ctx aws.Context, input *RebootCacheClusterInput, opts ...request.Option) (*RebootCacheClusterOutput, error) { 5099 req, out := c.RebootCacheClusterRequest(input) 5100 req.SetContext(ctx) 5101 req.ApplyOptions(opts...) 5102 return out, req.Send() 5103} 5104 5105const opRemoveTagsFromResource = "RemoveTagsFromResource" 5106 5107// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the 5108// client's request for the RemoveTagsFromResource operation. The "output" return 5109// value will be populated with the request's response once the request completes 5110// successfully. 5111// 5112// Use "Send" method on the returned Request to send the API call to the service. 5113// the "output" return value is not valid until after Send returns without error. 5114// 5115// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource 5116// API call, and error handling. 5117// 5118// This method is useful when you want to inject custom logic or configuration 5119// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5120// 5121// 5122// // Example sending a request using the RemoveTagsFromResourceRequest method. 5123// req, resp := client.RemoveTagsFromResourceRequest(params) 5124// 5125// err := req.Send() 5126// if err == nil { // resp is now filled 5127// fmt.Println(resp) 5128// } 5129// 5130// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 5131func (c *ElastiCache) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *TagListMessage) { 5132 op := &request.Operation{ 5133 Name: opRemoveTagsFromResource, 5134 HTTPMethod: "POST", 5135 HTTPPath: "/", 5136 } 5137 5138 if input == nil { 5139 input = &RemoveTagsFromResourceInput{} 5140 } 5141 5142 output = &TagListMessage{} 5143 req = c.newRequest(op, input, output) 5144 return 5145} 5146 5147// RemoveTagsFromResource API operation for Amazon ElastiCache. 5148// 5149// Removes the tags identified by the TagKeys list from the named resource. 5150// 5151// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5152// with awserr.Error's Code and Message methods to get detailed information about 5153// the error. 5154// 5155// See the AWS API reference guide for Amazon ElastiCache's 5156// API operation RemoveTagsFromResource for usage and error information. 5157// 5158// Returned Error Codes: 5159// * ErrCodeCacheClusterNotFoundFault "CacheClusterNotFound" 5160// The requested cluster ID does not refer to an existing cluster. 5161// 5162// * ErrCodeSnapshotNotFoundFault "SnapshotNotFoundFault" 5163// The requested snapshot name does not refer to an existing snapshot. 5164// 5165// * ErrCodeInvalidARNFault "InvalidARN" 5166// The requested Amazon Resource Name (ARN) does not refer to an existing resource. 5167// 5168// * ErrCodeTagNotFoundFault "TagNotFound" 5169// The requested tag was not found on this resource. 5170// 5171// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RemoveTagsFromResource 5172func (c *ElastiCache) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*TagListMessage, error) { 5173 req, out := c.RemoveTagsFromResourceRequest(input) 5174 return out, req.Send() 5175} 5176 5177// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of 5178// the ability to pass a context and additional request options. 5179// 5180// See RemoveTagsFromResource for details on how to use this API operation. 5181// 5182// The context must be non-nil and will be used for request cancellation. If 5183// the context is nil a panic will occur. In the future the SDK may create 5184// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5185// for more information on using Contexts. 5186func (c *ElastiCache) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*TagListMessage, error) { 5187 req, out := c.RemoveTagsFromResourceRequest(input) 5188 req.SetContext(ctx) 5189 req.ApplyOptions(opts...) 5190 return out, req.Send() 5191} 5192 5193const opResetCacheParameterGroup = "ResetCacheParameterGroup" 5194 5195// ResetCacheParameterGroupRequest generates a "aws/request.Request" representing the 5196// client's request for the ResetCacheParameterGroup operation. The "output" return 5197// value will be populated with the request's response once the request completes 5198// successfully. 5199// 5200// Use "Send" method on the returned Request to send the API call to the service. 5201// the "output" return value is not valid until after Send returns without error. 5202// 5203// See ResetCacheParameterGroup for more information on using the ResetCacheParameterGroup 5204// API call, and error handling. 5205// 5206// This method is useful when you want to inject custom logic or configuration 5207// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5208// 5209// 5210// // Example sending a request using the ResetCacheParameterGroupRequest method. 5211// req, resp := client.ResetCacheParameterGroupRequest(params) 5212// 5213// err := req.Send() 5214// if err == nil { // resp is now filled 5215// fmt.Println(resp) 5216// } 5217// 5218// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 5219func (c *ElastiCache) ResetCacheParameterGroupRequest(input *ResetCacheParameterGroupInput) (req *request.Request, output *CacheParameterGroupNameMessage) { 5220 op := &request.Operation{ 5221 Name: opResetCacheParameterGroup, 5222 HTTPMethod: "POST", 5223 HTTPPath: "/", 5224 } 5225 5226 if input == nil { 5227 input = &ResetCacheParameterGroupInput{} 5228 } 5229 5230 output = &CacheParameterGroupNameMessage{} 5231 req = c.newRequest(op, input, output) 5232 return 5233} 5234 5235// ResetCacheParameterGroup API operation for Amazon ElastiCache. 5236// 5237// Modifies the parameters of a cache parameter group to the engine or system 5238// default value. You can reset specific parameters by submitting a list of 5239// parameter names. To reset the entire cache parameter group, specify the ResetAllParameters 5240// and CacheParameterGroupName parameters. 5241// 5242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5243// with awserr.Error's Code and Message methods to get detailed information about 5244// the error. 5245// 5246// See the AWS API reference guide for Amazon ElastiCache's 5247// API operation ResetCacheParameterGroup for usage and error information. 5248// 5249// Returned Error Codes: 5250// * ErrCodeInvalidCacheParameterGroupStateFault "InvalidCacheParameterGroupState" 5251// The current state of the cache parameter group does not allow the requested 5252// operation to occur. 5253// 5254// * ErrCodeCacheParameterGroupNotFoundFault "CacheParameterGroupNotFound" 5255// The requested cache parameter group name does not refer to an existing cache 5256// parameter group. 5257// 5258// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5259// The value for a parameter is invalid. 5260// 5261// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5262// Two or more incompatible parameters were specified. 5263// 5264// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/ResetCacheParameterGroup 5265func (c *ElastiCache) ResetCacheParameterGroup(input *ResetCacheParameterGroupInput) (*CacheParameterGroupNameMessage, error) { 5266 req, out := c.ResetCacheParameterGroupRequest(input) 5267 return out, req.Send() 5268} 5269 5270// ResetCacheParameterGroupWithContext is the same as ResetCacheParameterGroup with the addition of 5271// the ability to pass a context and additional request options. 5272// 5273// See ResetCacheParameterGroup for details on how to use this API operation. 5274// 5275// The context must be non-nil and will be used for request cancellation. If 5276// the context is nil a panic will occur. In the future the SDK may create 5277// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5278// for more information on using Contexts. 5279func (c *ElastiCache) ResetCacheParameterGroupWithContext(ctx aws.Context, input *ResetCacheParameterGroupInput, opts ...request.Option) (*CacheParameterGroupNameMessage, error) { 5280 req, out := c.ResetCacheParameterGroupRequest(input) 5281 req.SetContext(ctx) 5282 req.ApplyOptions(opts...) 5283 return out, req.Send() 5284} 5285 5286const opRevokeCacheSecurityGroupIngress = "RevokeCacheSecurityGroupIngress" 5287 5288// RevokeCacheSecurityGroupIngressRequest generates a "aws/request.Request" representing the 5289// client's request for the RevokeCacheSecurityGroupIngress operation. The "output" return 5290// value will be populated with the request's response once the request completes 5291// successfully. 5292// 5293// Use "Send" method on the returned Request to send the API call to the service. 5294// the "output" return value is not valid until after Send returns without error. 5295// 5296// See RevokeCacheSecurityGroupIngress for more information on using the RevokeCacheSecurityGroupIngress 5297// API call, and error handling. 5298// 5299// This method is useful when you want to inject custom logic or configuration 5300// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5301// 5302// 5303// // Example sending a request using the RevokeCacheSecurityGroupIngressRequest method. 5304// req, resp := client.RevokeCacheSecurityGroupIngressRequest(params) 5305// 5306// err := req.Send() 5307// if err == nil { // resp is now filled 5308// fmt.Println(resp) 5309// } 5310// 5311// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 5312func (c *ElastiCache) RevokeCacheSecurityGroupIngressRequest(input *RevokeCacheSecurityGroupIngressInput) (req *request.Request, output *RevokeCacheSecurityGroupIngressOutput) { 5313 op := &request.Operation{ 5314 Name: opRevokeCacheSecurityGroupIngress, 5315 HTTPMethod: "POST", 5316 HTTPPath: "/", 5317 } 5318 5319 if input == nil { 5320 input = &RevokeCacheSecurityGroupIngressInput{} 5321 } 5322 5323 output = &RevokeCacheSecurityGroupIngressOutput{} 5324 req = c.newRequest(op, input, output) 5325 return 5326} 5327 5328// RevokeCacheSecurityGroupIngress API operation for Amazon ElastiCache. 5329// 5330// Revokes ingress from a cache security group. Use this operation to disallow 5331// access from an Amazon EC2 security group that had been previously authorized. 5332// 5333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5334// with awserr.Error's Code and Message methods to get detailed information about 5335// the error. 5336// 5337// See the AWS API reference guide for Amazon ElastiCache's 5338// API operation RevokeCacheSecurityGroupIngress for usage and error information. 5339// 5340// Returned Error Codes: 5341// * ErrCodeCacheSecurityGroupNotFoundFault "CacheSecurityGroupNotFound" 5342// The requested cache security group name does not refer to an existing cache 5343// security group. 5344// 5345// * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound" 5346// The specified Amazon EC2 security group is not authorized for the specified 5347// cache security group. 5348// 5349// * ErrCodeInvalidCacheSecurityGroupStateFault "InvalidCacheSecurityGroupState" 5350// The current state of the cache security group does not allow deletion. 5351// 5352// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5353// The value for a parameter is invalid. 5354// 5355// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5356// Two or more incompatible parameters were specified. 5357// 5358// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/RevokeCacheSecurityGroupIngress 5359func (c *ElastiCache) RevokeCacheSecurityGroupIngress(input *RevokeCacheSecurityGroupIngressInput) (*RevokeCacheSecurityGroupIngressOutput, error) { 5360 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 5361 return out, req.Send() 5362} 5363 5364// RevokeCacheSecurityGroupIngressWithContext is the same as RevokeCacheSecurityGroupIngress with the addition of 5365// the ability to pass a context and additional request options. 5366// 5367// See RevokeCacheSecurityGroupIngress for details on how to use this API operation. 5368// 5369// The context must be non-nil and will be used for request cancellation. If 5370// the context is nil a panic will occur. In the future the SDK may create 5371// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5372// for more information on using Contexts. 5373func (c *ElastiCache) RevokeCacheSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeCacheSecurityGroupIngressInput, opts ...request.Option) (*RevokeCacheSecurityGroupIngressOutput, error) { 5374 req, out := c.RevokeCacheSecurityGroupIngressRequest(input) 5375 req.SetContext(ctx) 5376 req.ApplyOptions(opts...) 5377 return out, req.Send() 5378} 5379 5380const opStartMigration = "StartMigration" 5381 5382// StartMigrationRequest generates a "aws/request.Request" representing the 5383// client's request for the StartMigration operation. The "output" return 5384// value will be populated with the request's response once the request completes 5385// successfully. 5386// 5387// Use "Send" method on the returned Request to send the API call to the service. 5388// the "output" return value is not valid until after Send returns without error. 5389// 5390// See StartMigration for more information on using the StartMigration 5391// API call, and error handling. 5392// 5393// This method is useful when you want to inject custom logic or configuration 5394// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5395// 5396// 5397// // Example sending a request using the StartMigrationRequest method. 5398// req, resp := client.StartMigrationRequest(params) 5399// 5400// err := req.Send() 5401// if err == nil { // resp is now filled 5402// fmt.Println(resp) 5403// } 5404// 5405// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 5406func (c *ElastiCache) StartMigrationRequest(input *StartMigrationInput) (req *request.Request, output *StartMigrationOutput) { 5407 op := &request.Operation{ 5408 Name: opStartMigration, 5409 HTTPMethod: "POST", 5410 HTTPPath: "/", 5411 } 5412 5413 if input == nil { 5414 input = &StartMigrationInput{} 5415 } 5416 5417 output = &StartMigrationOutput{} 5418 req = c.newRequest(op, input, output) 5419 return 5420} 5421 5422// StartMigration API operation for Amazon ElastiCache. 5423// 5424// Start the migration of data. 5425// 5426// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5427// with awserr.Error's Code and Message methods to get detailed information about 5428// the error. 5429// 5430// See the AWS API reference guide for Amazon ElastiCache's 5431// API operation StartMigration for usage and error information. 5432// 5433// Returned Error Codes: 5434// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5435// The specified replication group does not exist. 5436// 5437// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5438// The requested replication group is not in the available state. 5439// 5440// * ErrCodeReplicationGroupAlreadyUnderMigrationFault "ReplicationGroupAlreadyUnderMigrationFault" 5441// The targeted replication group is not available. 5442// 5443// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5444// The value for a parameter is invalid. 5445// 5446// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/StartMigration 5447func (c *ElastiCache) StartMigration(input *StartMigrationInput) (*StartMigrationOutput, error) { 5448 req, out := c.StartMigrationRequest(input) 5449 return out, req.Send() 5450} 5451 5452// StartMigrationWithContext is the same as StartMigration with the addition of 5453// the ability to pass a context and additional request options. 5454// 5455// See StartMigration for details on how to use this API operation. 5456// 5457// The context must be non-nil and will be used for request cancellation. If 5458// the context is nil a panic will occur. In the future the SDK may create 5459// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5460// for more information on using Contexts. 5461func (c *ElastiCache) StartMigrationWithContext(ctx aws.Context, input *StartMigrationInput, opts ...request.Option) (*StartMigrationOutput, error) { 5462 req, out := c.StartMigrationRequest(input) 5463 req.SetContext(ctx) 5464 req.ApplyOptions(opts...) 5465 return out, req.Send() 5466} 5467 5468const opTestFailover = "TestFailover" 5469 5470// TestFailoverRequest generates a "aws/request.Request" representing the 5471// client's request for the TestFailover operation. The "output" return 5472// value will be populated with the request's response once the request completes 5473// successfully. 5474// 5475// Use "Send" method on the returned Request to send the API call to the service. 5476// the "output" return value is not valid until after Send returns without error. 5477// 5478// See TestFailover for more information on using the TestFailover 5479// API call, and error handling. 5480// 5481// This method is useful when you want to inject custom logic or configuration 5482// into the SDK's request lifecycle. Such as custom headers, or retry logic. 5483// 5484// 5485// // Example sending a request using the TestFailoverRequest method. 5486// req, resp := client.TestFailoverRequest(params) 5487// 5488// err := req.Send() 5489// if err == nil { // resp is now filled 5490// fmt.Println(resp) 5491// } 5492// 5493// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 5494func (c *ElastiCache) TestFailoverRequest(input *TestFailoverInput) (req *request.Request, output *TestFailoverOutput) { 5495 op := &request.Operation{ 5496 Name: opTestFailover, 5497 HTTPMethod: "POST", 5498 HTTPPath: "/", 5499 } 5500 5501 if input == nil { 5502 input = &TestFailoverInput{} 5503 } 5504 5505 output = &TestFailoverOutput{} 5506 req = c.newRequest(op, input, output) 5507 return 5508} 5509 5510// TestFailover API operation for Amazon ElastiCache. 5511// 5512// Represents the input of a TestFailover operation which test automatic failover 5513// on a specified node group (called shard in the console) in a replication 5514// group (called cluster in the console). 5515// 5516// Note the following 5517// 5518// * A customer can use this operation to test automatic failover on up to 5519// 5 shards (called node groups in the ElastiCache API and AWS CLI) in any 5520// rolling 24-hour period. 5521// 5522// * If calling this operation on shards in different clusters (called replication 5523// groups in the API and CLI), the calls can be made concurrently. 5524// 5525// * If calling this operation multiple times on different shards in the 5526// same Redis (cluster mode enabled) replication group, the first node replacement 5527// must complete before a subsequent call can be made. 5528// 5529// * To determine whether the node replacement is complete you can check 5530// Events using the Amazon ElastiCache console, the AWS CLI, or the ElastiCache 5531// API. Look for the following automatic failover related events, listed 5532// here in order of occurrance: Replication group message: Test Failover 5533// API called for node group <node-group-id> Cache cluster message: Failover 5534// from master node <primary-node-id> to replica node <node-id> completed 5535// Replication group message: Failover from master node <primary-node-id> 5536// to replica node <node-id> completed Cache cluster message: Recovering 5537// cache nodes <node-id> Cache cluster message: Finished recovery for cache 5538// nodes <node-id> For more information see: Viewing ElastiCache Events (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/ECEvents.Viewing.html) 5539// in the ElastiCache User Guide DescribeEvents (https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 5540// in the ElastiCache API Reference 5541// 5542// Also see, Testing Multi-AZ with Automatic Failover (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/AutoFailover.html#auto-failover-test) 5543// in the ElastiCache User Guide. 5544// 5545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 5546// with awserr.Error's Code and Message methods to get detailed information about 5547// the error. 5548// 5549// See the AWS API reference guide for Amazon ElastiCache's 5550// API operation TestFailover for usage and error information. 5551// 5552// Returned Error Codes: 5553// * ErrCodeAPICallRateForCustomerExceededFault "APICallRateForCustomerExceeded" 5554// The customer has exceeded the allowed rate of API calls. 5555// 5556// * ErrCodeInvalidCacheClusterStateFault "InvalidCacheClusterState" 5557// The requested cluster is not in the available state. 5558// 5559// * ErrCodeInvalidReplicationGroupStateFault "InvalidReplicationGroupState" 5560// The requested replication group is not in the available state. 5561// 5562// * ErrCodeNodeGroupNotFoundFault "NodeGroupNotFoundFault" 5563// The node group specified by the NodeGroupId parameter could not be found. 5564// Please verify that the node group exists and that you spelled the NodeGroupId 5565// value correctly. 5566// 5567// * ErrCodeReplicationGroupNotFoundFault "ReplicationGroupNotFoundFault" 5568// The specified replication group does not exist. 5569// 5570// * ErrCodeTestFailoverNotAvailableFault "TestFailoverNotAvailableFault" 5571// The TestFailover action is not available. 5572// 5573// * ErrCodeInvalidKMSKeyFault "InvalidKMSKeyFault" 5574// The KMS key supplied is not valid. 5575// 5576// * ErrCodeInvalidParameterValueException "InvalidParameterValue" 5577// The value for a parameter is invalid. 5578// 5579// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombination" 5580// Two or more incompatible parameters were specified. 5581// 5582// See also, https://docs.aws.amazon.com/goto/WebAPI/elasticache-2015-02-02/TestFailover 5583func (c *ElastiCache) TestFailover(input *TestFailoverInput) (*TestFailoverOutput, error) { 5584 req, out := c.TestFailoverRequest(input) 5585 return out, req.Send() 5586} 5587 5588// TestFailoverWithContext is the same as TestFailover with the addition of 5589// the ability to pass a context and additional request options. 5590// 5591// See TestFailover for details on how to use this API operation. 5592// 5593// The context must be non-nil and will be used for request cancellation. If 5594// the context is nil a panic will occur. In the future the SDK may create 5595// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 5596// for more information on using Contexts. 5597func (c *ElastiCache) TestFailoverWithContext(ctx aws.Context, input *TestFailoverInput, opts ...request.Option) (*TestFailoverOutput, error) { 5598 req, out := c.TestFailoverRequest(input) 5599 req.SetContext(ctx) 5600 req.ApplyOptions(opts...) 5601 return out, req.Send() 5602} 5603 5604// Represents the input of an AddTagsToResource operation. 5605type AddTagsToResourceInput struct { 5606 _ struct{} `type:"structure"` 5607 5608 // The Amazon Resource Name (ARN) of the resource to which the tags are to be 5609 // added, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 5610 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. ElastiCache 5611 // resources are cluster and snapshot. 5612 // 5613 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 5614 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 5615 // 5616 // ResourceName is a required field 5617 ResourceName *string `type:"string" required:"true"` 5618 5619 // A list of cost allocation tags to be added to this resource. A tag is a key-value 5620 // pair. A tag key must be accompanied by a tag value. 5621 // 5622 // Tags is a required field 5623 Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"` 5624} 5625 5626// String returns the string representation 5627func (s AddTagsToResourceInput) String() string { 5628 return awsutil.Prettify(s) 5629} 5630 5631// GoString returns the string representation 5632func (s AddTagsToResourceInput) GoString() string { 5633 return s.String() 5634} 5635 5636// Validate inspects the fields of the type to determine if they are valid. 5637func (s *AddTagsToResourceInput) Validate() error { 5638 invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"} 5639 if s.ResourceName == nil { 5640 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 5641 } 5642 if s.Tags == nil { 5643 invalidParams.Add(request.NewErrParamRequired("Tags")) 5644 } 5645 5646 if invalidParams.Len() > 0 { 5647 return invalidParams 5648 } 5649 return nil 5650} 5651 5652// SetResourceName sets the ResourceName field's value. 5653func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput { 5654 s.ResourceName = &v 5655 return s 5656} 5657 5658// SetTags sets the Tags field's value. 5659func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput { 5660 s.Tags = v 5661 return s 5662} 5663 5664// Represents the input of an AuthorizeCacheSecurityGroupIngress operation. 5665type AuthorizeCacheSecurityGroupIngressInput struct { 5666 _ struct{} `type:"structure"` 5667 5668 // The cache security group that allows network ingress. 5669 // 5670 // CacheSecurityGroupName is a required field 5671 CacheSecurityGroupName *string `type:"string" required:"true"` 5672 5673 // The Amazon EC2 security group to be authorized for ingress to the cache security 5674 // group. 5675 // 5676 // EC2SecurityGroupName is a required field 5677 EC2SecurityGroupName *string `type:"string" required:"true"` 5678 5679 // The AWS account number of the Amazon EC2 security group owner. Note that 5680 // this is not the same thing as an AWS access key ID - you must provide a valid 5681 // AWS account number for this parameter. 5682 // 5683 // EC2SecurityGroupOwnerId is a required field 5684 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 5685} 5686 5687// String returns the string representation 5688func (s AuthorizeCacheSecurityGroupIngressInput) String() string { 5689 return awsutil.Prettify(s) 5690} 5691 5692// GoString returns the string representation 5693func (s AuthorizeCacheSecurityGroupIngressInput) GoString() string { 5694 return s.String() 5695} 5696 5697// Validate inspects the fields of the type to determine if they are valid. 5698func (s *AuthorizeCacheSecurityGroupIngressInput) Validate() error { 5699 invalidParams := request.ErrInvalidParams{Context: "AuthorizeCacheSecurityGroupIngressInput"} 5700 if s.CacheSecurityGroupName == nil { 5701 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 5702 } 5703 if s.EC2SecurityGroupName == nil { 5704 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 5705 } 5706 if s.EC2SecurityGroupOwnerId == nil { 5707 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 5708 } 5709 5710 if invalidParams.Len() > 0 { 5711 return invalidParams 5712 } 5713 return nil 5714} 5715 5716// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 5717func (s *AuthorizeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 5718 s.CacheSecurityGroupName = &v 5719 return s 5720} 5721 5722// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 5723func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeCacheSecurityGroupIngressInput { 5724 s.EC2SecurityGroupName = &v 5725 return s 5726} 5727 5728// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 5729func (s *AuthorizeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeCacheSecurityGroupIngressInput { 5730 s.EC2SecurityGroupOwnerId = &v 5731 return s 5732} 5733 5734type AuthorizeCacheSecurityGroupIngressOutput struct { 5735 _ struct{} `type:"structure"` 5736 5737 // Represents the output of one of the following operations: 5738 // 5739 // * AuthorizeCacheSecurityGroupIngress 5740 // 5741 // * CreateCacheSecurityGroup 5742 // 5743 // * RevokeCacheSecurityGroupIngress 5744 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 5745} 5746 5747// String returns the string representation 5748func (s AuthorizeCacheSecurityGroupIngressOutput) String() string { 5749 return awsutil.Prettify(s) 5750} 5751 5752// GoString returns the string representation 5753func (s AuthorizeCacheSecurityGroupIngressOutput) GoString() string { 5754 return s.String() 5755} 5756 5757// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 5758func (s *AuthorizeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *AuthorizeCacheSecurityGroupIngressOutput { 5759 s.CacheSecurityGroup = v 5760 return s 5761} 5762 5763// Describes an Availability Zone in which the cluster is launched. 5764type AvailabilityZone struct { 5765 _ struct{} `type:"structure"` 5766 5767 // The name of the Availability Zone. 5768 Name *string `type:"string"` 5769} 5770 5771// String returns the string representation 5772func (s AvailabilityZone) String() string { 5773 return awsutil.Prettify(s) 5774} 5775 5776// GoString returns the string representation 5777func (s AvailabilityZone) GoString() string { 5778 return s.String() 5779} 5780 5781// SetName sets the Name field's value. 5782func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { 5783 s.Name = &v 5784 return s 5785} 5786 5787type BatchApplyUpdateActionInput struct { 5788 _ struct{} `type:"structure"` 5789 5790 // The cache cluster IDs 5791 CacheClusterIds []*string `type:"list"` 5792 5793 // The replication group IDs 5794 ReplicationGroupIds []*string `type:"list"` 5795 5796 // The unique ID of the service update 5797 // 5798 // ServiceUpdateName is a required field 5799 ServiceUpdateName *string `type:"string" required:"true"` 5800} 5801 5802// String returns the string representation 5803func (s BatchApplyUpdateActionInput) String() string { 5804 return awsutil.Prettify(s) 5805} 5806 5807// GoString returns the string representation 5808func (s BatchApplyUpdateActionInput) GoString() string { 5809 return s.String() 5810} 5811 5812// Validate inspects the fields of the type to determine if they are valid. 5813func (s *BatchApplyUpdateActionInput) Validate() error { 5814 invalidParams := request.ErrInvalidParams{Context: "BatchApplyUpdateActionInput"} 5815 if s.ServiceUpdateName == nil { 5816 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 5817 } 5818 5819 if invalidParams.Len() > 0 { 5820 return invalidParams 5821 } 5822 return nil 5823} 5824 5825// SetCacheClusterIds sets the CacheClusterIds field's value. 5826func (s *BatchApplyUpdateActionInput) SetCacheClusterIds(v []*string) *BatchApplyUpdateActionInput { 5827 s.CacheClusterIds = v 5828 return s 5829} 5830 5831// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 5832func (s *BatchApplyUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchApplyUpdateActionInput { 5833 s.ReplicationGroupIds = v 5834 return s 5835} 5836 5837// SetServiceUpdateName sets the ServiceUpdateName field's value. 5838func (s *BatchApplyUpdateActionInput) SetServiceUpdateName(v string) *BatchApplyUpdateActionInput { 5839 s.ServiceUpdateName = &v 5840 return s 5841} 5842 5843type BatchApplyUpdateActionOutput struct { 5844 _ struct{} `type:"structure"` 5845 5846 // Update actions that have been processed successfully 5847 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 5848 5849 // Update actions that haven't been processed successfully 5850 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 5851} 5852 5853// String returns the string representation 5854func (s BatchApplyUpdateActionOutput) String() string { 5855 return awsutil.Prettify(s) 5856} 5857 5858// GoString returns the string representation 5859func (s BatchApplyUpdateActionOutput) GoString() string { 5860 return s.String() 5861} 5862 5863// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 5864func (s *BatchApplyUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchApplyUpdateActionOutput { 5865 s.ProcessedUpdateActions = v 5866 return s 5867} 5868 5869// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 5870func (s *BatchApplyUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchApplyUpdateActionOutput { 5871 s.UnprocessedUpdateActions = v 5872 return s 5873} 5874 5875type BatchStopUpdateActionInput struct { 5876 _ struct{} `type:"structure"` 5877 5878 // The cache cluster IDs 5879 CacheClusterIds []*string `type:"list"` 5880 5881 // The replication group IDs 5882 ReplicationGroupIds []*string `type:"list"` 5883 5884 // The unique ID of the service update 5885 // 5886 // ServiceUpdateName is a required field 5887 ServiceUpdateName *string `type:"string" required:"true"` 5888} 5889 5890// String returns the string representation 5891func (s BatchStopUpdateActionInput) String() string { 5892 return awsutil.Prettify(s) 5893} 5894 5895// GoString returns the string representation 5896func (s BatchStopUpdateActionInput) GoString() string { 5897 return s.String() 5898} 5899 5900// Validate inspects the fields of the type to determine if they are valid. 5901func (s *BatchStopUpdateActionInput) Validate() error { 5902 invalidParams := request.ErrInvalidParams{Context: "BatchStopUpdateActionInput"} 5903 if s.ServiceUpdateName == nil { 5904 invalidParams.Add(request.NewErrParamRequired("ServiceUpdateName")) 5905 } 5906 5907 if invalidParams.Len() > 0 { 5908 return invalidParams 5909 } 5910 return nil 5911} 5912 5913// SetCacheClusterIds sets the CacheClusterIds field's value. 5914func (s *BatchStopUpdateActionInput) SetCacheClusterIds(v []*string) *BatchStopUpdateActionInput { 5915 s.CacheClusterIds = v 5916 return s 5917} 5918 5919// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 5920func (s *BatchStopUpdateActionInput) SetReplicationGroupIds(v []*string) *BatchStopUpdateActionInput { 5921 s.ReplicationGroupIds = v 5922 return s 5923} 5924 5925// SetServiceUpdateName sets the ServiceUpdateName field's value. 5926func (s *BatchStopUpdateActionInput) SetServiceUpdateName(v string) *BatchStopUpdateActionInput { 5927 s.ServiceUpdateName = &v 5928 return s 5929} 5930 5931type BatchStopUpdateActionOutput struct { 5932 _ struct{} `type:"structure"` 5933 5934 // Update actions that have been processed successfully 5935 ProcessedUpdateActions []*ProcessedUpdateAction `locationNameList:"ProcessedUpdateAction" type:"list"` 5936 5937 // Update actions that haven't been processed successfully 5938 UnprocessedUpdateActions []*UnprocessedUpdateAction `locationNameList:"UnprocessedUpdateAction" type:"list"` 5939} 5940 5941// String returns the string representation 5942func (s BatchStopUpdateActionOutput) String() string { 5943 return awsutil.Prettify(s) 5944} 5945 5946// GoString returns the string representation 5947func (s BatchStopUpdateActionOutput) GoString() string { 5948 return s.String() 5949} 5950 5951// SetProcessedUpdateActions sets the ProcessedUpdateActions field's value. 5952func (s *BatchStopUpdateActionOutput) SetProcessedUpdateActions(v []*ProcessedUpdateAction) *BatchStopUpdateActionOutput { 5953 s.ProcessedUpdateActions = v 5954 return s 5955} 5956 5957// SetUnprocessedUpdateActions sets the UnprocessedUpdateActions field's value. 5958func (s *BatchStopUpdateActionOutput) SetUnprocessedUpdateActions(v []*UnprocessedUpdateAction) *BatchStopUpdateActionOutput { 5959 s.UnprocessedUpdateActions = v 5960 return s 5961} 5962 5963// Contains all of the attributes of a specific cluster. 5964type CacheCluster struct { 5965 _ struct{} `type:"structure"` 5966 5967 // A flag that enables encryption at-rest when set to true. 5968 // 5969 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 5970 // is created. To enable at-rest encryption on a cluster you must set AtRestEncryptionEnabled 5971 // to true when you create a cluster. 5972 // 5973 // Required: Only available when creating a replication group in an Amazon VPC 5974 // using redis version 3.2.6, 4.x or later. 5975 // 5976 // Default: false 5977 AtRestEncryptionEnabled *bool `type:"boolean"` 5978 5979 // A flag that enables using an AuthToken (password) when issuing Redis commands. 5980 // 5981 // Default: false 5982 AuthTokenEnabled *bool `type:"boolean"` 5983 5984 // The date the auth token was last modified 5985 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 5986 5987 // This parameter is currently disabled. 5988 AutoMinorVersionUpgrade *bool `type:"boolean"` 5989 5990 // The date and time when the cluster was created. 5991 CacheClusterCreateTime *time.Time `type:"timestamp"` 5992 5993 // The user-supplied identifier of the cluster. This identifier is a unique 5994 // key that identifies a cluster. 5995 CacheClusterId *string `type:"string"` 5996 5997 // The current state of this cluster, one of the following values: available, 5998 // creating, deleted, deleting, incompatible-network, modifying, rebooting cluster 5999 // nodes, restore-failed, or snapshotting. 6000 CacheClusterStatus *string `type:"string"` 6001 6002 // The name of the compute and memory capacity node type for the cluster. 6003 // 6004 // The following node types are supported by ElastiCache. Generally speaking, 6005 // the current generation types provide more memory and computational power 6006 // at lower cost when compared to their equivalent previous generation counterparts. 6007 // 6008 // * General purpose: Current generation: M5 node types: cache.m5.large, 6009 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 6010 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 6011 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 6012 // cache.t2.medium Previous generation: (not recommended) T1 node types: 6013 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 6014 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 6015 // cache.m3.2xlarge 6016 // 6017 // * Compute optimized: Previous generation: (not recommended) C1 node types: 6018 // cache.c1.xlarge 6019 // 6020 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 6021 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 6022 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 6023 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 6024 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 6025 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 6026 // cache.r3.8xlarge 6027 // 6028 // Additional node type info 6029 // 6030 // * All current generation instance types are created in Amazon VPC by default. 6031 // 6032 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 6033 // 6034 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 6035 // 6036 // * Redis configuration variables appendonly and appendfsync are not supported 6037 // on Redis version 2.8.22 and later. 6038 CacheNodeType *string `type:"string"` 6039 6040 // A list of cache nodes that are members of the cluster. 6041 CacheNodes []*CacheNode `locationNameList:"CacheNode" type:"list"` 6042 6043 // Status of the cache parameter group. 6044 CacheParameterGroup *CacheParameterGroupStatus `type:"structure"` 6045 6046 // A list of cache security group elements, composed of name and status sub-elements. 6047 CacheSecurityGroups []*CacheSecurityGroupMembership `locationNameList:"CacheSecurityGroup" type:"list"` 6048 6049 // The name of the cache subnet group associated with the cluster. 6050 CacheSubnetGroupName *string `type:"string"` 6051 6052 // The URL of the web page where you can download the latest ElastiCache client 6053 // library. 6054 ClientDownloadLandingPage *string `type:"string"` 6055 6056 // Represents a Memcached cluster endpoint which, if Automatic Discovery is 6057 // enabled on the cluster, can be used by an application to connect to any node 6058 // in the cluster. The configuration endpoint will always have .cfg in it. 6059 // 6060 // Example: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211 6061 ConfigurationEndpoint *Endpoint `type:"structure"` 6062 6063 // The name of the cache engine (memcached or redis) to be used for this cluster. 6064 Engine *string `type:"string"` 6065 6066 // The version of the cache engine that is used in this cluster. 6067 EngineVersion *string `type:"string"` 6068 6069 // Describes a notification topic and its status. Notification topics are used 6070 // for publishing ElastiCache events to subscribers using Amazon Simple Notification 6071 // Service (SNS). 6072 NotificationConfiguration *NotificationConfiguration `type:"structure"` 6073 6074 // The number of cache nodes in the cluster. 6075 // 6076 // For clusters running Redis, this value must be 1. For clusters running Memcached, 6077 // this value must be between 1 and 20. 6078 NumCacheNodes *int64 `type:"integer"` 6079 6080 // A group of settings that are applied to the cluster in the future, or that 6081 // are currently being applied. 6082 PendingModifiedValues *PendingModifiedValues `type:"structure"` 6083 6084 // The name of the Availability Zone in which the cluster is located or "Multiple" 6085 // if the cache nodes are located in different Availability Zones. 6086 PreferredAvailabilityZone *string `type:"string"` 6087 6088 // Specifies the weekly time range during which maintenance on the cluster is 6089 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 6090 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 6091 // 6092 // Valid values for ddd are: 6093 // 6094 // * sun 6095 // 6096 // * mon 6097 // 6098 // * tue 6099 // 6100 // * wed 6101 // 6102 // * thu 6103 // 6104 // * fri 6105 // 6106 // * sat 6107 // 6108 // Example: sun:23:00-mon:01:30 6109 PreferredMaintenanceWindow *string `type:"string"` 6110 6111 // The replication group to which this cluster belongs. If this field is empty, 6112 // the cluster is not associated with any replication group. 6113 ReplicationGroupId *string `type:"string"` 6114 6115 // A list of VPC Security Groups associated with the cluster. 6116 SecurityGroups []*SecurityGroupMembership `type:"list"` 6117 6118 // The number of days for which ElastiCache retains automatic cluster snapshots 6119 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 6120 // a snapshot that was taken today is retained for 5 days before being deleted. 6121 // 6122 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 6123 // off. 6124 SnapshotRetentionLimit *int64 `type:"integer"` 6125 6126 // The daily time range (in UTC) during which ElastiCache begins taking a daily 6127 // snapshot of your cluster. 6128 // 6129 // Example: 05:00-09:00 6130 SnapshotWindow *string `type:"string"` 6131 6132 // A flag that enables in-transit encryption when set to true. 6133 // 6134 // You cannot modify the value of TransitEncryptionEnabled after the cluster 6135 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 6136 // to true when you create a cluster. 6137 // 6138 // Required: Only available when creating a replication group in an Amazon VPC 6139 // using redis version 3.2.6, 4.x or later. 6140 // 6141 // Default: false 6142 TransitEncryptionEnabled *bool `type:"boolean"` 6143} 6144 6145// String returns the string representation 6146func (s CacheCluster) String() string { 6147 return awsutil.Prettify(s) 6148} 6149 6150// GoString returns the string representation 6151func (s CacheCluster) GoString() string { 6152 return s.String() 6153} 6154 6155// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 6156func (s *CacheCluster) SetAtRestEncryptionEnabled(v bool) *CacheCluster { 6157 s.AtRestEncryptionEnabled = &v 6158 return s 6159} 6160 6161// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 6162func (s *CacheCluster) SetAuthTokenEnabled(v bool) *CacheCluster { 6163 s.AuthTokenEnabled = &v 6164 return s 6165} 6166 6167// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 6168func (s *CacheCluster) SetAuthTokenLastModifiedDate(v time.Time) *CacheCluster { 6169 s.AuthTokenLastModifiedDate = &v 6170 return s 6171} 6172 6173// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 6174func (s *CacheCluster) SetAutoMinorVersionUpgrade(v bool) *CacheCluster { 6175 s.AutoMinorVersionUpgrade = &v 6176 return s 6177} 6178 6179// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 6180func (s *CacheCluster) SetCacheClusterCreateTime(v time.Time) *CacheCluster { 6181 s.CacheClusterCreateTime = &v 6182 return s 6183} 6184 6185// SetCacheClusterId sets the CacheClusterId field's value. 6186func (s *CacheCluster) SetCacheClusterId(v string) *CacheCluster { 6187 s.CacheClusterId = &v 6188 return s 6189} 6190 6191// SetCacheClusterStatus sets the CacheClusterStatus field's value. 6192func (s *CacheCluster) SetCacheClusterStatus(v string) *CacheCluster { 6193 s.CacheClusterStatus = &v 6194 return s 6195} 6196 6197// SetCacheNodeType sets the CacheNodeType field's value. 6198func (s *CacheCluster) SetCacheNodeType(v string) *CacheCluster { 6199 s.CacheNodeType = &v 6200 return s 6201} 6202 6203// SetCacheNodes sets the CacheNodes field's value. 6204func (s *CacheCluster) SetCacheNodes(v []*CacheNode) *CacheCluster { 6205 s.CacheNodes = v 6206 return s 6207} 6208 6209// SetCacheParameterGroup sets the CacheParameterGroup field's value. 6210func (s *CacheCluster) SetCacheParameterGroup(v *CacheParameterGroupStatus) *CacheCluster { 6211 s.CacheParameterGroup = v 6212 return s 6213} 6214 6215// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 6216func (s *CacheCluster) SetCacheSecurityGroups(v []*CacheSecurityGroupMembership) *CacheCluster { 6217 s.CacheSecurityGroups = v 6218 return s 6219} 6220 6221// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 6222func (s *CacheCluster) SetCacheSubnetGroupName(v string) *CacheCluster { 6223 s.CacheSubnetGroupName = &v 6224 return s 6225} 6226 6227// SetClientDownloadLandingPage sets the ClientDownloadLandingPage field's value. 6228func (s *CacheCluster) SetClientDownloadLandingPage(v string) *CacheCluster { 6229 s.ClientDownloadLandingPage = &v 6230 return s 6231} 6232 6233// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 6234func (s *CacheCluster) SetConfigurationEndpoint(v *Endpoint) *CacheCluster { 6235 s.ConfigurationEndpoint = v 6236 return s 6237} 6238 6239// SetEngine sets the Engine field's value. 6240func (s *CacheCluster) SetEngine(v string) *CacheCluster { 6241 s.Engine = &v 6242 return s 6243} 6244 6245// SetEngineVersion sets the EngineVersion field's value. 6246func (s *CacheCluster) SetEngineVersion(v string) *CacheCluster { 6247 s.EngineVersion = &v 6248 return s 6249} 6250 6251// SetNotificationConfiguration sets the NotificationConfiguration field's value. 6252func (s *CacheCluster) SetNotificationConfiguration(v *NotificationConfiguration) *CacheCluster { 6253 s.NotificationConfiguration = v 6254 return s 6255} 6256 6257// SetNumCacheNodes sets the NumCacheNodes field's value. 6258func (s *CacheCluster) SetNumCacheNodes(v int64) *CacheCluster { 6259 s.NumCacheNodes = &v 6260 return s 6261} 6262 6263// SetPendingModifiedValues sets the PendingModifiedValues field's value. 6264func (s *CacheCluster) SetPendingModifiedValues(v *PendingModifiedValues) *CacheCluster { 6265 s.PendingModifiedValues = v 6266 return s 6267} 6268 6269// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 6270func (s *CacheCluster) SetPreferredAvailabilityZone(v string) *CacheCluster { 6271 s.PreferredAvailabilityZone = &v 6272 return s 6273} 6274 6275// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 6276func (s *CacheCluster) SetPreferredMaintenanceWindow(v string) *CacheCluster { 6277 s.PreferredMaintenanceWindow = &v 6278 return s 6279} 6280 6281// SetReplicationGroupId sets the ReplicationGroupId field's value. 6282func (s *CacheCluster) SetReplicationGroupId(v string) *CacheCluster { 6283 s.ReplicationGroupId = &v 6284 return s 6285} 6286 6287// SetSecurityGroups sets the SecurityGroups field's value. 6288func (s *CacheCluster) SetSecurityGroups(v []*SecurityGroupMembership) *CacheCluster { 6289 s.SecurityGroups = v 6290 return s 6291} 6292 6293// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 6294func (s *CacheCluster) SetSnapshotRetentionLimit(v int64) *CacheCluster { 6295 s.SnapshotRetentionLimit = &v 6296 return s 6297} 6298 6299// SetSnapshotWindow sets the SnapshotWindow field's value. 6300func (s *CacheCluster) SetSnapshotWindow(v string) *CacheCluster { 6301 s.SnapshotWindow = &v 6302 return s 6303} 6304 6305// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 6306func (s *CacheCluster) SetTransitEncryptionEnabled(v bool) *CacheCluster { 6307 s.TransitEncryptionEnabled = &v 6308 return s 6309} 6310 6311// Provides all of the details about a particular cache engine version. 6312type CacheEngineVersion struct { 6313 _ struct{} `type:"structure"` 6314 6315 // The description of the cache engine. 6316 CacheEngineDescription *string `type:"string"` 6317 6318 // The description of the cache engine version. 6319 CacheEngineVersionDescription *string `type:"string"` 6320 6321 // The name of the cache parameter group family associated with this cache engine. 6322 // 6323 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 6324 // | redis4.0 | redis5.0 | 6325 CacheParameterGroupFamily *string `type:"string"` 6326 6327 // The name of the cache engine. 6328 Engine *string `type:"string"` 6329 6330 // The version number of the cache engine. 6331 EngineVersion *string `type:"string"` 6332} 6333 6334// String returns the string representation 6335func (s CacheEngineVersion) String() string { 6336 return awsutil.Prettify(s) 6337} 6338 6339// GoString returns the string representation 6340func (s CacheEngineVersion) GoString() string { 6341 return s.String() 6342} 6343 6344// SetCacheEngineDescription sets the CacheEngineDescription field's value. 6345func (s *CacheEngineVersion) SetCacheEngineDescription(v string) *CacheEngineVersion { 6346 s.CacheEngineDescription = &v 6347 return s 6348} 6349 6350// SetCacheEngineVersionDescription sets the CacheEngineVersionDescription field's value. 6351func (s *CacheEngineVersion) SetCacheEngineVersionDescription(v string) *CacheEngineVersion { 6352 s.CacheEngineVersionDescription = &v 6353 return s 6354} 6355 6356// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 6357func (s *CacheEngineVersion) SetCacheParameterGroupFamily(v string) *CacheEngineVersion { 6358 s.CacheParameterGroupFamily = &v 6359 return s 6360} 6361 6362// SetEngine sets the Engine field's value. 6363func (s *CacheEngineVersion) SetEngine(v string) *CacheEngineVersion { 6364 s.Engine = &v 6365 return s 6366} 6367 6368// SetEngineVersion sets the EngineVersion field's value. 6369func (s *CacheEngineVersion) SetEngineVersion(v string) *CacheEngineVersion { 6370 s.EngineVersion = &v 6371 return s 6372} 6373 6374// Represents an individual cache node within a cluster. Each cache node runs 6375// its own instance of the cluster's protocol-compliant caching software - either 6376// Memcached or Redis. 6377// 6378// The following node types are supported by ElastiCache. Generally speaking, 6379// the current generation types provide more memory and computational power 6380// at lower cost when compared to their equivalent previous generation counterparts. 6381// 6382// * General purpose: Current generation: M5 node types: cache.m5.large, 6383// cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 6384// cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 6385// cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 6386// cache.t2.medium Previous generation: (not recommended) T1 node types: 6387// cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 6388// cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 6389// cache.m3.2xlarge 6390// 6391// * Compute optimized: Previous generation: (not recommended) C1 node types: 6392// cache.c1.xlarge 6393// 6394// * Memory optimized: Current generation: R5 node types: cache.r5.large, 6395// cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 6396// cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 6397// cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 6398// (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 6399// R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 6400// cache.r3.8xlarge 6401// 6402// Additional node type info 6403// 6404// * All current generation instance types are created in Amazon VPC by default. 6405// 6406// * Redis append-only files (AOF) are not supported for T1 or T2 instances. 6407// 6408// * Redis Multi-AZ with automatic failover is not supported on T1 instances. 6409// 6410// * Redis configuration variables appendonly and appendfsync are not supported 6411// on Redis version 2.8.22 and later. 6412type CacheNode struct { 6413 _ struct{} `type:"structure"` 6414 6415 // The date and time when the cache node was created. 6416 CacheNodeCreateTime *time.Time `type:"timestamp"` 6417 6418 // The cache node identifier. A node ID is a numeric identifier (0001, 0002, 6419 // etc.). The combination of cluster ID and node ID uniquely identifies every 6420 // cache node used in a customer's AWS account. 6421 CacheNodeId *string `type:"string"` 6422 6423 // The current state of this cache node. 6424 CacheNodeStatus *string `type:"string"` 6425 6426 // The Availability Zone where this node was created and now resides. 6427 CustomerAvailabilityZone *string `type:"string"` 6428 6429 // The hostname for connecting to this cache node. 6430 Endpoint *Endpoint `type:"structure"` 6431 6432 // The status of the parameter group applied to this cache node. 6433 ParameterGroupStatus *string `type:"string"` 6434 6435 // The ID of the primary node to which this read replica node is synchronized. 6436 // If this field is empty, this node is not associated with a primary cluster. 6437 SourceCacheNodeId *string `type:"string"` 6438} 6439 6440// String returns the string representation 6441func (s CacheNode) String() string { 6442 return awsutil.Prettify(s) 6443} 6444 6445// GoString returns the string representation 6446func (s CacheNode) GoString() string { 6447 return s.String() 6448} 6449 6450// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 6451func (s *CacheNode) SetCacheNodeCreateTime(v time.Time) *CacheNode { 6452 s.CacheNodeCreateTime = &v 6453 return s 6454} 6455 6456// SetCacheNodeId sets the CacheNodeId field's value. 6457func (s *CacheNode) SetCacheNodeId(v string) *CacheNode { 6458 s.CacheNodeId = &v 6459 return s 6460} 6461 6462// SetCacheNodeStatus sets the CacheNodeStatus field's value. 6463func (s *CacheNode) SetCacheNodeStatus(v string) *CacheNode { 6464 s.CacheNodeStatus = &v 6465 return s 6466} 6467 6468// SetCustomerAvailabilityZone sets the CustomerAvailabilityZone field's value. 6469func (s *CacheNode) SetCustomerAvailabilityZone(v string) *CacheNode { 6470 s.CustomerAvailabilityZone = &v 6471 return s 6472} 6473 6474// SetEndpoint sets the Endpoint field's value. 6475func (s *CacheNode) SetEndpoint(v *Endpoint) *CacheNode { 6476 s.Endpoint = v 6477 return s 6478} 6479 6480// SetParameterGroupStatus sets the ParameterGroupStatus field's value. 6481func (s *CacheNode) SetParameterGroupStatus(v string) *CacheNode { 6482 s.ParameterGroupStatus = &v 6483 return s 6484} 6485 6486// SetSourceCacheNodeId sets the SourceCacheNodeId field's value. 6487func (s *CacheNode) SetSourceCacheNodeId(v string) *CacheNode { 6488 s.SourceCacheNodeId = &v 6489 return s 6490} 6491 6492// A parameter that has a different value for each cache node type it is applied 6493// to. For example, in a Redis cluster, a cache.m1.large cache node type would 6494// have a larger maxmemory value than a cache.m1.small type. 6495type CacheNodeTypeSpecificParameter struct { 6496 _ struct{} `type:"structure"` 6497 6498 // The valid range of values for the parameter. 6499 AllowedValues *string `type:"string"` 6500 6501 // A list of cache node types and their corresponding values for this parameter. 6502 CacheNodeTypeSpecificValues []*CacheNodeTypeSpecificValue `locationNameList:"CacheNodeTypeSpecificValue" type:"list"` 6503 6504 // Indicates whether a change to the parameter is applied immediately or requires 6505 // a reboot for the change to be applied. You can force a reboot or wait until 6506 // the next maintenance window's reboot. For more information, see Rebooting 6507 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 6508 ChangeType *string `type:"string" enum:"ChangeType"` 6509 6510 // The valid data type for the parameter. 6511 DataType *string `type:"string"` 6512 6513 // A description of the parameter. 6514 Description *string `type:"string"` 6515 6516 // Indicates whether (true) or not (false) the parameter can be modified. Some 6517 // parameters have security or operational implications that prevent them from 6518 // being changed. 6519 IsModifiable *bool `type:"boolean"` 6520 6521 // The earliest cache engine version to which the parameter can apply. 6522 MinimumEngineVersion *string `type:"string"` 6523 6524 // The name of the parameter. 6525 ParameterName *string `type:"string"` 6526 6527 // The source of the parameter value. 6528 Source *string `type:"string"` 6529} 6530 6531// String returns the string representation 6532func (s CacheNodeTypeSpecificParameter) String() string { 6533 return awsutil.Prettify(s) 6534} 6535 6536// GoString returns the string representation 6537func (s CacheNodeTypeSpecificParameter) GoString() string { 6538 return s.String() 6539} 6540 6541// SetAllowedValues sets the AllowedValues field's value. 6542func (s *CacheNodeTypeSpecificParameter) SetAllowedValues(v string) *CacheNodeTypeSpecificParameter { 6543 s.AllowedValues = &v 6544 return s 6545} 6546 6547// SetCacheNodeTypeSpecificValues sets the CacheNodeTypeSpecificValues field's value. 6548func (s *CacheNodeTypeSpecificParameter) SetCacheNodeTypeSpecificValues(v []*CacheNodeTypeSpecificValue) *CacheNodeTypeSpecificParameter { 6549 s.CacheNodeTypeSpecificValues = v 6550 return s 6551} 6552 6553// SetChangeType sets the ChangeType field's value. 6554func (s *CacheNodeTypeSpecificParameter) SetChangeType(v string) *CacheNodeTypeSpecificParameter { 6555 s.ChangeType = &v 6556 return s 6557} 6558 6559// SetDataType sets the DataType field's value. 6560func (s *CacheNodeTypeSpecificParameter) SetDataType(v string) *CacheNodeTypeSpecificParameter { 6561 s.DataType = &v 6562 return s 6563} 6564 6565// SetDescription sets the Description field's value. 6566func (s *CacheNodeTypeSpecificParameter) SetDescription(v string) *CacheNodeTypeSpecificParameter { 6567 s.Description = &v 6568 return s 6569} 6570 6571// SetIsModifiable sets the IsModifiable field's value. 6572func (s *CacheNodeTypeSpecificParameter) SetIsModifiable(v bool) *CacheNodeTypeSpecificParameter { 6573 s.IsModifiable = &v 6574 return s 6575} 6576 6577// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 6578func (s *CacheNodeTypeSpecificParameter) SetMinimumEngineVersion(v string) *CacheNodeTypeSpecificParameter { 6579 s.MinimumEngineVersion = &v 6580 return s 6581} 6582 6583// SetParameterName sets the ParameterName field's value. 6584func (s *CacheNodeTypeSpecificParameter) SetParameterName(v string) *CacheNodeTypeSpecificParameter { 6585 s.ParameterName = &v 6586 return s 6587} 6588 6589// SetSource sets the Source field's value. 6590func (s *CacheNodeTypeSpecificParameter) SetSource(v string) *CacheNodeTypeSpecificParameter { 6591 s.Source = &v 6592 return s 6593} 6594 6595// A value that applies only to a certain cache node type. 6596type CacheNodeTypeSpecificValue struct { 6597 _ struct{} `type:"structure"` 6598 6599 // The cache node type for which this value applies. 6600 CacheNodeType *string `type:"string"` 6601 6602 // The value for the cache node type. 6603 Value *string `type:"string"` 6604} 6605 6606// String returns the string representation 6607func (s CacheNodeTypeSpecificValue) String() string { 6608 return awsutil.Prettify(s) 6609} 6610 6611// GoString returns the string representation 6612func (s CacheNodeTypeSpecificValue) GoString() string { 6613 return s.String() 6614} 6615 6616// SetCacheNodeType sets the CacheNodeType field's value. 6617func (s *CacheNodeTypeSpecificValue) SetCacheNodeType(v string) *CacheNodeTypeSpecificValue { 6618 s.CacheNodeType = &v 6619 return s 6620} 6621 6622// SetValue sets the Value field's value. 6623func (s *CacheNodeTypeSpecificValue) SetValue(v string) *CacheNodeTypeSpecificValue { 6624 s.Value = &v 6625 return s 6626} 6627 6628// The status of the service update on the cache node 6629type CacheNodeUpdateStatus struct { 6630 _ struct{} `type:"structure"` 6631 6632 // The node ID of the cache cluster 6633 CacheNodeId *string `type:"string"` 6634 6635 // The deletion date of the node 6636 NodeDeletionDate *time.Time `type:"timestamp"` 6637 6638 // The end date of the update for a node 6639 NodeUpdateEndDate *time.Time `type:"timestamp"` 6640 6641 // Reflects whether the update was initiated by the customer or automatically 6642 // applied 6643 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 6644 6645 // The date when the update is triggered 6646 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 6647 6648 // The start date of the update for a node 6649 NodeUpdateStartDate *time.Time `type:"timestamp"` 6650 6651 // The update status of the node 6652 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 6653 6654 // The date when the NodeUpdateStatus was last modified> 6655 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 6656} 6657 6658// String returns the string representation 6659func (s CacheNodeUpdateStatus) String() string { 6660 return awsutil.Prettify(s) 6661} 6662 6663// GoString returns the string representation 6664func (s CacheNodeUpdateStatus) GoString() string { 6665 return s.String() 6666} 6667 6668// SetCacheNodeId sets the CacheNodeId field's value. 6669func (s *CacheNodeUpdateStatus) SetCacheNodeId(v string) *CacheNodeUpdateStatus { 6670 s.CacheNodeId = &v 6671 return s 6672} 6673 6674// SetNodeDeletionDate sets the NodeDeletionDate field's value. 6675func (s *CacheNodeUpdateStatus) SetNodeDeletionDate(v time.Time) *CacheNodeUpdateStatus { 6676 s.NodeDeletionDate = &v 6677 return s 6678} 6679 6680// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 6681func (s *CacheNodeUpdateStatus) SetNodeUpdateEndDate(v time.Time) *CacheNodeUpdateStatus { 6682 s.NodeUpdateEndDate = &v 6683 return s 6684} 6685 6686// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 6687func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedBy(v string) *CacheNodeUpdateStatus { 6688 s.NodeUpdateInitiatedBy = &v 6689 return s 6690} 6691 6692// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 6693func (s *CacheNodeUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *CacheNodeUpdateStatus { 6694 s.NodeUpdateInitiatedDate = &v 6695 return s 6696} 6697 6698// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 6699func (s *CacheNodeUpdateStatus) SetNodeUpdateStartDate(v time.Time) *CacheNodeUpdateStatus { 6700 s.NodeUpdateStartDate = &v 6701 return s 6702} 6703 6704// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 6705func (s *CacheNodeUpdateStatus) SetNodeUpdateStatus(v string) *CacheNodeUpdateStatus { 6706 s.NodeUpdateStatus = &v 6707 return s 6708} 6709 6710// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 6711func (s *CacheNodeUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *CacheNodeUpdateStatus { 6712 s.NodeUpdateStatusModifiedDate = &v 6713 return s 6714} 6715 6716// Represents the output of a CreateCacheParameterGroup operation. 6717type CacheParameterGroup struct { 6718 _ struct{} `type:"structure"` 6719 6720 // The name of the cache parameter group family that this cache parameter group 6721 // is compatible with. 6722 // 6723 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 6724 // | redis4.0 | redis5.0 | 6725 CacheParameterGroupFamily *string `type:"string"` 6726 6727 // The name of the cache parameter group. 6728 CacheParameterGroupName *string `type:"string"` 6729 6730 // The description for this cache parameter group. 6731 Description *string `type:"string"` 6732} 6733 6734// String returns the string representation 6735func (s CacheParameterGroup) String() string { 6736 return awsutil.Prettify(s) 6737} 6738 6739// GoString returns the string representation 6740func (s CacheParameterGroup) GoString() string { 6741 return s.String() 6742} 6743 6744// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 6745func (s *CacheParameterGroup) SetCacheParameterGroupFamily(v string) *CacheParameterGroup { 6746 s.CacheParameterGroupFamily = &v 6747 return s 6748} 6749 6750// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 6751func (s *CacheParameterGroup) SetCacheParameterGroupName(v string) *CacheParameterGroup { 6752 s.CacheParameterGroupName = &v 6753 return s 6754} 6755 6756// SetDescription sets the Description field's value. 6757func (s *CacheParameterGroup) SetDescription(v string) *CacheParameterGroup { 6758 s.Description = &v 6759 return s 6760} 6761 6762// Represents the output of one of the following operations: 6763// 6764// * ModifyCacheParameterGroup 6765// 6766// * ResetCacheParameterGroup 6767type CacheParameterGroupNameMessage struct { 6768 _ struct{} `type:"structure"` 6769 6770 // The name of the cache parameter group. 6771 CacheParameterGroupName *string `type:"string"` 6772} 6773 6774// String returns the string representation 6775func (s CacheParameterGroupNameMessage) String() string { 6776 return awsutil.Prettify(s) 6777} 6778 6779// GoString returns the string representation 6780func (s CacheParameterGroupNameMessage) GoString() string { 6781 return s.String() 6782} 6783 6784// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 6785func (s *CacheParameterGroupNameMessage) SetCacheParameterGroupName(v string) *CacheParameterGroupNameMessage { 6786 s.CacheParameterGroupName = &v 6787 return s 6788} 6789 6790// Status of the cache parameter group. 6791type CacheParameterGroupStatus struct { 6792 _ struct{} `type:"structure"` 6793 6794 // A list of the cache node IDs which need to be rebooted for parameter changes 6795 // to be applied. A node ID is a numeric identifier (0001, 0002, etc.). 6796 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list"` 6797 6798 // The name of the cache parameter group. 6799 CacheParameterGroupName *string `type:"string"` 6800 6801 // The status of parameter updates. 6802 ParameterApplyStatus *string `type:"string"` 6803} 6804 6805// String returns the string representation 6806func (s CacheParameterGroupStatus) String() string { 6807 return awsutil.Prettify(s) 6808} 6809 6810// GoString returns the string representation 6811func (s CacheParameterGroupStatus) GoString() string { 6812 return s.String() 6813} 6814 6815// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 6816func (s *CacheParameterGroupStatus) SetCacheNodeIdsToReboot(v []*string) *CacheParameterGroupStatus { 6817 s.CacheNodeIdsToReboot = v 6818 return s 6819} 6820 6821// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 6822func (s *CacheParameterGroupStatus) SetCacheParameterGroupName(v string) *CacheParameterGroupStatus { 6823 s.CacheParameterGroupName = &v 6824 return s 6825} 6826 6827// SetParameterApplyStatus sets the ParameterApplyStatus field's value. 6828func (s *CacheParameterGroupStatus) SetParameterApplyStatus(v string) *CacheParameterGroupStatus { 6829 s.ParameterApplyStatus = &v 6830 return s 6831} 6832 6833// Represents the output of one of the following operations: 6834// 6835// * AuthorizeCacheSecurityGroupIngress 6836// 6837// * CreateCacheSecurityGroup 6838// 6839// * RevokeCacheSecurityGroupIngress 6840type CacheSecurityGroup struct { 6841 _ struct{} `type:"structure"` 6842 6843 // The name of the cache security group. 6844 CacheSecurityGroupName *string `type:"string"` 6845 6846 // The description of the cache security group. 6847 Description *string `type:"string"` 6848 6849 // A list of Amazon EC2 security groups that are associated with this cache 6850 // security group. 6851 EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"` 6852 6853 // The AWS account ID of the cache security group owner. 6854 OwnerId *string `type:"string"` 6855} 6856 6857// String returns the string representation 6858func (s CacheSecurityGroup) String() string { 6859 return awsutil.Prettify(s) 6860} 6861 6862// GoString returns the string representation 6863func (s CacheSecurityGroup) GoString() string { 6864 return s.String() 6865} 6866 6867// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 6868func (s *CacheSecurityGroup) SetCacheSecurityGroupName(v string) *CacheSecurityGroup { 6869 s.CacheSecurityGroupName = &v 6870 return s 6871} 6872 6873// SetDescription sets the Description field's value. 6874func (s *CacheSecurityGroup) SetDescription(v string) *CacheSecurityGroup { 6875 s.Description = &v 6876 return s 6877} 6878 6879// SetEC2SecurityGroups sets the EC2SecurityGroups field's value. 6880func (s *CacheSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *CacheSecurityGroup { 6881 s.EC2SecurityGroups = v 6882 return s 6883} 6884 6885// SetOwnerId sets the OwnerId field's value. 6886func (s *CacheSecurityGroup) SetOwnerId(v string) *CacheSecurityGroup { 6887 s.OwnerId = &v 6888 return s 6889} 6890 6891// Represents a cluster's status within a particular cache security group. 6892type CacheSecurityGroupMembership struct { 6893 _ struct{} `type:"structure"` 6894 6895 // The name of the cache security group. 6896 CacheSecurityGroupName *string `type:"string"` 6897 6898 // The membership status in the cache security group. The status changes when 6899 // a cache security group is modified, or when the cache security groups assigned 6900 // to a cluster are modified. 6901 Status *string `type:"string"` 6902} 6903 6904// String returns the string representation 6905func (s CacheSecurityGroupMembership) String() string { 6906 return awsutil.Prettify(s) 6907} 6908 6909// GoString returns the string representation 6910func (s CacheSecurityGroupMembership) GoString() string { 6911 return s.String() 6912} 6913 6914// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 6915func (s *CacheSecurityGroupMembership) SetCacheSecurityGroupName(v string) *CacheSecurityGroupMembership { 6916 s.CacheSecurityGroupName = &v 6917 return s 6918} 6919 6920// SetStatus sets the Status field's value. 6921func (s *CacheSecurityGroupMembership) SetStatus(v string) *CacheSecurityGroupMembership { 6922 s.Status = &v 6923 return s 6924} 6925 6926// Represents the output of one of the following operations: 6927// 6928// * CreateCacheSubnetGroup 6929// 6930// * ModifyCacheSubnetGroup 6931type CacheSubnetGroup struct { 6932 _ struct{} `type:"structure"` 6933 6934 // The description of the cache subnet group. 6935 CacheSubnetGroupDescription *string `type:"string"` 6936 6937 // The name of the cache subnet group. 6938 CacheSubnetGroupName *string `type:"string"` 6939 6940 // A list of subnets associated with the cache subnet group. 6941 Subnets []*Subnet `locationNameList:"Subnet" type:"list"` 6942 6943 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 6944 // group. 6945 VpcId *string `type:"string"` 6946} 6947 6948// String returns the string representation 6949func (s CacheSubnetGroup) String() string { 6950 return awsutil.Prettify(s) 6951} 6952 6953// GoString returns the string representation 6954func (s CacheSubnetGroup) GoString() string { 6955 return s.String() 6956} 6957 6958// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 6959func (s *CacheSubnetGroup) SetCacheSubnetGroupDescription(v string) *CacheSubnetGroup { 6960 s.CacheSubnetGroupDescription = &v 6961 return s 6962} 6963 6964// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 6965func (s *CacheSubnetGroup) SetCacheSubnetGroupName(v string) *CacheSubnetGroup { 6966 s.CacheSubnetGroupName = &v 6967 return s 6968} 6969 6970// SetSubnets sets the Subnets field's value. 6971func (s *CacheSubnetGroup) SetSubnets(v []*Subnet) *CacheSubnetGroup { 6972 s.Subnets = v 6973 return s 6974} 6975 6976// SetVpcId sets the VpcId field's value. 6977func (s *CacheSubnetGroup) SetVpcId(v string) *CacheSubnetGroup { 6978 s.VpcId = &v 6979 return s 6980} 6981 6982type CompleteMigrationInput struct { 6983 _ struct{} `type:"structure"` 6984 6985 // Forces the migration to stop without ensuring that data is in sync. It is 6986 // recommended to use this option only to abort the migration and not recommended 6987 // when application wants to continue migration to ElastiCache. 6988 Force *bool `type:"boolean"` 6989 6990 // The ID of the replication group to which data is being migrated. 6991 // 6992 // ReplicationGroupId is a required field 6993 ReplicationGroupId *string `type:"string" required:"true"` 6994} 6995 6996// String returns the string representation 6997func (s CompleteMigrationInput) String() string { 6998 return awsutil.Prettify(s) 6999} 7000 7001// GoString returns the string representation 7002func (s CompleteMigrationInput) GoString() string { 7003 return s.String() 7004} 7005 7006// Validate inspects the fields of the type to determine if they are valid. 7007func (s *CompleteMigrationInput) Validate() error { 7008 invalidParams := request.ErrInvalidParams{Context: "CompleteMigrationInput"} 7009 if s.ReplicationGroupId == nil { 7010 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 7011 } 7012 7013 if invalidParams.Len() > 0 { 7014 return invalidParams 7015 } 7016 return nil 7017} 7018 7019// SetForce sets the Force field's value. 7020func (s *CompleteMigrationInput) SetForce(v bool) *CompleteMigrationInput { 7021 s.Force = &v 7022 return s 7023} 7024 7025// SetReplicationGroupId sets the ReplicationGroupId field's value. 7026func (s *CompleteMigrationInput) SetReplicationGroupId(v string) *CompleteMigrationInput { 7027 s.ReplicationGroupId = &v 7028 return s 7029} 7030 7031type CompleteMigrationOutput struct { 7032 _ struct{} `type:"structure"` 7033 7034 // Contains all of the attributes of a specific Redis replication group. 7035 ReplicationGroup *ReplicationGroup `type:"structure"` 7036} 7037 7038// String returns the string representation 7039func (s CompleteMigrationOutput) String() string { 7040 return awsutil.Prettify(s) 7041} 7042 7043// GoString returns the string representation 7044func (s CompleteMigrationOutput) GoString() string { 7045 return s.String() 7046} 7047 7048// SetReplicationGroup sets the ReplicationGroup field's value. 7049func (s *CompleteMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *CompleteMigrationOutput { 7050 s.ReplicationGroup = v 7051 return s 7052} 7053 7054// Node group (shard) configuration options when adding or removing replicas. 7055// Each node group (shard) configuration has the following members: NodeGroupId, 7056// NewReplicaCount, and PreferredAvailabilityZones. 7057type ConfigureShard struct { 7058 _ struct{} `type:"structure"` 7059 7060 // The number of replicas you want in this node group at the end of this operation. 7061 // The maximum value for NewReplicaCount is 5. The minimum value depends upon 7062 // the type of Redis replication group you are working with. 7063 // 7064 // The minimum number of replicas in a shard or replication group is: 7065 // 7066 // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is 7067 // enabled: 1 If Multi-AZ with Automatic Failover is not enable: 0 7068 // 7069 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 7070 // to a replica if your primary node fails) 7071 // 7072 // NewReplicaCount is a required field 7073 NewReplicaCount *int64 `type:"integer" required:"true"` 7074 7075 // The 4-digit id for the node group you are configuring. For Redis (cluster 7076 // mode disabled) replication groups, the node group id is always 0001. To find 7077 // a Redis (cluster mode enabled)'s node group's (shard's) id, see Finding a 7078 // Shard's Id (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/shard-find-id.html). 7079 // 7080 // NodeGroupId is a required field 7081 NodeGroupId *string `min:"1" type:"string" required:"true"` 7082 7083 // A list of PreferredAvailabilityZone strings that specify which availability 7084 // zones the replication group's nodes are to be in. The nummber of PreferredAvailabilityZone 7085 // values must equal the value of NewReplicaCount plus 1 to account for the 7086 // primary node. If this member of ReplicaConfiguration is omitted, ElastiCache 7087 // for Redis selects the availability zone for each of the replicas. 7088 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 7089} 7090 7091// String returns the string representation 7092func (s ConfigureShard) String() string { 7093 return awsutil.Prettify(s) 7094} 7095 7096// GoString returns the string representation 7097func (s ConfigureShard) GoString() string { 7098 return s.String() 7099} 7100 7101// Validate inspects the fields of the type to determine if they are valid. 7102func (s *ConfigureShard) Validate() error { 7103 invalidParams := request.ErrInvalidParams{Context: "ConfigureShard"} 7104 if s.NewReplicaCount == nil { 7105 invalidParams.Add(request.NewErrParamRequired("NewReplicaCount")) 7106 } 7107 if s.NodeGroupId == nil { 7108 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 7109 } 7110 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 7111 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 7112 } 7113 7114 if invalidParams.Len() > 0 { 7115 return invalidParams 7116 } 7117 return nil 7118} 7119 7120// SetNewReplicaCount sets the NewReplicaCount field's value. 7121func (s *ConfigureShard) SetNewReplicaCount(v int64) *ConfigureShard { 7122 s.NewReplicaCount = &v 7123 return s 7124} 7125 7126// SetNodeGroupId sets the NodeGroupId field's value. 7127func (s *ConfigureShard) SetNodeGroupId(v string) *ConfigureShard { 7128 s.NodeGroupId = &v 7129 return s 7130} 7131 7132// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 7133func (s *ConfigureShard) SetPreferredAvailabilityZones(v []*string) *ConfigureShard { 7134 s.PreferredAvailabilityZones = v 7135 return s 7136} 7137 7138// Represents the input of a CopySnapshotMessage operation. 7139type CopySnapshotInput struct { 7140 _ struct{} `type:"structure"` 7141 7142 // The ID of the KMS key used to encrypt the target snapshot. 7143 KmsKeyId *string `type:"string"` 7144 7145 // The name of an existing snapshot from which to make a copy. 7146 // 7147 // SourceSnapshotName is a required field 7148 SourceSnapshotName *string `type:"string" required:"true"` 7149 7150 // The Amazon S3 bucket to which the snapshot is exported. This parameter is 7151 // used only when exporting a snapshot for external access. 7152 // 7153 // When using this parameter to export a snapshot, be sure Amazon ElastiCache 7154 // has the needed permissions to this S3 bucket. For more information, see Step 7155 // 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) 7156 // in the Amazon ElastiCache User Guide. 7157 // 7158 // For more information, see Exporting a Snapshot (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Snapshots.Exporting.html) 7159 // in the Amazon ElastiCache User Guide. 7160 TargetBucket *string `type:"string"` 7161 7162 // A name for the snapshot copy. ElastiCache does not permit overwriting a snapshot, 7163 // therefore this name must be unique within its context - ElastiCache or an 7164 // Amazon S3 bucket if exporting. 7165 // 7166 // TargetSnapshotName is a required field 7167 TargetSnapshotName *string `type:"string" required:"true"` 7168} 7169 7170// String returns the string representation 7171func (s CopySnapshotInput) String() string { 7172 return awsutil.Prettify(s) 7173} 7174 7175// GoString returns the string representation 7176func (s CopySnapshotInput) GoString() string { 7177 return s.String() 7178} 7179 7180// Validate inspects the fields of the type to determine if they are valid. 7181func (s *CopySnapshotInput) Validate() error { 7182 invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} 7183 if s.SourceSnapshotName == nil { 7184 invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) 7185 } 7186 if s.TargetSnapshotName == nil { 7187 invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) 7188 } 7189 7190 if invalidParams.Len() > 0 { 7191 return invalidParams 7192 } 7193 return nil 7194} 7195 7196// SetKmsKeyId sets the KmsKeyId field's value. 7197func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput { 7198 s.KmsKeyId = &v 7199 return s 7200} 7201 7202// SetSourceSnapshotName sets the SourceSnapshotName field's value. 7203func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { 7204 s.SourceSnapshotName = &v 7205 return s 7206} 7207 7208// SetTargetBucket sets the TargetBucket field's value. 7209func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { 7210 s.TargetBucket = &v 7211 return s 7212} 7213 7214// SetTargetSnapshotName sets the TargetSnapshotName field's value. 7215func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { 7216 s.TargetSnapshotName = &v 7217 return s 7218} 7219 7220type CopySnapshotOutput struct { 7221 _ struct{} `type:"structure"` 7222 7223 // Represents a copy of an entire Redis cluster as of the time when the snapshot 7224 // was taken. 7225 Snapshot *Snapshot `type:"structure"` 7226} 7227 7228// String returns the string representation 7229func (s CopySnapshotOutput) String() string { 7230 return awsutil.Prettify(s) 7231} 7232 7233// GoString returns the string representation 7234func (s CopySnapshotOutput) GoString() string { 7235 return s.String() 7236} 7237 7238// SetSnapshot sets the Snapshot field's value. 7239func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { 7240 s.Snapshot = v 7241 return s 7242} 7243 7244// Represents the input of a CreateCacheCluster operation. 7245type CreateCacheClusterInput struct { 7246 _ struct{} `type:"structure"` 7247 7248 // Specifies whether the nodes in this Memcached cluster are created in a single 7249 // Availability Zone or created across multiple Availability Zones in the cluster's 7250 // region. 7251 // 7252 // This parameter is only supported for Memcached clusters. 7253 // 7254 // If the AZMode and PreferredAvailabilityZones are not specified, ElastiCache 7255 // assumes single-az mode. 7256 AZMode *string `type:"string" enum:"AZMode"` 7257 7258 // Reserved parameter. The password used to access a password protected server. 7259 // 7260 // Password constraints: 7261 // 7262 // * Must be only printable ASCII characters. 7263 // 7264 // * Must be at least 16 characters and no more than 128 characters in length. 7265 // 7266 // * The only permitted printable special characters are !, &, #, $, ^, <, 7267 // >, and -. Other printable special characters cannot be used in the AUTH 7268 // token. 7269 // 7270 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 7271 // http://redis.io/commands/AUTH. 7272 AuthToken *string `type:"string"` 7273 7274 // This parameter is currently disabled. 7275 AutoMinorVersionUpgrade *bool `type:"boolean"` 7276 7277 // The node group (shard) identifier. This parameter is stored as a lowercase 7278 // string. 7279 // 7280 // Constraints: 7281 // 7282 // * A name must contain from 1 to 50 alphanumeric characters or hyphens. 7283 // 7284 // * The first character must be a letter. 7285 // 7286 // * A name cannot end with a hyphen or contain two consecutive hyphens. 7287 // 7288 // CacheClusterId is a required field 7289 CacheClusterId *string `type:"string" required:"true"` 7290 7291 // The compute and memory capacity of the nodes in the node group (shard). 7292 // 7293 // The following node types are supported by ElastiCache. Generally speaking, 7294 // the current generation types provide more memory and computational power 7295 // at lower cost when compared to their equivalent previous generation counterparts. 7296 // 7297 // * General purpose: Current generation: M5 node types: cache.m5.large, 7298 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 7299 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 7300 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 7301 // cache.t2.medium Previous generation: (not recommended) T1 node types: 7302 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 7303 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 7304 // cache.m3.2xlarge 7305 // 7306 // * Compute optimized: Previous generation: (not recommended) C1 node types: 7307 // cache.c1.xlarge 7308 // 7309 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 7310 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 7311 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 7312 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 7313 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 7314 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 7315 // cache.r3.8xlarge 7316 // 7317 // Additional node type info 7318 // 7319 // * All current generation instance types are created in Amazon VPC by default. 7320 // 7321 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 7322 // 7323 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 7324 // 7325 // * Redis configuration variables appendonly and appendfsync are not supported 7326 // on Redis version 2.8.22 and later. 7327 CacheNodeType *string `type:"string"` 7328 7329 // The name of the parameter group to associate with this cluster. If this argument 7330 // is omitted, the default parameter group for the specified engine is used. 7331 // You cannot use any parameter group which has cluster-enabled='yes' when creating 7332 // a cluster. 7333 CacheParameterGroupName *string `type:"string"` 7334 7335 // A list of security group names to associate with this cluster. 7336 // 7337 // Use this parameter only when you are creating a cluster outside of an Amazon 7338 // Virtual Private Cloud (Amazon VPC). 7339 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 7340 7341 // The name of the subnet group to be used for the cluster. 7342 // 7343 // Use this parameter only when you are creating a cluster in an Amazon Virtual 7344 // Private Cloud (Amazon VPC). 7345 // 7346 // If you're going to launch your cluster in an Amazon VPC, you need to create 7347 // a subnet group before you start creating a cluster. For more information, 7348 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 7349 CacheSubnetGroupName *string `type:"string"` 7350 7351 // The name of the cache engine to be used for this cluster. 7352 // 7353 // Valid values for this parameter are: memcached | redis 7354 Engine *string `type:"string"` 7355 7356 // The version number of the cache engine to be used for this cluster. To view 7357 // the supported cache engine versions, use the DescribeCacheEngineVersions 7358 // operation. 7359 // 7360 // Important: You can upgrade to a newer engine version (see Selecting a Cache 7361 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 7362 // but you cannot downgrade to an earlier engine version. If you want to use 7363 // an earlier engine version, you must delete the existing cluster or replication 7364 // group and create it anew with the earlier engine version. 7365 EngineVersion *string `type:"string"` 7366 7367 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 7368 // (SNS) topic to which notifications are sent. 7369 // 7370 // The Amazon SNS topic owner must be the same as the cluster owner. 7371 NotificationTopicArn *string `type:"string"` 7372 7373 // The initial number of cache nodes that the cluster has. 7374 // 7375 // For clusters running Redis, this value must be 1. For clusters running Memcached, 7376 // this value must be between 1 and 20. 7377 // 7378 // If you need more than 20 nodes for your Memcached cluster, please fill out 7379 // the ElastiCache Limit Increase Request form at http://aws.amazon.com/contact-us/elasticache-node-limit-request/ 7380 // (http://aws.amazon.com/contact-us/elasticache-node-limit-request/). 7381 NumCacheNodes *int64 `type:"integer"` 7382 7383 // The port number on which each of the cache nodes accepts connections. 7384 Port *int64 `type:"integer"` 7385 7386 // The EC2 Availability Zone in which the cluster is created. 7387 // 7388 // All nodes belonging to this Memcached cluster are placed in the preferred 7389 // Availability Zone. If you want to create your nodes across multiple Availability 7390 // Zones, use PreferredAvailabilityZones. 7391 // 7392 // Default: System chosen Availability Zone. 7393 PreferredAvailabilityZone *string `type:"string"` 7394 7395 // A list of the Availability Zones in which cache nodes are created. The order 7396 // of the zones in the list is not important. 7397 // 7398 // This option is only supported on Memcached. 7399 // 7400 // If you are creating your cluster in an Amazon VPC (recommended) you can only 7401 // locate nodes in Availability Zones that are associated with the subnets in 7402 // the selected subnet group. 7403 // 7404 // The number of Availability Zones listed must equal the value of NumCacheNodes. 7405 // 7406 // If you want all the nodes in the same Availability Zone, use PreferredAvailabilityZone 7407 // instead, or repeat the Availability Zone multiple times in the list. 7408 // 7409 // Default: System chosen Availability Zones. 7410 PreferredAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 7411 7412 // Specifies the weekly time range during which maintenance on the cluster is 7413 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 7414 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 7415 // values for ddd are: 7416 // 7417 // Specifies the weekly time range during which maintenance on the cluster is 7418 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 7419 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 7420 // 7421 // Valid values for ddd are: 7422 // 7423 // * sun 7424 // 7425 // * mon 7426 // 7427 // * tue 7428 // 7429 // * wed 7430 // 7431 // * thu 7432 // 7433 // * fri 7434 // 7435 // * sat 7436 // 7437 // Example: sun:23:00-mon:01:30 7438 PreferredMaintenanceWindow *string `type:"string"` 7439 7440 // The ID of the replication group to which this cluster should belong. If this 7441 // parameter is specified, the cluster is added to the specified replication 7442 // group as a read replica; otherwise, the cluster is a standalone primary that 7443 // is not part of any replication group. 7444 // 7445 // If the specified replication group is Multi-AZ enabled and the Availability 7446 // Zone is not specified, the cluster is created in Availability Zones that 7447 // provide the best spread of read replicas across Availability Zones. 7448 // 7449 // This parameter is only valid if the Engine parameter is redis. 7450 ReplicationGroupId *string `type:"string"` 7451 7452 // One or more VPC security groups associated with the cluster. 7453 // 7454 // Use this parameter only when you are creating a cluster in an Amazon Virtual 7455 // Private Cloud (Amazon VPC). 7456 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 7457 7458 // A single-element string list containing an Amazon Resource Name (ARN) that 7459 // uniquely identifies a Redis RDB snapshot file stored in Amazon S3. The snapshot 7460 // file is used to populate the node group (shard). The Amazon S3 object name 7461 // in the ARN cannot contain any commas. 7462 // 7463 // This parameter is only valid if the Engine parameter is redis. 7464 // 7465 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 7466 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 7467 7468 // The name of a Redis snapshot from which to restore data into the new node 7469 // group (shard). The snapshot status changes to restoring while the new node 7470 // group (shard) is being created. 7471 // 7472 // This parameter is only valid if the Engine parameter is redis. 7473 SnapshotName *string `type:"string"` 7474 7475 // The number of days for which ElastiCache retains automatic snapshots before 7476 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 7477 // taken today is retained for 5 days before being deleted. 7478 // 7479 // This parameter is only valid if the Engine parameter is redis. 7480 // 7481 // Default: 0 (i.e., automatic backups are disabled for this cache cluster). 7482 SnapshotRetentionLimit *int64 `type:"integer"` 7483 7484 // The daily time range (in UTC) during which ElastiCache begins taking a daily 7485 // snapshot of your node group (shard). 7486 // 7487 // Example: 05:00-09:00 7488 // 7489 // If you do not specify this parameter, ElastiCache automatically chooses an 7490 // appropriate time range. 7491 // 7492 // This parameter is only valid if the Engine parameter is redis. 7493 SnapshotWindow *string `type:"string"` 7494 7495 // A list of cost allocation tags to be added to this resource. 7496 Tags []*Tag `locationNameList:"Tag" type:"list"` 7497} 7498 7499// String returns the string representation 7500func (s CreateCacheClusterInput) String() string { 7501 return awsutil.Prettify(s) 7502} 7503 7504// GoString returns the string representation 7505func (s CreateCacheClusterInput) GoString() string { 7506 return s.String() 7507} 7508 7509// Validate inspects the fields of the type to determine if they are valid. 7510func (s *CreateCacheClusterInput) Validate() error { 7511 invalidParams := request.ErrInvalidParams{Context: "CreateCacheClusterInput"} 7512 if s.CacheClusterId == nil { 7513 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 7514 } 7515 7516 if invalidParams.Len() > 0 { 7517 return invalidParams 7518 } 7519 return nil 7520} 7521 7522// SetAZMode sets the AZMode field's value. 7523func (s *CreateCacheClusterInput) SetAZMode(v string) *CreateCacheClusterInput { 7524 s.AZMode = &v 7525 return s 7526} 7527 7528// SetAuthToken sets the AuthToken field's value. 7529func (s *CreateCacheClusterInput) SetAuthToken(v string) *CreateCacheClusterInput { 7530 s.AuthToken = &v 7531 return s 7532} 7533 7534// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 7535func (s *CreateCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateCacheClusterInput { 7536 s.AutoMinorVersionUpgrade = &v 7537 return s 7538} 7539 7540// SetCacheClusterId sets the CacheClusterId field's value. 7541func (s *CreateCacheClusterInput) SetCacheClusterId(v string) *CreateCacheClusterInput { 7542 s.CacheClusterId = &v 7543 return s 7544} 7545 7546// SetCacheNodeType sets the CacheNodeType field's value. 7547func (s *CreateCacheClusterInput) SetCacheNodeType(v string) *CreateCacheClusterInput { 7548 s.CacheNodeType = &v 7549 return s 7550} 7551 7552// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7553func (s *CreateCacheClusterInput) SetCacheParameterGroupName(v string) *CreateCacheClusterInput { 7554 s.CacheParameterGroupName = &v 7555 return s 7556} 7557 7558// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 7559func (s *CreateCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *CreateCacheClusterInput { 7560 s.CacheSecurityGroupNames = v 7561 return s 7562} 7563 7564// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7565func (s *CreateCacheClusterInput) SetCacheSubnetGroupName(v string) *CreateCacheClusterInput { 7566 s.CacheSubnetGroupName = &v 7567 return s 7568} 7569 7570// SetEngine sets the Engine field's value. 7571func (s *CreateCacheClusterInput) SetEngine(v string) *CreateCacheClusterInput { 7572 s.Engine = &v 7573 return s 7574} 7575 7576// SetEngineVersion sets the EngineVersion field's value. 7577func (s *CreateCacheClusterInput) SetEngineVersion(v string) *CreateCacheClusterInput { 7578 s.EngineVersion = &v 7579 return s 7580} 7581 7582// SetNotificationTopicArn sets the NotificationTopicArn field's value. 7583func (s *CreateCacheClusterInput) SetNotificationTopicArn(v string) *CreateCacheClusterInput { 7584 s.NotificationTopicArn = &v 7585 return s 7586} 7587 7588// SetNumCacheNodes sets the NumCacheNodes field's value. 7589func (s *CreateCacheClusterInput) SetNumCacheNodes(v int64) *CreateCacheClusterInput { 7590 s.NumCacheNodes = &v 7591 return s 7592} 7593 7594// SetPort sets the Port field's value. 7595func (s *CreateCacheClusterInput) SetPort(v int64) *CreateCacheClusterInput { 7596 s.Port = &v 7597 return s 7598} 7599 7600// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 7601func (s *CreateCacheClusterInput) SetPreferredAvailabilityZone(v string) *CreateCacheClusterInput { 7602 s.PreferredAvailabilityZone = &v 7603 return s 7604} 7605 7606// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 7607func (s *CreateCacheClusterInput) SetPreferredAvailabilityZones(v []*string) *CreateCacheClusterInput { 7608 s.PreferredAvailabilityZones = v 7609 return s 7610} 7611 7612// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 7613func (s *CreateCacheClusterInput) SetPreferredMaintenanceWindow(v string) *CreateCacheClusterInput { 7614 s.PreferredMaintenanceWindow = &v 7615 return s 7616} 7617 7618// SetReplicationGroupId sets the ReplicationGroupId field's value. 7619func (s *CreateCacheClusterInput) SetReplicationGroupId(v string) *CreateCacheClusterInput { 7620 s.ReplicationGroupId = &v 7621 return s 7622} 7623 7624// SetSecurityGroupIds sets the SecurityGroupIds field's value. 7625func (s *CreateCacheClusterInput) SetSecurityGroupIds(v []*string) *CreateCacheClusterInput { 7626 s.SecurityGroupIds = v 7627 return s 7628} 7629 7630// SetSnapshotArns sets the SnapshotArns field's value. 7631func (s *CreateCacheClusterInput) SetSnapshotArns(v []*string) *CreateCacheClusterInput { 7632 s.SnapshotArns = v 7633 return s 7634} 7635 7636// SetSnapshotName sets the SnapshotName field's value. 7637func (s *CreateCacheClusterInput) SetSnapshotName(v string) *CreateCacheClusterInput { 7638 s.SnapshotName = &v 7639 return s 7640} 7641 7642// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 7643func (s *CreateCacheClusterInput) SetSnapshotRetentionLimit(v int64) *CreateCacheClusterInput { 7644 s.SnapshotRetentionLimit = &v 7645 return s 7646} 7647 7648// SetSnapshotWindow sets the SnapshotWindow field's value. 7649func (s *CreateCacheClusterInput) SetSnapshotWindow(v string) *CreateCacheClusterInput { 7650 s.SnapshotWindow = &v 7651 return s 7652} 7653 7654// SetTags sets the Tags field's value. 7655func (s *CreateCacheClusterInput) SetTags(v []*Tag) *CreateCacheClusterInput { 7656 s.Tags = v 7657 return s 7658} 7659 7660type CreateCacheClusterOutput struct { 7661 _ struct{} `type:"structure"` 7662 7663 // Contains all of the attributes of a specific cluster. 7664 CacheCluster *CacheCluster `type:"structure"` 7665} 7666 7667// String returns the string representation 7668func (s CreateCacheClusterOutput) String() string { 7669 return awsutil.Prettify(s) 7670} 7671 7672// GoString returns the string representation 7673func (s CreateCacheClusterOutput) GoString() string { 7674 return s.String() 7675} 7676 7677// SetCacheCluster sets the CacheCluster field's value. 7678func (s *CreateCacheClusterOutput) SetCacheCluster(v *CacheCluster) *CreateCacheClusterOutput { 7679 s.CacheCluster = v 7680 return s 7681} 7682 7683// Represents the input of a CreateCacheParameterGroup operation. 7684type CreateCacheParameterGroupInput struct { 7685 _ struct{} `type:"structure"` 7686 7687 // The name of the cache parameter group family that the cache parameter group 7688 // can be used with. 7689 // 7690 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 7691 // | redis4.0 | redis5.0 | 7692 // 7693 // CacheParameterGroupFamily is a required field 7694 CacheParameterGroupFamily *string `type:"string" required:"true"` 7695 7696 // A user-specified name for the cache parameter group. 7697 // 7698 // CacheParameterGroupName is a required field 7699 CacheParameterGroupName *string `type:"string" required:"true"` 7700 7701 // A user-specified description for the cache parameter group. 7702 // 7703 // Description is a required field 7704 Description *string `type:"string" required:"true"` 7705} 7706 7707// String returns the string representation 7708func (s CreateCacheParameterGroupInput) String() string { 7709 return awsutil.Prettify(s) 7710} 7711 7712// GoString returns the string representation 7713func (s CreateCacheParameterGroupInput) GoString() string { 7714 return s.String() 7715} 7716 7717// Validate inspects the fields of the type to determine if they are valid. 7718func (s *CreateCacheParameterGroupInput) Validate() error { 7719 invalidParams := request.ErrInvalidParams{Context: "CreateCacheParameterGroupInput"} 7720 if s.CacheParameterGroupFamily == nil { 7721 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 7722 } 7723 if s.CacheParameterGroupName == nil { 7724 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 7725 } 7726 if s.Description == nil { 7727 invalidParams.Add(request.NewErrParamRequired("Description")) 7728 } 7729 7730 if invalidParams.Len() > 0 { 7731 return invalidParams 7732 } 7733 return nil 7734} 7735 7736// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 7737func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupFamily(v string) *CreateCacheParameterGroupInput { 7738 s.CacheParameterGroupFamily = &v 7739 return s 7740} 7741 7742// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 7743func (s *CreateCacheParameterGroupInput) SetCacheParameterGroupName(v string) *CreateCacheParameterGroupInput { 7744 s.CacheParameterGroupName = &v 7745 return s 7746} 7747 7748// SetDescription sets the Description field's value. 7749func (s *CreateCacheParameterGroupInput) SetDescription(v string) *CreateCacheParameterGroupInput { 7750 s.Description = &v 7751 return s 7752} 7753 7754type CreateCacheParameterGroupOutput struct { 7755 _ struct{} `type:"structure"` 7756 7757 // Represents the output of a CreateCacheParameterGroup operation. 7758 CacheParameterGroup *CacheParameterGroup `type:"structure"` 7759} 7760 7761// String returns the string representation 7762func (s CreateCacheParameterGroupOutput) String() string { 7763 return awsutil.Prettify(s) 7764} 7765 7766// GoString returns the string representation 7767func (s CreateCacheParameterGroupOutput) GoString() string { 7768 return s.String() 7769} 7770 7771// SetCacheParameterGroup sets the CacheParameterGroup field's value. 7772func (s *CreateCacheParameterGroupOutput) SetCacheParameterGroup(v *CacheParameterGroup) *CreateCacheParameterGroupOutput { 7773 s.CacheParameterGroup = v 7774 return s 7775} 7776 7777// Represents the input of a CreateCacheSecurityGroup operation. 7778type CreateCacheSecurityGroupInput struct { 7779 _ struct{} `type:"structure"` 7780 7781 // A name for the cache security group. This value is stored as a lowercase 7782 // string. 7783 // 7784 // Constraints: Must contain no more than 255 alphanumeric characters. Cannot 7785 // be the word "Default". 7786 // 7787 // Example: mysecuritygroup 7788 // 7789 // CacheSecurityGroupName is a required field 7790 CacheSecurityGroupName *string `type:"string" required:"true"` 7791 7792 // A description for the cache security group. 7793 // 7794 // Description is a required field 7795 Description *string `type:"string" required:"true"` 7796} 7797 7798// String returns the string representation 7799func (s CreateCacheSecurityGroupInput) String() string { 7800 return awsutil.Prettify(s) 7801} 7802 7803// GoString returns the string representation 7804func (s CreateCacheSecurityGroupInput) GoString() string { 7805 return s.String() 7806} 7807 7808// Validate inspects the fields of the type to determine if they are valid. 7809func (s *CreateCacheSecurityGroupInput) Validate() error { 7810 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSecurityGroupInput"} 7811 if s.CacheSecurityGroupName == nil { 7812 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 7813 } 7814 if s.Description == nil { 7815 invalidParams.Add(request.NewErrParamRequired("Description")) 7816 } 7817 7818 if invalidParams.Len() > 0 { 7819 return invalidParams 7820 } 7821 return nil 7822} 7823 7824// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 7825func (s *CreateCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *CreateCacheSecurityGroupInput { 7826 s.CacheSecurityGroupName = &v 7827 return s 7828} 7829 7830// SetDescription sets the Description field's value. 7831func (s *CreateCacheSecurityGroupInput) SetDescription(v string) *CreateCacheSecurityGroupInput { 7832 s.Description = &v 7833 return s 7834} 7835 7836type CreateCacheSecurityGroupOutput struct { 7837 _ struct{} `type:"structure"` 7838 7839 // Represents the output of one of the following operations: 7840 // 7841 // * AuthorizeCacheSecurityGroupIngress 7842 // 7843 // * CreateCacheSecurityGroup 7844 // 7845 // * RevokeCacheSecurityGroupIngress 7846 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 7847} 7848 7849// String returns the string representation 7850func (s CreateCacheSecurityGroupOutput) String() string { 7851 return awsutil.Prettify(s) 7852} 7853 7854// GoString returns the string representation 7855func (s CreateCacheSecurityGroupOutput) GoString() string { 7856 return s.String() 7857} 7858 7859// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 7860func (s *CreateCacheSecurityGroupOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *CreateCacheSecurityGroupOutput { 7861 s.CacheSecurityGroup = v 7862 return s 7863} 7864 7865// Represents the input of a CreateCacheSubnetGroup operation. 7866type CreateCacheSubnetGroupInput struct { 7867 _ struct{} `type:"structure"` 7868 7869 // A description for the cache subnet group. 7870 // 7871 // CacheSubnetGroupDescription is a required field 7872 CacheSubnetGroupDescription *string `type:"string" required:"true"` 7873 7874 // A name for the cache subnet group. This value is stored as a lowercase string. 7875 // 7876 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 7877 // 7878 // Example: mysubnetgroup 7879 // 7880 // CacheSubnetGroupName is a required field 7881 CacheSubnetGroupName *string `type:"string" required:"true"` 7882 7883 // A list of VPC subnet IDs for the cache subnet group. 7884 // 7885 // SubnetIds is a required field 7886 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"` 7887} 7888 7889// String returns the string representation 7890func (s CreateCacheSubnetGroupInput) String() string { 7891 return awsutil.Prettify(s) 7892} 7893 7894// GoString returns the string representation 7895func (s CreateCacheSubnetGroupInput) GoString() string { 7896 return s.String() 7897} 7898 7899// Validate inspects the fields of the type to determine if they are valid. 7900func (s *CreateCacheSubnetGroupInput) Validate() error { 7901 invalidParams := request.ErrInvalidParams{Context: "CreateCacheSubnetGroupInput"} 7902 if s.CacheSubnetGroupDescription == nil { 7903 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupDescription")) 7904 } 7905 if s.CacheSubnetGroupName == nil { 7906 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 7907 } 7908 if s.SubnetIds == nil { 7909 invalidParams.Add(request.NewErrParamRequired("SubnetIds")) 7910 } 7911 7912 if invalidParams.Len() > 0 { 7913 return invalidParams 7914 } 7915 return nil 7916} 7917 7918// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 7919func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *CreateCacheSubnetGroupInput { 7920 s.CacheSubnetGroupDescription = &v 7921 return s 7922} 7923 7924// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 7925func (s *CreateCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *CreateCacheSubnetGroupInput { 7926 s.CacheSubnetGroupName = &v 7927 return s 7928} 7929 7930// SetSubnetIds sets the SubnetIds field's value. 7931func (s *CreateCacheSubnetGroupInput) SetSubnetIds(v []*string) *CreateCacheSubnetGroupInput { 7932 s.SubnetIds = v 7933 return s 7934} 7935 7936type CreateCacheSubnetGroupOutput struct { 7937 _ struct{} `type:"structure"` 7938 7939 // Represents the output of one of the following operations: 7940 // 7941 // * CreateCacheSubnetGroup 7942 // 7943 // * ModifyCacheSubnetGroup 7944 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 7945} 7946 7947// String returns the string representation 7948func (s CreateCacheSubnetGroupOutput) String() string { 7949 return awsutil.Prettify(s) 7950} 7951 7952// GoString returns the string representation 7953func (s CreateCacheSubnetGroupOutput) GoString() string { 7954 return s.String() 7955} 7956 7957// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 7958func (s *CreateCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *CreateCacheSubnetGroupOutput { 7959 s.CacheSubnetGroup = v 7960 return s 7961} 7962 7963// Represents the input of a CreateReplicationGroup operation. 7964type CreateReplicationGroupInput struct { 7965 _ struct{} `type:"structure"` 7966 7967 // A flag that enables encryption at rest when set to true. 7968 // 7969 // You cannot modify the value of AtRestEncryptionEnabled after the replication 7970 // group is created. To enable encryption at rest on a replication group you 7971 // must set AtRestEncryptionEnabled to true when you create the replication 7972 // group. 7973 // 7974 // Required: Only available when creating a replication group in an Amazon VPC 7975 // using redis version 3.2.6, 4.x or later. 7976 // 7977 // Default: false 7978 AtRestEncryptionEnabled *bool `type:"boolean"` 7979 7980 // Reserved parameter. The password used to access a password protected server. 7981 // 7982 // AuthToken can be specified only on replication groups where TransitEncryptionEnabled 7983 // is true. 7984 // 7985 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 7986 // an AuthToken, and a CacheSubnetGroup. 7987 // 7988 // Password constraints: 7989 // 7990 // * Must be only printable ASCII characters. 7991 // 7992 // * Must be at least 16 characters and no more than 128 characters in length. 7993 // 7994 // * The only permitted printable special characters are !, &, #, $, ^, <, 7995 // >, and -. Other printable special characters cannot be used in the AUTH 7996 // token. 7997 // 7998 // For more information, see AUTH password (http://redis.io/commands/AUTH) at 7999 // http://redis.io/commands/AUTH. 8000 AuthToken *string `type:"string"` 8001 8002 // This parameter is currently disabled. 8003 AutoMinorVersionUpgrade *bool `type:"boolean"` 8004 8005 // Specifies whether a read-only replica is automatically promoted to read/write 8006 // primary if the existing primary fails. 8007 // 8008 // If true, Multi-AZ is enabled for this replication group. If false, Multi-AZ 8009 // is disabled for this replication group. 8010 // 8011 // AutomaticFailoverEnabled must be enabled for Redis (cluster mode enabled) 8012 // replication groups. 8013 // 8014 // Default: false 8015 // 8016 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 8017 // on: 8018 // 8019 // * Redis versions earlier than 2.8.6. 8020 // 8021 // * Redis (cluster mode disabled): T1 node types. 8022 // 8023 // * Redis (cluster mode enabled): T1 node types. 8024 AutomaticFailoverEnabled *bool `type:"boolean"` 8025 8026 // The compute and memory capacity of the nodes in the node group (shard). 8027 // 8028 // The following node types are supported by ElastiCache. Generally speaking, 8029 // the current generation types provide more memory and computational power 8030 // at lower cost when compared to their equivalent previous generation counterparts. 8031 // 8032 // * General purpose: Current generation: M5 node types: cache.m5.large, 8033 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 8034 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 8035 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 8036 // cache.t2.medium Previous generation: (not recommended) T1 node types: 8037 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 8038 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 8039 // cache.m3.2xlarge 8040 // 8041 // * Compute optimized: Previous generation: (not recommended) C1 node types: 8042 // cache.c1.xlarge 8043 // 8044 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 8045 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 8046 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 8047 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 8048 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 8049 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 8050 // cache.r3.8xlarge 8051 // 8052 // Additional node type info 8053 // 8054 // * All current generation instance types are created in Amazon VPC by default. 8055 // 8056 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 8057 // 8058 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 8059 // 8060 // * Redis configuration variables appendonly and appendfsync are not supported 8061 // on Redis version 2.8.22 and later. 8062 CacheNodeType *string `type:"string"` 8063 8064 // The name of the parameter group to associate with this replication group. 8065 // If this argument is omitted, the default cache parameter group for the specified 8066 // engine is used. 8067 // 8068 // If you are restoring to an engine version that is different than the original, 8069 // you must specify the default version of that version. For example, CacheParameterGroupName=default.redis4.0. 8070 // 8071 // If you are running Redis version 3.2.4 or later, only one node group (shard), 8072 // and want to use a default parameter group, we recommend that you specify 8073 // the parameter group by name. 8074 // 8075 // * To create a Redis (cluster mode disabled) replication group, use CacheParameterGroupName=default.redis3.2. 8076 // 8077 // * To create a Redis (cluster mode enabled) replication group, use CacheParameterGroupName=default.redis3.2.cluster.on. 8078 CacheParameterGroupName *string `type:"string"` 8079 8080 // A list of cache security group names to associate with this replication group. 8081 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 8082 8083 // The name of the cache subnet group to be used for the replication group. 8084 // 8085 // If you're going to launch your cluster in an Amazon VPC, you need to create 8086 // a subnet group before you start creating a cluster. For more information, 8087 // see Subnets and Subnet Groups (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SubnetGroups.html). 8088 CacheSubnetGroupName *string `type:"string"` 8089 8090 // The name of the cache engine to be used for the clusters in this replication 8091 // group. 8092 Engine *string `type:"string"` 8093 8094 // The version number of the cache engine to be used for the clusters in this 8095 // replication group. To view the supported cache engine versions, use the DescribeCacheEngineVersions 8096 // operation. 8097 // 8098 // Important: You can upgrade to a newer engine version (see Selecting a Cache 8099 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)) 8100 // in the ElastiCache User Guide, but you cannot downgrade to an earlier engine 8101 // version. If you want to use an earlier engine version, you must delete the 8102 // existing cluster or replication group and create it anew with the earlier 8103 // engine version. 8104 EngineVersion *string `type:"string"` 8105 8106 // The ID of the KMS key used to encrypt the disk on the cluster. 8107 KmsKeyId *string `type:"string"` 8108 8109 // A list of node group (shard) configuration options. Each node group (shard) 8110 // configuration has the following members: PrimaryAvailabilityZone, ReplicaAvailabilityZones, 8111 // ReplicaCount, and Slots. 8112 // 8113 // If you're creating a Redis (cluster mode disabled) or a Redis (cluster mode 8114 // enabled) replication group, you can use this parameter to individually configure 8115 // each node group (shard), or you can omit this parameter. However, when seeding 8116 // a Redis (cluster mode enabled) cluster from a S3 rdb file, you must configure 8117 // each node group (shard) using this parameter because you must specify the 8118 // slots for each node group. 8119 NodeGroupConfiguration []*NodeGroupConfiguration `locationNameList:"NodeGroupConfiguration" type:"list"` 8120 8121 // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service 8122 // (SNS) topic to which notifications are sent. 8123 // 8124 // The Amazon SNS topic owner must be the same as the cluster owner. 8125 NotificationTopicArn *string `type:"string"` 8126 8127 // The number of clusters this replication group initially has. 8128 // 8129 // This parameter is not used if there is more than one node group (shard). 8130 // You should use ReplicasPerNodeGroup instead. 8131 // 8132 // If AutomaticFailoverEnabled is true, the value of this parameter must be 8133 // at least 2. If AutomaticFailoverEnabled is false you can omit this parameter 8134 // (it will default to 1), or you can explicitly set it to a value between 2 8135 // and 6. 8136 // 8137 // The maximum permitted value for NumCacheClusters is 6 (1 primary plus 5 replicas). 8138 NumCacheClusters *int64 `type:"integer"` 8139 8140 // An optional parameter that specifies the number of node groups (shards) for 8141 // this Redis (cluster mode enabled) replication group. For Redis (cluster mode 8142 // disabled) either omit this parameter or set it to 1. 8143 // 8144 // Default: 1 8145 NumNodeGroups *int64 `type:"integer"` 8146 8147 // The port number on which each member of the replication group accepts connections. 8148 Port *int64 `type:"integer"` 8149 8150 // A list of EC2 Availability Zones in which the replication group's clusters 8151 // are created. The order of the Availability Zones in the list is the order 8152 // in which clusters are allocated. The primary cluster is created in the first 8153 // AZ in the list. 8154 // 8155 // This parameter is not used if there is more than one node group (shard). 8156 // You should use NodeGroupConfiguration instead. 8157 // 8158 // If you are creating your replication group in an Amazon VPC (recommended), 8159 // you can only locate clusters in Availability Zones associated with the subnets 8160 // in the selected subnet group. 8161 // 8162 // The number of Availability Zones listed must equal the value of NumCacheClusters. 8163 // 8164 // Default: system chosen Availability Zones. 8165 PreferredCacheClusterAZs []*string `locationNameList:"AvailabilityZone" type:"list"` 8166 8167 // Specifies the weekly time range during which maintenance on the cluster is 8168 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8169 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. Valid 8170 // values for ddd are: 8171 // 8172 // Specifies the weekly time range during which maintenance on the cluster is 8173 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 8174 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 8175 // 8176 // Valid values for ddd are: 8177 // 8178 // * sun 8179 // 8180 // * mon 8181 // 8182 // * tue 8183 // 8184 // * wed 8185 // 8186 // * thu 8187 // 8188 // * fri 8189 // 8190 // * sat 8191 // 8192 // Example: sun:23:00-mon:01:30 8193 PreferredMaintenanceWindow *string `type:"string"` 8194 8195 // The identifier of the cluster that serves as the primary for this replication 8196 // group. This cluster must already exist and have a status of available. 8197 // 8198 // This parameter is not required if NumCacheClusters, NumNodeGroups, or ReplicasPerNodeGroup 8199 // is specified. 8200 PrimaryClusterId *string `type:"string"` 8201 8202 // An optional parameter that specifies the number of replica nodes in each 8203 // node group (shard). Valid values are 0 to 5. 8204 ReplicasPerNodeGroup *int64 `type:"integer"` 8205 8206 // A user-created description for the replication group. 8207 // 8208 // ReplicationGroupDescription is a required field 8209 ReplicationGroupDescription *string `type:"string" required:"true"` 8210 8211 // The replication group identifier. This parameter is stored as a lowercase 8212 // string. 8213 // 8214 // Constraints: 8215 // 8216 // * A name must contain from 1 to 40 alphanumeric characters or hyphens. 8217 // 8218 // * The first character must be a letter. 8219 // 8220 // * A name cannot end with a hyphen or contain two consecutive hyphens. 8221 // 8222 // ReplicationGroupId is a required field 8223 ReplicationGroupId *string `type:"string" required:"true"` 8224 8225 // One or more Amazon VPC security groups associated with this replication group. 8226 // 8227 // Use this parameter only when you are creating a replication group in an Amazon 8228 // Virtual Private Cloud (Amazon VPC). 8229 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 8230 8231 // A list of Amazon Resource Names (ARN) that uniquely identify the Redis RDB 8232 // snapshot files stored in Amazon S3. The snapshot files are used to populate 8233 // the new replication group. The Amazon S3 object name in the ARN cannot contain 8234 // any commas. The new replication group will have the number of node groups 8235 // (console: shards) specified by the parameter NumNodeGroups or the number 8236 // of node groups configured by NodeGroupConfiguration regardless of the number 8237 // of ARNs specified here. 8238 // 8239 // Example of an Amazon S3 ARN: arn:aws:s3:::my_bucket/snapshot1.rdb 8240 SnapshotArns []*string `locationNameList:"SnapshotArn" type:"list"` 8241 8242 // The name of a snapshot from which to restore data into the new replication 8243 // group. The snapshot status changes to restoring while the new replication 8244 // group is being created. 8245 SnapshotName *string `type:"string"` 8246 8247 // The number of days for which ElastiCache retains automatic snapshots before 8248 // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot 8249 // that was taken today is retained for 5 days before being deleted. 8250 // 8251 // Default: 0 (i.e., automatic backups are disabled for this cluster). 8252 SnapshotRetentionLimit *int64 `type:"integer"` 8253 8254 // The daily time range (in UTC) during which ElastiCache begins taking a daily 8255 // snapshot of your node group (shard). 8256 // 8257 // Example: 05:00-09:00 8258 // 8259 // If you do not specify this parameter, ElastiCache automatically chooses an 8260 // appropriate time range. 8261 SnapshotWindow *string `type:"string"` 8262 8263 // A list of cost allocation tags to be added to this resource. Tags are comma-separated 8264 // key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple 8265 // tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. 8266 Tags []*Tag `locationNameList:"Tag" type:"list"` 8267 8268 // A flag that enables in-transit encryption when set to true. 8269 // 8270 // You cannot modify the value of TransitEncryptionEnabled after the cluster 8271 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 8272 // to true when you create a cluster. 8273 // 8274 // This parameter is valid only if the Engine parameter is redis, the EngineVersion 8275 // parameter is 3.2.6, 4.x or later, and the cluster is being created in an 8276 // Amazon VPC. 8277 // 8278 // If you enable in-transit encryption, you must also specify a value for CacheSubnetGroup. 8279 // 8280 // Required: Only available when creating a replication group in an Amazon VPC 8281 // using redis version 3.2.6, 4.x or later. 8282 // 8283 // Default: false 8284 // 8285 // For HIPAA compliance, you must specify TransitEncryptionEnabled as true, 8286 // an AuthToken, and a CacheSubnetGroup. 8287 TransitEncryptionEnabled *bool `type:"boolean"` 8288} 8289 8290// String returns the string representation 8291func (s CreateReplicationGroupInput) String() string { 8292 return awsutil.Prettify(s) 8293} 8294 8295// GoString returns the string representation 8296func (s CreateReplicationGroupInput) GoString() string { 8297 return s.String() 8298} 8299 8300// Validate inspects the fields of the type to determine if they are valid. 8301func (s *CreateReplicationGroupInput) Validate() error { 8302 invalidParams := request.ErrInvalidParams{Context: "CreateReplicationGroupInput"} 8303 if s.ReplicationGroupDescription == nil { 8304 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupDescription")) 8305 } 8306 if s.ReplicationGroupId == nil { 8307 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 8308 } 8309 if s.NodeGroupConfiguration != nil { 8310 for i, v := range s.NodeGroupConfiguration { 8311 if v == nil { 8312 continue 8313 } 8314 if err := v.Validate(); err != nil { 8315 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NodeGroupConfiguration", i), err.(request.ErrInvalidParams)) 8316 } 8317 } 8318 } 8319 8320 if invalidParams.Len() > 0 { 8321 return invalidParams 8322 } 8323 return nil 8324} 8325 8326// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 8327func (s *CreateReplicationGroupInput) SetAtRestEncryptionEnabled(v bool) *CreateReplicationGroupInput { 8328 s.AtRestEncryptionEnabled = &v 8329 return s 8330} 8331 8332// SetAuthToken sets the AuthToken field's value. 8333func (s *CreateReplicationGroupInput) SetAuthToken(v string) *CreateReplicationGroupInput { 8334 s.AuthToken = &v 8335 return s 8336} 8337 8338// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 8339func (s *CreateReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *CreateReplicationGroupInput { 8340 s.AutoMinorVersionUpgrade = &v 8341 return s 8342} 8343 8344// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 8345func (s *CreateReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *CreateReplicationGroupInput { 8346 s.AutomaticFailoverEnabled = &v 8347 return s 8348} 8349 8350// SetCacheNodeType sets the CacheNodeType field's value. 8351func (s *CreateReplicationGroupInput) SetCacheNodeType(v string) *CreateReplicationGroupInput { 8352 s.CacheNodeType = &v 8353 return s 8354} 8355 8356// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8357func (s *CreateReplicationGroupInput) SetCacheParameterGroupName(v string) *CreateReplicationGroupInput { 8358 s.CacheParameterGroupName = &v 8359 return s 8360} 8361 8362// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 8363func (s *CreateReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *CreateReplicationGroupInput { 8364 s.CacheSecurityGroupNames = v 8365 return s 8366} 8367 8368// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8369func (s *CreateReplicationGroupInput) SetCacheSubnetGroupName(v string) *CreateReplicationGroupInput { 8370 s.CacheSubnetGroupName = &v 8371 return s 8372} 8373 8374// SetEngine sets the Engine field's value. 8375func (s *CreateReplicationGroupInput) SetEngine(v string) *CreateReplicationGroupInput { 8376 s.Engine = &v 8377 return s 8378} 8379 8380// SetEngineVersion sets the EngineVersion field's value. 8381func (s *CreateReplicationGroupInput) SetEngineVersion(v string) *CreateReplicationGroupInput { 8382 s.EngineVersion = &v 8383 return s 8384} 8385 8386// SetKmsKeyId sets the KmsKeyId field's value. 8387func (s *CreateReplicationGroupInput) SetKmsKeyId(v string) *CreateReplicationGroupInput { 8388 s.KmsKeyId = &v 8389 return s 8390} 8391 8392// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 8393func (s *CreateReplicationGroupInput) SetNodeGroupConfiguration(v []*NodeGroupConfiguration) *CreateReplicationGroupInput { 8394 s.NodeGroupConfiguration = v 8395 return s 8396} 8397 8398// SetNotificationTopicArn sets the NotificationTopicArn field's value. 8399func (s *CreateReplicationGroupInput) SetNotificationTopicArn(v string) *CreateReplicationGroupInput { 8400 s.NotificationTopicArn = &v 8401 return s 8402} 8403 8404// SetNumCacheClusters sets the NumCacheClusters field's value. 8405func (s *CreateReplicationGroupInput) SetNumCacheClusters(v int64) *CreateReplicationGroupInput { 8406 s.NumCacheClusters = &v 8407 return s 8408} 8409 8410// SetNumNodeGroups sets the NumNodeGroups field's value. 8411func (s *CreateReplicationGroupInput) SetNumNodeGroups(v int64) *CreateReplicationGroupInput { 8412 s.NumNodeGroups = &v 8413 return s 8414} 8415 8416// SetPort sets the Port field's value. 8417func (s *CreateReplicationGroupInput) SetPort(v int64) *CreateReplicationGroupInput { 8418 s.Port = &v 8419 return s 8420} 8421 8422// SetPreferredCacheClusterAZs sets the PreferredCacheClusterAZs field's value. 8423func (s *CreateReplicationGroupInput) SetPreferredCacheClusterAZs(v []*string) *CreateReplicationGroupInput { 8424 s.PreferredCacheClusterAZs = v 8425 return s 8426} 8427 8428// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 8429func (s *CreateReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *CreateReplicationGroupInput { 8430 s.PreferredMaintenanceWindow = &v 8431 return s 8432} 8433 8434// SetPrimaryClusterId sets the PrimaryClusterId field's value. 8435func (s *CreateReplicationGroupInput) SetPrimaryClusterId(v string) *CreateReplicationGroupInput { 8436 s.PrimaryClusterId = &v 8437 return s 8438} 8439 8440// SetReplicasPerNodeGroup sets the ReplicasPerNodeGroup field's value. 8441func (s *CreateReplicationGroupInput) SetReplicasPerNodeGroup(v int64) *CreateReplicationGroupInput { 8442 s.ReplicasPerNodeGroup = &v 8443 return s 8444} 8445 8446// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 8447func (s *CreateReplicationGroupInput) SetReplicationGroupDescription(v string) *CreateReplicationGroupInput { 8448 s.ReplicationGroupDescription = &v 8449 return s 8450} 8451 8452// SetReplicationGroupId sets the ReplicationGroupId field's value. 8453func (s *CreateReplicationGroupInput) SetReplicationGroupId(v string) *CreateReplicationGroupInput { 8454 s.ReplicationGroupId = &v 8455 return s 8456} 8457 8458// SetSecurityGroupIds sets the SecurityGroupIds field's value. 8459func (s *CreateReplicationGroupInput) SetSecurityGroupIds(v []*string) *CreateReplicationGroupInput { 8460 s.SecurityGroupIds = v 8461 return s 8462} 8463 8464// SetSnapshotArns sets the SnapshotArns field's value. 8465func (s *CreateReplicationGroupInput) SetSnapshotArns(v []*string) *CreateReplicationGroupInput { 8466 s.SnapshotArns = v 8467 return s 8468} 8469 8470// SetSnapshotName sets the SnapshotName field's value. 8471func (s *CreateReplicationGroupInput) SetSnapshotName(v string) *CreateReplicationGroupInput { 8472 s.SnapshotName = &v 8473 return s 8474} 8475 8476// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 8477func (s *CreateReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *CreateReplicationGroupInput { 8478 s.SnapshotRetentionLimit = &v 8479 return s 8480} 8481 8482// SetSnapshotWindow sets the SnapshotWindow field's value. 8483func (s *CreateReplicationGroupInput) SetSnapshotWindow(v string) *CreateReplicationGroupInput { 8484 s.SnapshotWindow = &v 8485 return s 8486} 8487 8488// SetTags sets the Tags field's value. 8489func (s *CreateReplicationGroupInput) SetTags(v []*Tag) *CreateReplicationGroupInput { 8490 s.Tags = v 8491 return s 8492} 8493 8494// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 8495func (s *CreateReplicationGroupInput) SetTransitEncryptionEnabled(v bool) *CreateReplicationGroupInput { 8496 s.TransitEncryptionEnabled = &v 8497 return s 8498} 8499 8500type CreateReplicationGroupOutput struct { 8501 _ struct{} `type:"structure"` 8502 8503 // Contains all of the attributes of a specific Redis replication group. 8504 ReplicationGroup *ReplicationGroup `type:"structure"` 8505} 8506 8507// String returns the string representation 8508func (s CreateReplicationGroupOutput) String() string { 8509 return awsutil.Prettify(s) 8510} 8511 8512// GoString returns the string representation 8513func (s CreateReplicationGroupOutput) GoString() string { 8514 return s.String() 8515} 8516 8517// SetReplicationGroup sets the ReplicationGroup field's value. 8518func (s *CreateReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *CreateReplicationGroupOutput { 8519 s.ReplicationGroup = v 8520 return s 8521} 8522 8523// Represents the input of a CreateSnapshot operation. 8524type CreateSnapshotInput struct { 8525 _ struct{} `type:"structure"` 8526 8527 // The identifier of an existing cluster. The snapshot is created from this 8528 // cluster. 8529 CacheClusterId *string `type:"string"` 8530 8531 // The ID of the KMS key used to encrypt the snapshot. 8532 KmsKeyId *string `type:"string"` 8533 8534 // The identifier of an existing replication group. The snapshot is created 8535 // from this replication group. 8536 ReplicationGroupId *string `type:"string"` 8537 8538 // A name for the snapshot being created. 8539 // 8540 // SnapshotName is a required field 8541 SnapshotName *string `type:"string" required:"true"` 8542} 8543 8544// String returns the string representation 8545func (s CreateSnapshotInput) String() string { 8546 return awsutil.Prettify(s) 8547} 8548 8549// GoString returns the string representation 8550func (s CreateSnapshotInput) GoString() string { 8551 return s.String() 8552} 8553 8554// Validate inspects the fields of the type to determine if they are valid. 8555func (s *CreateSnapshotInput) Validate() error { 8556 invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} 8557 if s.SnapshotName == nil { 8558 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 8559 } 8560 8561 if invalidParams.Len() > 0 { 8562 return invalidParams 8563 } 8564 return nil 8565} 8566 8567// SetCacheClusterId sets the CacheClusterId field's value. 8568func (s *CreateSnapshotInput) SetCacheClusterId(v string) *CreateSnapshotInput { 8569 s.CacheClusterId = &v 8570 return s 8571} 8572 8573// SetKmsKeyId sets the KmsKeyId field's value. 8574func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput { 8575 s.KmsKeyId = &v 8576 return s 8577} 8578 8579// SetReplicationGroupId sets the ReplicationGroupId field's value. 8580func (s *CreateSnapshotInput) SetReplicationGroupId(v string) *CreateSnapshotInput { 8581 s.ReplicationGroupId = &v 8582 return s 8583} 8584 8585// SetSnapshotName sets the SnapshotName field's value. 8586func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { 8587 s.SnapshotName = &v 8588 return s 8589} 8590 8591type CreateSnapshotOutput struct { 8592 _ struct{} `type:"structure"` 8593 8594 // Represents a copy of an entire Redis cluster as of the time when the snapshot 8595 // was taken. 8596 Snapshot *Snapshot `type:"structure"` 8597} 8598 8599// String returns the string representation 8600func (s CreateSnapshotOutput) String() string { 8601 return awsutil.Prettify(s) 8602} 8603 8604// GoString returns the string representation 8605func (s CreateSnapshotOutput) GoString() string { 8606 return s.String() 8607} 8608 8609// SetSnapshot sets the Snapshot field's value. 8610func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { 8611 s.Snapshot = v 8612 return s 8613} 8614 8615// The endpoint from which data should be migrated. 8616type CustomerNodeEndpoint struct { 8617 _ struct{} `type:"structure"` 8618 8619 // The address of the node endpoint 8620 Address *string `type:"string"` 8621 8622 // The port of the node endpoint 8623 Port *int64 `type:"integer"` 8624} 8625 8626// String returns the string representation 8627func (s CustomerNodeEndpoint) String() string { 8628 return awsutil.Prettify(s) 8629} 8630 8631// GoString returns the string representation 8632func (s CustomerNodeEndpoint) GoString() string { 8633 return s.String() 8634} 8635 8636// SetAddress sets the Address field's value. 8637func (s *CustomerNodeEndpoint) SetAddress(v string) *CustomerNodeEndpoint { 8638 s.Address = &v 8639 return s 8640} 8641 8642// SetPort sets the Port field's value. 8643func (s *CustomerNodeEndpoint) SetPort(v int64) *CustomerNodeEndpoint { 8644 s.Port = &v 8645 return s 8646} 8647 8648type DecreaseReplicaCountInput struct { 8649 _ struct{} `type:"structure"` 8650 8651 // If True, the number of replica nodes is decreased immediately. ApplyImmediately=False 8652 // is not currently supported. 8653 // 8654 // ApplyImmediately is a required field 8655 ApplyImmediately *bool `type:"boolean" required:"true"` 8656 8657 // The number of read replica nodes you want at the completion of this operation. 8658 // For Redis (cluster mode disabled) replication groups, this is the number 8659 // of replica nodes in the replication group. For Redis (cluster mode enabled) 8660 // replication groups, this is the number of replica nodes in each of the replication 8661 // group's node groups. 8662 // 8663 // The minimum number of replicas in a shard or replication group is: 8664 // 8665 // * Redis (cluster mode disabled) If Multi-AZ with Automatic Failover is 8666 // enabled: 1 If Multi-AZ with Automatic Failover is not enabled: 0 8667 // 8668 // * Redis (cluster mode enabled): 0 (though you will not be able to failover 8669 // to a replica if your primary node fails) 8670 NewReplicaCount *int64 `type:"integer"` 8671 8672 // A list of ConfigureShard objects that can be used to configure each shard 8673 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 8674 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 8675 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 8676 8677 // A list of the node ids to remove from the replication group or node group 8678 // (shard). 8679 ReplicasToRemove []*string `type:"list"` 8680 8681 // The id of the replication group from which you want to remove replica nodes. 8682 // 8683 // ReplicationGroupId is a required field 8684 ReplicationGroupId *string `type:"string" required:"true"` 8685} 8686 8687// String returns the string representation 8688func (s DecreaseReplicaCountInput) String() string { 8689 return awsutil.Prettify(s) 8690} 8691 8692// GoString returns the string representation 8693func (s DecreaseReplicaCountInput) GoString() string { 8694 return s.String() 8695} 8696 8697// Validate inspects the fields of the type to determine if they are valid. 8698func (s *DecreaseReplicaCountInput) Validate() error { 8699 invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicaCountInput"} 8700 if s.ApplyImmediately == nil { 8701 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 8702 } 8703 if s.ReplicationGroupId == nil { 8704 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 8705 } 8706 if s.ReplicaConfiguration != nil { 8707 for i, v := range s.ReplicaConfiguration { 8708 if v == nil { 8709 continue 8710 } 8711 if err := v.Validate(); err != nil { 8712 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 8713 } 8714 } 8715 } 8716 8717 if invalidParams.Len() > 0 { 8718 return invalidParams 8719 } 8720 return nil 8721} 8722 8723// SetApplyImmediately sets the ApplyImmediately field's value. 8724func (s *DecreaseReplicaCountInput) SetApplyImmediately(v bool) *DecreaseReplicaCountInput { 8725 s.ApplyImmediately = &v 8726 return s 8727} 8728 8729// SetNewReplicaCount sets the NewReplicaCount field's value. 8730func (s *DecreaseReplicaCountInput) SetNewReplicaCount(v int64) *DecreaseReplicaCountInput { 8731 s.NewReplicaCount = &v 8732 return s 8733} 8734 8735// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 8736func (s *DecreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *DecreaseReplicaCountInput { 8737 s.ReplicaConfiguration = v 8738 return s 8739} 8740 8741// SetReplicasToRemove sets the ReplicasToRemove field's value. 8742func (s *DecreaseReplicaCountInput) SetReplicasToRemove(v []*string) *DecreaseReplicaCountInput { 8743 s.ReplicasToRemove = v 8744 return s 8745} 8746 8747// SetReplicationGroupId sets the ReplicationGroupId field's value. 8748func (s *DecreaseReplicaCountInput) SetReplicationGroupId(v string) *DecreaseReplicaCountInput { 8749 s.ReplicationGroupId = &v 8750 return s 8751} 8752 8753type DecreaseReplicaCountOutput struct { 8754 _ struct{} `type:"structure"` 8755 8756 // Contains all of the attributes of a specific Redis replication group. 8757 ReplicationGroup *ReplicationGroup `type:"structure"` 8758} 8759 8760// String returns the string representation 8761func (s DecreaseReplicaCountOutput) String() string { 8762 return awsutil.Prettify(s) 8763} 8764 8765// GoString returns the string representation 8766func (s DecreaseReplicaCountOutput) GoString() string { 8767 return s.String() 8768} 8769 8770// SetReplicationGroup sets the ReplicationGroup field's value. 8771func (s *DecreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *DecreaseReplicaCountOutput { 8772 s.ReplicationGroup = v 8773 return s 8774} 8775 8776// Represents the input of a DeleteCacheCluster operation. 8777type DeleteCacheClusterInput struct { 8778 _ struct{} `type:"structure"` 8779 8780 // The cluster identifier for the cluster to be deleted. This parameter is not 8781 // case sensitive. 8782 // 8783 // CacheClusterId is a required field 8784 CacheClusterId *string `type:"string" required:"true"` 8785 8786 // The user-supplied name of a final cluster snapshot. This is the unique name 8787 // that identifies the snapshot. ElastiCache creates the snapshot, and then 8788 // deletes the cluster immediately afterward. 8789 FinalSnapshotIdentifier *string `type:"string"` 8790} 8791 8792// String returns the string representation 8793func (s DeleteCacheClusterInput) String() string { 8794 return awsutil.Prettify(s) 8795} 8796 8797// GoString returns the string representation 8798func (s DeleteCacheClusterInput) GoString() string { 8799 return s.String() 8800} 8801 8802// Validate inspects the fields of the type to determine if they are valid. 8803func (s *DeleteCacheClusterInput) Validate() error { 8804 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheClusterInput"} 8805 if s.CacheClusterId == nil { 8806 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 8807 } 8808 8809 if invalidParams.Len() > 0 { 8810 return invalidParams 8811 } 8812 return nil 8813} 8814 8815// SetCacheClusterId sets the CacheClusterId field's value. 8816func (s *DeleteCacheClusterInput) SetCacheClusterId(v string) *DeleteCacheClusterInput { 8817 s.CacheClusterId = &v 8818 return s 8819} 8820 8821// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 8822func (s *DeleteCacheClusterInput) SetFinalSnapshotIdentifier(v string) *DeleteCacheClusterInput { 8823 s.FinalSnapshotIdentifier = &v 8824 return s 8825} 8826 8827type DeleteCacheClusterOutput struct { 8828 _ struct{} `type:"structure"` 8829 8830 // Contains all of the attributes of a specific cluster. 8831 CacheCluster *CacheCluster `type:"structure"` 8832} 8833 8834// String returns the string representation 8835func (s DeleteCacheClusterOutput) String() string { 8836 return awsutil.Prettify(s) 8837} 8838 8839// GoString returns the string representation 8840func (s DeleteCacheClusterOutput) GoString() string { 8841 return s.String() 8842} 8843 8844// SetCacheCluster sets the CacheCluster field's value. 8845func (s *DeleteCacheClusterOutput) SetCacheCluster(v *CacheCluster) *DeleteCacheClusterOutput { 8846 s.CacheCluster = v 8847 return s 8848} 8849 8850// Represents the input of a DeleteCacheParameterGroup operation. 8851type DeleteCacheParameterGroupInput struct { 8852 _ struct{} `type:"structure"` 8853 8854 // The name of the cache parameter group to delete. 8855 // 8856 // The specified cache security group must not be associated with any clusters. 8857 // 8858 // CacheParameterGroupName is a required field 8859 CacheParameterGroupName *string `type:"string" required:"true"` 8860} 8861 8862// String returns the string representation 8863func (s DeleteCacheParameterGroupInput) String() string { 8864 return awsutil.Prettify(s) 8865} 8866 8867// GoString returns the string representation 8868func (s DeleteCacheParameterGroupInput) GoString() string { 8869 return s.String() 8870} 8871 8872// Validate inspects the fields of the type to determine if they are valid. 8873func (s *DeleteCacheParameterGroupInput) Validate() error { 8874 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheParameterGroupInput"} 8875 if s.CacheParameterGroupName == nil { 8876 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 8877 } 8878 8879 if invalidParams.Len() > 0 { 8880 return invalidParams 8881 } 8882 return nil 8883} 8884 8885// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 8886func (s *DeleteCacheParameterGroupInput) SetCacheParameterGroupName(v string) *DeleteCacheParameterGroupInput { 8887 s.CacheParameterGroupName = &v 8888 return s 8889} 8890 8891type DeleteCacheParameterGroupOutput struct { 8892 _ struct{} `type:"structure"` 8893} 8894 8895// String returns the string representation 8896func (s DeleteCacheParameterGroupOutput) String() string { 8897 return awsutil.Prettify(s) 8898} 8899 8900// GoString returns the string representation 8901func (s DeleteCacheParameterGroupOutput) GoString() string { 8902 return s.String() 8903} 8904 8905// Represents the input of a DeleteCacheSecurityGroup operation. 8906type DeleteCacheSecurityGroupInput struct { 8907 _ struct{} `type:"structure"` 8908 8909 // The name of the cache security group to delete. 8910 // 8911 // You cannot delete the default security group. 8912 // 8913 // CacheSecurityGroupName is a required field 8914 CacheSecurityGroupName *string `type:"string" required:"true"` 8915} 8916 8917// String returns the string representation 8918func (s DeleteCacheSecurityGroupInput) String() string { 8919 return awsutil.Prettify(s) 8920} 8921 8922// GoString returns the string representation 8923func (s DeleteCacheSecurityGroupInput) GoString() string { 8924 return s.String() 8925} 8926 8927// Validate inspects the fields of the type to determine if they are valid. 8928func (s *DeleteCacheSecurityGroupInput) Validate() error { 8929 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSecurityGroupInput"} 8930 if s.CacheSecurityGroupName == nil { 8931 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 8932 } 8933 8934 if invalidParams.Len() > 0 { 8935 return invalidParams 8936 } 8937 return nil 8938} 8939 8940// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 8941func (s *DeleteCacheSecurityGroupInput) SetCacheSecurityGroupName(v string) *DeleteCacheSecurityGroupInput { 8942 s.CacheSecurityGroupName = &v 8943 return s 8944} 8945 8946type DeleteCacheSecurityGroupOutput struct { 8947 _ struct{} `type:"structure"` 8948} 8949 8950// String returns the string representation 8951func (s DeleteCacheSecurityGroupOutput) String() string { 8952 return awsutil.Prettify(s) 8953} 8954 8955// GoString returns the string representation 8956func (s DeleteCacheSecurityGroupOutput) GoString() string { 8957 return s.String() 8958} 8959 8960// Represents the input of a DeleteCacheSubnetGroup operation. 8961type DeleteCacheSubnetGroupInput struct { 8962 _ struct{} `type:"structure"` 8963 8964 // The name of the cache subnet group to delete. 8965 // 8966 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 8967 // 8968 // CacheSubnetGroupName is a required field 8969 CacheSubnetGroupName *string `type:"string" required:"true"` 8970} 8971 8972// String returns the string representation 8973func (s DeleteCacheSubnetGroupInput) String() string { 8974 return awsutil.Prettify(s) 8975} 8976 8977// GoString returns the string representation 8978func (s DeleteCacheSubnetGroupInput) GoString() string { 8979 return s.String() 8980} 8981 8982// Validate inspects the fields of the type to determine if they are valid. 8983func (s *DeleteCacheSubnetGroupInput) Validate() error { 8984 invalidParams := request.ErrInvalidParams{Context: "DeleteCacheSubnetGroupInput"} 8985 if s.CacheSubnetGroupName == nil { 8986 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 8987 } 8988 8989 if invalidParams.Len() > 0 { 8990 return invalidParams 8991 } 8992 return nil 8993} 8994 8995// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 8996func (s *DeleteCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *DeleteCacheSubnetGroupInput { 8997 s.CacheSubnetGroupName = &v 8998 return s 8999} 9000 9001type DeleteCacheSubnetGroupOutput struct { 9002 _ struct{} `type:"structure"` 9003} 9004 9005// String returns the string representation 9006func (s DeleteCacheSubnetGroupOutput) String() string { 9007 return awsutil.Prettify(s) 9008} 9009 9010// GoString returns the string representation 9011func (s DeleteCacheSubnetGroupOutput) GoString() string { 9012 return s.String() 9013} 9014 9015// Represents the input of a DeleteReplicationGroup operation. 9016type DeleteReplicationGroupInput struct { 9017 _ struct{} `type:"structure"` 9018 9019 // The name of a final node group (shard) snapshot. ElastiCache creates the 9020 // snapshot from the primary node in the cluster, rather than one of the replicas; 9021 // this is to ensure that it captures the freshest data. After the final snapshot 9022 // is taken, the replication group is immediately deleted. 9023 FinalSnapshotIdentifier *string `type:"string"` 9024 9025 // The identifier for the cluster to be deleted. This parameter is not case 9026 // sensitive. 9027 // 9028 // ReplicationGroupId is a required field 9029 ReplicationGroupId *string `type:"string" required:"true"` 9030 9031 // If set to true, all of the read replicas are deleted, but the primary node 9032 // is retained. 9033 RetainPrimaryCluster *bool `type:"boolean"` 9034} 9035 9036// String returns the string representation 9037func (s DeleteReplicationGroupInput) String() string { 9038 return awsutil.Prettify(s) 9039} 9040 9041// GoString returns the string representation 9042func (s DeleteReplicationGroupInput) GoString() string { 9043 return s.String() 9044} 9045 9046// Validate inspects the fields of the type to determine if they are valid. 9047func (s *DeleteReplicationGroupInput) Validate() error { 9048 invalidParams := request.ErrInvalidParams{Context: "DeleteReplicationGroupInput"} 9049 if s.ReplicationGroupId == nil { 9050 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 9051 } 9052 9053 if invalidParams.Len() > 0 { 9054 return invalidParams 9055 } 9056 return nil 9057} 9058 9059// SetFinalSnapshotIdentifier sets the FinalSnapshotIdentifier field's value. 9060func (s *DeleteReplicationGroupInput) SetFinalSnapshotIdentifier(v string) *DeleteReplicationGroupInput { 9061 s.FinalSnapshotIdentifier = &v 9062 return s 9063} 9064 9065// SetReplicationGroupId sets the ReplicationGroupId field's value. 9066func (s *DeleteReplicationGroupInput) SetReplicationGroupId(v string) *DeleteReplicationGroupInput { 9067 s.ReplicationGroupId = &v 9068 return s 9069} 9070 9071// SetRetainPrimaryCluster sets the RetainPrimaryCluster field's value. 9072func (s *DeleteReplicationGroupInput) SetRetainPrimaryCluster(v bool) *DeleteReplicationGroupInput { 9073 s.RetainPrimaryCluster = &v 9074 return s 9075} 9076 9077type DeleteReplicationGroupOutput struct { 9078 _ struct{} `type:"structure"` 9079 9080 // Contains all of the attributes of a specific Redis replication group. 9081 ReplicationGroup *ReplicationGroup `type:"structure"` 9082} 9083 9084// String returns the string representation 9085func (s DeleteReplicationGroupOutput) String() string { 9086 return awsutil.Prettify(s) 9087} 9088 9089// GoString returns the string representation 9090func (s DeleteReplicationGroupOutput) GoString() string { 9091 return s.String() 9092} 9093 9094// SetReplicationGroup sets the ReplicationGroup field's value. 9095func (s *DeleteReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *DeleteReplicationGroupOutput { 9096 s.ReplicationGroup = v 9097 return s 9098} 9099 9100// Represents the input of a DeleteSnapshot operation. 9101type DeleteSnapshotInput struct { 9102 _ struct{} `type:"structure"` 9103 9104 // The name of the snapshot to be deleted. 9105 // 9106 // SnapshotName is a required field 9107 SnapshotName *string `type:"string" required:"true"` 9108} 9109 9110// String returns the string representation 9111func (s DeleteSnapshotInput) String() string { 9112 return awsutil.Prettify(s) 9113} 9114 9115// GoString returns the string representation 9116func (s DeleteSnapshotInput) GoString() string { 9117 return s.String() 9118} 9119 9120// Validate inspects the fields of the type to determine if they are valid. 9121func (s *DeleteSnapshotInput) Validate() error { 9122 invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} 9123 if s.SnapshotName == nil { 9124 invalidParams.Add(request.NewErrParamRequired("SnapshotName")) 9125 } 9126 9127 if invalidParams.Len() > 0 { 9128 return invalidParams 9129 } 9130 return nil 9131} 9132 9133// SetSnapshotName sets the SnapshotName field's value. 9134func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { 9135 s.SnapshotName = &v 9136 return s 9137} 9138 9139type DeleteSnapshotOutput struct { 9140 _ struct{} `type:"structure"` 9141 9142 // Represents a copy of an entire Redis cluster as of the time when the snapshot 9143 // was taken. 9144 Snapshot *Snapshot `type:"structure"` 9145} 9146 9147// String returns the string representation 9148func (s DeleteSnapshotOutput) String() string { 9149 return awsutil.Prettify(s) 9150} 9151 9152// GoString returns the string representation 9153func (s DeleteSnapshotOutput) GoString() string { 9154 return s.String() 9155} 9156 9157// SetSnapshot sets the Snapshot field's value. 9158func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { 9159 s.Snapshot = v 9160 return s 9161} 9162 9163// Represents the input of a DescribeCacheClusters operation. 9164type DescribeCacheClustersInput struct { 9165 _ struct{} `type:"structure"` 9166 9167 // The user-supplied cluster identifier. If this parameter is specified, only 9168 // information about that specific cluster is returned. This parameter isn't 9169 // case sensitive. 9170 CacheClusterId *string `type:"string"` 9171 9172 // An optional marker returned from a prior request. Use this marker for pagination 9173 // of results from this operation. If this parameter is specified, the response 9174 // includes only records beyond the marker, up to the value specified by MaxRecords. 9175 Marker *string `type:"string"` 9176 9177 // The maximum number of records to include in the response. If more records 9178 // exist than the specified MaxRecords value, a marker is included in the response 9179 // so that the remaining results can be retrieved. 9180 // 9181 // Default: 100 9182 // 9183 // Constraints: minimum 20; maximum 100. 9184 MaxRecords *int64 `type:"integer"` 9185 9186 // An optional flag that can be included in the DescribeCacheCluster request 9187 // to show only nodes (API/CLI: clusters) that are not members of a replication 9188 // group. In practice, this mean Memcached and single node Redis clusters. 9189 ShowCacheClustersNotInReplicationGroups *bool `type:"boolean"` 9190 9191 // An optional flag that can be included in the DescribeCacheCluster request 9192 // to retrieve information about the individual cache nodes. 9193 ShowCacheNodeInfo *bool `type:"boolean"` 9194} 9195 9196// String returns the string representation 9197func (s DescribeCacheClustersInput) String() string { 9198 return awsutil.Prettify(s) 9199} 9200 9201// GoString returns the string representation 9202func (s DescribeCacheClustersInput) GoString() string { 9203 return s.String() 9204} 9205 9206// SetCacheClusterId sets the CacheClusterId field's value. 9207func (s *DescribeCacheClustersInput) SetCacheClusterId(v string) *DescribeCacheClustersInput { 9208 s.CacheClusterId = &v 9209 return s 9210} 9211 9212// SetMarker sets the Marker field's value. 9213func (s *DescribeCacheClustersInput) SetMarker(v string) *DescribeCacheClustersInput { 9214 s.Marker = &v 9215 return s 9216} 9217 9218// SetMaxRecords sets the MaxRecords field's value. 9219func (s *DescribeCacheClustersInput) SetMaxRecords(v int64) *DescribeCacheClustersInput { 9220 s.MaxRecords = &v 9221 return s 9222} 9223 9224// SetShowCacheClustersNotInReplicationGroups sets the ShowCacheClustersNotInReplicationGroups field's value. 9225func (s *DescribeCacheClustersInput) SetShowCacheClustersNotInReplicationGroups(v bool) *DescribeCacheClustersInput { 9226 s.ShowCacheClustersNotInReplicationGroups = &v 9227 return s 9228} 9229 9230// SetShowCacheNodeInfo sets the ShowCacheNodeInfo field's value. 9231func (s *DescribeCacheClustersInput) SetShowCacheNodeInfo(v bool) *DescribeCacheClustersInput { 9232 s.ShowCacheNodeInfo = &v 9233 return s 9234} 9235 9236// Represents the output of a DescribeCacheClusters operation. 9237type DescribeCacheClustersOutput struct { 9238 _ struct{} `type:"structure"` 9239 9240 // A list of clusters. Each item in the list contains detailed information about 9241 // one cluster. 9242 CacheClusters []*CacheCluster `locationNameList:"CacheCluster" type:"list"` 9243 9244 // Provides an identifier to allow retrieval of paginated results. 9245 Marker *string `type:"string"` 9246} 9247 9248// String returns the string representation 9249func (s DescribeCacheClustersOutput) String() string { 9250 return awsutil.Prettify(s) 9251} 9252 9253// GoString returns the string representation 9254func (s DescribeCacheClustersOutput) GoString() string { 9255 return s.String() 9256} 9257 9258// SetCacheClusters sets the CacheClusters field's value. 9259func (s *DescribeCacheClustersOutput) SetCacheClusters(v []*CacheCluster) *DescribeCacheClustersOutput { 9260 s.CacheClusters = v 9261 return s 9262} 9263 9264// SetMarker sets the Marker field's value. 9265func (s *DescribeCacheClustersOutput) SetMarker(v string) *DescribeCacheClustersOutput { 9266 s.Marker = &v 9267 return s 9268} 9269 9270// Represents the input of a DescribeCacheEngineVersions operation. 9271type DescribeCacheEngineVersionsInput struct { 9272 _ struct{} `type:"structure"` 9273 9274 // The name of a specific cache parameter group family to return details for. 9275 // 9276 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 9277 // | redis4.0 | redis5.0 | 9278 // 9279 // Constraints: 9280 // 9281 // * Must be 1 to 255 alphanumeric characters 9282 // 9283 // * First character must be a letter 9284 // 9285 // * Cannot end with a hyphen or contain two consecutive hyphens 9286 CacheParameterGroupFamily *string `type:"string"` 9287 9288 // If true, specifies that only the default version of the specified engine 9289 // or engine and major version combination is to be returned. 9290 DefaultOnly *bool `type:"boolean"` 9291 9292 // The cache engine to return. Valid values: memcached | redis 9293 Engine *string `type:"string"` 9294 9295 // The cache engine version to return. 9296 // 9297 // Example: 1.4.14 9298 EngineVersion *string `type:"string"` 9299 9300 // An optional marker returned from a prior request. Use this marker for pagination 9301 // of results from this operation. If this parameter is specified, the response 9302 // includes only records beyond the marker, up to the value specified by MaxRecords. 9303 Marker *string `type:"string"` 9304 9305 // The maximum number of records to include in the response. If more records 9306 // exist than the specified MaxRecords value, a marker is included in the response 9307 // so that the remaining results can be retrieved. 9308 // 9309 // Default: 100 9310 // 9311 // Constraints: minimum 20; maximum 100. 9312 MaxRecords *int64 `type:"integer"` 9313} 9314 9315// String returns the string representation 9316func (s DescribeCacheEngineVersionsInput) String() string { 9317 return awsutil.Prettify(s) 9318} 9319 9320// GoString returns the string representation 9321func (s DescribeCacheEngineVersionsInput) GoString() string { 9322 return s.String() 9323} 9324 9325// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 9326func (s *DescribeCacheEngineVersionsInput) SetCacheParameterGroupFamily(v string) *DescribeCacheEngineVersionsInput { 9327 s.CacheParameterGroupFamily = &v 9328 return s 9329} 9330 9331// SetDefaultOnly sets the DefaultOnly field's value. 9332func (s *DescribeCacheEngineVersionsInput) SetDefaultOnly(v bool) *DescribeCacheEngineVersionsInput { 9333 s.DefaultOnly = &v 9334 return s 9335} 9336 9337// SetEngine sets the Engine field's value. 9338func (s *DescribeCacheEngineVersionsInput) SetEngine(v string) *DescribeCacheEngineVersionsInput { 9339 s.Engine = &v 9340 return s 9341} 9342 9343// SetEngineVersion sets the EngineVersion field's value. 9344func (s *DescribeCacheEngineVersionsInput) SetEngineVersion(v string) *DescribeCacheEngineVersionsInput { 9345 s.EngineVersion = &v 9346 return s 9347} 9348 9349// SetMarker sets the Marker field's value. 9350func (s *DescribeCacheEngineVersionsInput) SetMarker(v string) *DescribeCacheEngineVersionsInput { 9351 s.Marker = &v 9352 return s 9353} 9354 9355// SetMaxRecords sets the MaxRecords field's value. 9356func (s *DescribeCacheEngineVersionsInput) SetMaxRecords(v int64) *DescribeCacheEngineVersionsInput { 9357 s.MaxRecords = &v 9358 return s 9359} 9360 9361// Represents the output of a DescribeCacheEngineVersions operation. 9362type DescribeCacheEngineVersionsOutput struct { 9363 _ struct{} `type:"structure"` 9364 9365 // A list of cache engine version details. Each element in the list contains 9366 // detailed information about one cache engine version. 9367 CacheEngineVersions []*CacheEngineVersion `locationNameList:"CacheEngineVersion" type:"list"` 9368 9369 // Provides an identifier to allow retrieval of paginated results. 9370 Marker *string `type:"string"` 9371} 9372 9373// String returns the string representation 9374func (s DescribeCacheEngineVersionsOutput) String() string { 9375 return awsutil.Prettify(s) 9376} 9377 9378// GoString returns the string representation 9379func (s DescribeCacheEngineVersionsOutput) GoString() string { 9380 return s.String() 9381} 9382 9383// SetCacheEngineVersions sets the CacheEngineVersions field's value. 9384func (s *DescribeCacheEngineVersionsOutput) SetCacheEngineVersions(v []*CacheEngineVersion) *DescribeCacheEngineVersionsOutput { 9385 s.CacheEngineVersions = v 9386 return s 9387} 9388 9389// SetMarker sets the Marker field's value. 9390func (s *DescribeCacheEngineVersionsOutput) SetMarker(v string) *DescribeCacheEngineVersionsOutput { 9391 s.Marker = &v 9392 return s 9393} 9394 9395// Represents the input of a DescribeCacheParameterGroups operation. 9396type DescribeCacheParameterGroupsInput struct { 9397 _ struct{} `type:"structure"` 9398 9399 // The name of a specific cache parameter group to return details for. 9400 CacheParameterGroupName *string `type:"string"` 9401 9402 // An optional marker returned from a prior request. Use this marker for pagination 9403 // of results from this operation. If this parameter is specified, the response 9404 // includes only records beyond the marker, up to the value specified by MaxRecords. 9405 Marker *string `type:"string"` 9406 9407 // The maximum number of records to include in the response. If more records 9408 // exist than the specified MaxRecords value, a marker is included in the response 9409 // so that the remaining results can be retrieved. 9410 // 9411 // Default: 100 9412 // 9413 // Constraints: minimum 20; maximum 100. 9414 MaxRecords *int64 `type:"integer"` 9415} 9416 9417// String returns the string representation 9418func (s DescribeCacheParameterGroupsInput) String() string { 9419 return awsutil.Prettify(s) 9420} 9421 9422// GoString returns the string representation 9423func (s DescribeCacheParameterGroupsInput) GoString() string { 9424 return s.String() 9425} 9426 9427// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9428func (s *DescribeCacheParameterGroupsInput) SetCacheParameterGroupName(v string) *DescribeCacheParameterGroupsInput { 9429 s.CacheParameterGroupName = &v 9430 return s 9431} 9432 9433// SetMarker sets the Marker field's value. 9434func (s *DescribeCacheParameterGroupsInput) SetMarker(v string) *DescribeCacheParameterGroupsInput { 9435 s.Marker = &v 9436 return s 9437} 9438 9439// SetMaxRecords sets the MaxRecords field's value. 9440func (s *DescribeCacheParameterGroupsInput) SetMaxRecords(v int64) *DescribeCacheParameterGroupsInput { 9441 s.MaxRecords = &v 9442 return s 9443} 9444 9445// Represents the output of a DescribeCacheParameterGroups operation. 9446type DescribeCacheParameterGroupsOutput struct { 9447 _ struct{} `type:"structure"` 9448 9449 // A list of cache parameter groups. Each element in the list contains detailed 9450 // information about one cache parameter group. 9451 CacheParameterGroups []*CacheParameterGroup `locationNameList:"CacheParameterGroup" type:"list"` 9452 9453 // Provides an identifier to allow retrieval of paginated results. 9454 Marker *string `type:"string"` 9455} 9456 9457// String returns the string representation 9458func (s DescribeCacheParameterGroupsOutput) String() string { 9459 return awsutil.Prettify(s) 9460} 9461 9462// GoString returns the string representation 9463func (s DescribeCacheParameterGroupsOutput) GoString() string { 9464 return s.String() 9465} 9466 9467// SetCacheParameterGroups sets the CacheParameterGroups field's value. 9468func (s *DescribeCacheParameterGroupsOutput) SetCacheParameterGroups(v []*CacheParameterGroup) *DescribeCacheParameterGroupsOutput { 9469 s.CacheParameterGroups = v 9470 return s 9471} 9472 9473// SetMarker sets the Marker field's value. 9474func (s *DescribeCacheParameterGroupsOutput) SetMarker(v string) *DescribeCacheParameterGroupsOutput { 9475 s.Marker = &v 9476 return s 9477} 9478 9479// Represents the input of a DescribeCacheParameters operation. 9480type DescribeCacheParametersInput struct { 9481 _ struct{} `type:"structure"` 9482 9483 // The name of a specific cache parameter group to return details for. 9484 // 9485 // CacheParameterGroupName is a required field 9486 CacheParameterGroupName *string `type:"string" required:"true"` 9487 9488 // An optional marker returned from a prior request. Use this marker for pagination 9489 // of results from this operation. If this parameter is specified, the response 9490 // includes only records beyond the marker, up to the value specified by MaxRecords. 9491 Marker *string `type:"string"` 9492 9493 // The maximum number of records to include in the response. If more records 9494 // exist than the specified MaxRecords value, a marker is included in the response 9495 // so that the remaining results can be retrieved. 9496 // 9497 // Default: 100 9498 // 9499 // Constraints: minimum 20; maximum 100. 9500 MaxRecords *int64 `type:"integer"` 9501 9502 // The parameter types to return. 9503 // 9504 // Valid values: user | system | engine-default 9505 Source *string `type:"string"` 9506} 9507 9508// String returns the string representation 9509func (s DescribeCacheParametersInput) String() string { 9510 return awsutil.Prettify(s) 9511} 9512 9513// GoString returns the string representation 9514func (s DescribeCacheParametersInput) GoString() string { 9515 return s.String() 9516} 9517 9518// Validate inspects the fields of the type to determine if they are valid. 9519func (s *DescribeCacheParametersInput) Validate() error { 9520 invalidParams := request.ErrInvalidParams{Context: "DescribeCacheParametersInput"} 9521 if s.CacheParameterGroupName == nil { 9522 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 9523 } 9524 9525 if invalidParams.Len() > 0 { 9526 return invalidParams 9527 } 9528 return nil 9529} 9530 9531// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 9532func (s *DescribeCacheParametersInput) SetCacheParameterGroupName(v string) *DescribeCacheParametersInput { 9533 s.CacheParameterGroupName = &v 9534 return s 9535} 9536 9537// SetMarker sets the Marker field's value. 9538func (s *DescribeCacheParametersInput) SetMarker(v string) *DescribeCacheParametersInput { 9539 s.Marker = &v 9540 return s 9541} 9542 9543// SetMaxRecords sets the MaxRecords field's value. 9544func (s *DescribeCacheParametersInput) SetMaxRecords(v int64) *DescribeCacheParametersInput { 9545 s.MaxRecords = &v 9546 return s 9547} 9548 9549// SetSource sets the Source field's value. 9550func (s *DescribeCacheParametersInput) SetSource(v string) *DescribeCacheParametersInput { 9551 s.Source = &v 9552 return s 9553} 9554 9555// Represents the output of a DescribeCacheParameters operation. 9556type DescribeCacheParametersOutput struct { 9557 _ struct{} `type:"structure"` 9558 9559 // A list of parameters specific to a particular cache node type. Each element 9560 // in the list contains detailed information about one parameter. 9561 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 9562 9563 // Provides an identifier to allow retrieval of paginated results. 9564 Marker *string `type:"string"` 9565 9566 // A list of Parameter instances. 9567 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 9568} 9569 9570// String returns the string representation 9571func (s DescribeCacheParametersOutput) String() string { 9572 return awsutil.Prettify(s) 9573} 9574 9575// GoString returns the string representation 9576func (s DescribeCacheParametersOutput) GoString() string { 9577 return s.String() 9578} 9579 9580// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 9581func (s *DescribeCacheParametersOutput) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *DescribeCacheParametersOutput { 9582 s.CacheNodeTypeSpecificParameters = v 9583 return s 9584} 9585 9586// SetMarker sets the Marker field's value. 9587func (s *DescribeCacheParametersOutput) SetMarker(v string) *DescribeCacheParametersOutput { 9588 s.Marker = &v 9589 return s 9590} 9591 9592// SetParameters sets the Parameters field's value. 9593func (s *DescribeCacheParametersOutput) SetParameters(v []*Parameter) *DescribeCacheParametersOutput { 9594 s.Parameters = v 9595 return s 9596} 9597 9598// Represents the input of a DescribeCacheSecurityGroups operation. 9599type DescribeCacheSecurityGroupsInput struct { 9600 _ struct{} `type:"structure"` 9601 9602 // The name of the cache security group to return details for. 9603 CacheSecurityGroupName *string `type:"string"` 9604 9605 // An optional marker returned from a prior request. Use this marker for pagination 9606 // of results from this operation. If this parameter is specified, the response 9607 // includes only records beyond the marker, up to the value specified by MaxRecords. 9608 Marker *string `type:"string"` 9609 9610 // The maximum number of records to include in the response. If more records 9611 // exist than the specified MaxRecords value, a marker is included in the response 9612 // so that the remaining results can be retrieved. 9613 // 9614 // Default: 100 9615 // 9616 // Constraints: minimum 20; maximum 100. 9617 MaxRecords *int64 `type:"integer"` 9618} 9619 9620// String returns the string representation 9621func (s DescribeCacheSecurityGroupsInput) String() string { 9622 return awsutil.Prettify(s) 9623} 9624 9625// GoString returns the string representation 9626func (s DescribeCacheSecurityGroupsInput) GoString() string { 9627 return s.String() 9628} 9629 9630// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 9631func (s *DescribeCacheSecurityGroupsInput) SetCacheSecurityGroupName(v string) *DescribeCacheSecurityGroupsInput { 9632 s.CacheSecurityGroupName = &v 9633 return s 9634} 9635 9636// SetMarker sets the Marker field's value. 9637func (s *DescribeCacheSecurityGroupsInput) SetMarker(v string) *DescribeCacheSecurityGroupsInput { 9638 s.Marker = &v 9639 return s 9640} 9641 9642// SetMaxRecords sets the MaxRecords field's value. 9643func (s *DescribeCacheSecurityGroupsInput) SetMaxRecords(v int64) *DescribeCacheSecurityGroupsInput { 9644 s.MaxRecords = &v 9645 return s 9646} 9647 9648// Represents the output of a DescribeCacheSecurityGroups operation. 9649type DescribeCacheSecurityGroupsOutput struct { 9650 _ struct{} `type:"structure"` 9651 9652 // A list of cache security groups. Each element in the list contains detailed 9653 // information about one group. 9654 CacheSecurityGroups []*CacheSecurityGroup `locationNameList:"CacheSecurityGroup" type:"list"` 9655 9656 // Provides an identifier to allow retrieval of paginated results. 9657 Marker *string `type:"string"` 9658} 9659 9660// String returns the string representation 9661func (s DescribeCacheSecurityGroupsOutput) String() string { 9662 return awsutil.Prettify(s) 9663} 9664 9665// GoString returns the string representation 9666func (s DescribeCacheSecurityGroupsOutput) GoString() string { 9667 return s.String() 9668} 9669 9670// SetCacheSecurityGroups sets the CacheSecurityGroups field's value. 9671func (s *DescribeCacheSecurityGroupsOutput) SetCacheSecurityGroups(v []*CacheSecurityGroup) *DescribeCacheSecurityGroupsOutput { 9672 s.CacheSecurityGroups = v 9673 return s 9674} 9675 9676// SetMarker sets the Marker field's value. 9677func (s *DescribeCacheSecurityGroupsOutput) SetMarker(v string) *DescribeCacheSecurityGroupsOutput { 9678 s.Marker = &v 9679 return s 9680} 9681 9682// Represents the input of a DescribeCacheSubnetGroups operation. 9683type DescribeCacheSubnetGroupsInput struct { 9684 _ struct{} `type:"structure"` 9685 9686 // The name of the cache subnet group to return details for. 9687 CacheSubnetGroupName *string `type:"string"` 9688 9689 // An optional marker returned from a prior request. Use this marker for pagination 9690 // of results from this operation. If this parameter is specified, the response 9691 // includes only records beyond the marker, up to the value specified by MaxRecords. 9692 Marker *string `type:"string"` 9693 9694 // The maximum number of records to include in the response. If more records 9695 // exist than the specified MaxRecords value, a marker is included in the response 9696 // so that the remaining results can be retrieved. 9697 // 9698 // Default: 100 9699 // 9700 // Constraints: minimum 20; maximum 100. 9701 MaxRecords *int64 `type:"integer"` 9702} 9703 9704// String returns the string representation 9705func (s DescribeCacheSubnetGroupsInput) String() string { 9706 return awsutil.Prettify(s) 9707} 9708 9709// GoString returns the string representation 9710func (s DescribeCacheSubnetGroupsInput) GoString() string { 9711 return s.String() 9712} 9713 9714// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 9715func (s *DescribeCacheSubnetGroupsInput) SetCacheSubnetGroupName(v string) *DescribeCacheSubnetGroupsInput { 9716 s.CacheSubnetGroupName = &v 9717 return s 9718} 9719 9720// SetMarker sets the Marker field's value. 9721func (s *DescribeCacheSubnetGroupsInput) SetMarker(v string) *DescribeCacheSubnetGroupsInput { 9722 s.Marker = &v 9723 return s 9724} 9725 9726// SetMaxRecords sets the MaxRecords field's value. 9727func (s *DescribeCacheSubnetGroupsInput) SetMaxRecords(v int64) *DescribeCacheSubnetGroupsInput { 9728 s.MaxRecords = &v 9729 return s 9730} 9731 9732// Represents the output of a DescribeCacheSubnetGroups operation. 9733type DescribeCacheSubnetGroupsOutput struct { 9734 _ struct{} `type:"structure"` 9735 9736 // A list of cache subnet groups. Each element in the list contains detailed 9737 // information about one group. 9738 CacheSubnetGroups []*CacheSubnetGroup `locationNameList:"CacheSubnetGroup" type:"list"` 9739 9740 // Provides an identifier to allow retrieval of paginated results. 9741 Marker *string `type:"string"` 9742} 9743 9744// String returns the string representation 9745func (s DescribeCacheSubnetGroupsOutput) String() string { 9746 return awsutil.Prettify(s) 9747} 9748 9749// GoString returns the string representation 9750func (s DescribeCacheSubnetGroupsOutput) GoString() string { 9751 return s.String() 9752} 9753 9754// SetCacheSubnetGroups sets the CacheSubnetGroups field's value. 9755func (s *DescribeCacheSubnetGroupsOutput) SetCacheSubnetGroups(v []*CacheSubnetGroup) *DescribeCacheSubnetGroupsOutput { 9756 s.CacheSubnetGroups = v 9757 return s 9758} 9759 9760// SetMarker sets the Marker field's value. 9761func (s *DescribeCacheSubnetGroupsOutput) SetMarker(v string) *DescribeCacheSubnetGroupsOutput { 9762 s.Marker = &v 9763 return s 9764} 9765 9766// Represents the input of a DescribeEngineDefaultParameters operation. 9767type DescribeEngineDefaultParametersInput struct { 9768 _ struct{} `type:"structure"` 9769 9770 // The name of the cache parameter group family. 9771 // 9772 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 9773 // | redis4.0 | redis5.0 | 9774 // 9775 // CacheParameterGroupFamily is a required field 9776 CacheParameterGroupFamily *string `type:"string" required:"true"` 9777 9778 // An optional marker returned from a prior request. Use this marker for pagination 9779 // of results from this operation. If this parameter is specified, the response 9780 // includes only records beyond the marker, up to the value specified by MaxRecords. 9781 Marker *string `type:"string"` 9782 9783 // The maximum number of records to include in the response. If more records 9784 // exist than the specified MaxRecords value, a marker is included in the response 9785 // so that the remaining results can be retrieved. 9786 // 9787 // Default: 100 9788 // 9789 // Constraints: minimum 20; maximum 100. 9790 MaxRecords *int64 `type:"integer"` 9791} 9792 9793// String returns the string representation 9794func (s DescribeEngineDefaultParametersInput) String() string { 9795 return awsutil.Prettify(s) 9796} 9797 9798// GoString returns the string representation 9799func (s DescribeEngineDefaultParametersInput) GoString() string { 9800 return s.String() 9801} 9802 9803// Validate inspects the fields of the type to determine if they are valid. 9804func (s *DescribeEngineDefaultParametersInput) Validate() error { 9805 invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"} 9806 if s.CacheParameterGroupFamily == nil { 9807 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupFamily")) 9808 } 9809 9810 if invalidParams.Len() > 0 { 9811 return invalidParams 9812 } 9813 return nil 9814} 9815 9816// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 9817func (s *DescribeEngineDefaultParametersInput) SetCacheParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput { 9818 s.CacheParameterGroupFamily = &v 9819 return s 9820} 9821 9822// SetMarker sets the Marker field's value. 9823func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput { 9824 s.Marker = &v 9825 return s 9826} 9827 9828// SetMaxRecords sets the MaxRecords field's value. 9829func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput { 9830 s.MaxRecords = &v 9831 return s 9832} 9833 9834type DescribeEngineDefaultParametersOutput struct { 9835 _ struct{} `type:"structure"` 9836 9837 // Represents the output of a DescribeEngineDefaultParameters operation. 9838 EngineDefaults *EngineDefaults `type:"structure"` 9839} 9840 9841// String returns the string representation 9842func (s DescribeEngineDefaultParametersOutput) String() string { 9843 return awsutil.Prettify(s) 9844} 9845 9846// GoString returns the string representation 9847func (s DescribeEngineDefaultParametersOutput) GoString() string { 9848 return s.String() 9849} 9850 9851// SetEngineDefaults sets the EngineDefaults field's value. 9852func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput { 9853 s.EngineDefaults = v 9854 return s 9855} 9856 9857// Represents the input of a DescribeEvents operation. 9858type DescribeEventsInput struct { 9859 _ struct{} `type:"structure"` 9860 9861 // The number of minutes worth of events to retrieve. 9862 Duration *int64 `type:"integer"` 9863 9864 // The end of the time interval for which to retrieve events, specified in ISO 9865 // 8601 format. 9866 // 9867 // Example: 2017-03-30T07:03:49.555Z 9868 EndTime *time.Time `type:"timestamp"` 9869 9870 // An optional marker returned from a prior request. Use this marker for pagination 9871 // of results from this operation. If this parameter is specified, the response 9872 // includes only records beyond the marker, up to the value specified by MaxRecords. 9873 Marker *string `type:"string"` 9874 9875 // The maximum number of records to include in the response. If more records 9876 // exist than the specified MaxRecords value, a marker is included in the response 9877 // so that the remaining results can be retrieved. 9878 // 9879 // Default: 100 9880 // 9881 // Constraints: minimum 20; maximum 100. 9882 MaxRecords *int64 `type:"integer"` 9883 9884 // The identifier of the event source for which events are returned. If not 9885 // specified, all sources are included in the response. 9886 SourceIdentifier *string `type:"string"` 9887 9888 // The event source to retrieve events for. If no value is specified, all events 9889 // are returned. 9890 SourceType *string `type:"string" enum:"SourceType"` 9891 9892 // The beginning of the time interval to retrieve events for, specified in ISO 9893 // 8601 format. 9894 // 9895 // Example: 2017-03-30T07:03:49.555Z 9896 StartTime *time.Time `type:"timestamp"` 9897} 9898 9899// String returns the string representation 9900func (s DescribeEventsInput) String() string { 9901 return awsutil.Prettify(s) 9902} 9903 9904// GoString returns the string representation 9905func (s DescribeEventsInput) GoString() string { 9906 return s.String() 9907} 9908 9909// SetDuration sets the Duration field's value. 9910func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { 9911 s.Duration = &v 9912 return s 9913} 9914 9915// SetEndTime sets the EndTime field's value. 9916func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { 9917 s.EndTime = &v 9918 return s 9919} 9920 9921// SetMarker sets the Marker field's value. 9922func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput { 9923 s.Marker = &v 9924 return s 9925} 9926 9927// SetMaxRecords sets the MaxRecords field's value. 9928func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput { 9929 s.MaxRecords = &v 9930 return s 9931} 9932 9933// SetSourceIdentifier sets the SourceIdentifier field's value. 9934func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput { 9935 s.SourceIdentifier = &v 9936 return s 9937} 9938 9939// SetSourceType sets the SourceType field's value. 9940func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { 9941 s.SourceType = &v 9942 return s 9943} 9944 9945// SetStartTime sets the StartTime field's value. 9946func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { 9947 s.StartTime = &v 9948 return s 9949} 9950 9951// Represents the output of a DescribeEvents operation. 9952type DescribeEventsOutput struct { 9953 _ struct{} `type:"structure"` 9954 9955 // A list of events. Each element in the list contains detailed information 9956 // about one event. 9957 Events []*Event `locationNameList:"Event" type:"list"` 9958 9959 // Provides an identifier to allow retrieval of paginated results. 9960 Marker *string `type:"string"` 9961} 9962 9963// String returns the string representation 9964func (s DescribeEventsOutput) String() string { 9965 return awsutil.Prettify(s) 9966} 9967 9968// GoString returns the string representation 9969func (s DescribeEventsOutput) GoString() string { 9970 return s.String() 9971} 9972 9973// SetEvents sets the Events field's value. 9974func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { 9975 s.Events = v 9976 return s 9977} 9978 9979// SetMarker sets the Marker field's value. 9980func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput { 9981 s.Marker = &v 9982 return s 9983} 9984 9985// Represents the input of a DescribeReplicationGroups operation. 9986type DescribeReplicationGroupsInput struct { 9987 _ struct{} `type:"structure"` 9988 9989 // An optional marker returned from a prior request. Use this marker for pagination 9990 // of results from this operation. If this parameter is specified, the response 9991 // includes only records beyond the marker, up to the value specified by MaxRecords. 9992 Marker *string `type:"string"` 9993 9994 // The maximum number of records to include in the response. If more records 9995 // exist than the specified MaxRecords value, a marker is included in the response 9996 // so that the remaining results can be retrieved. 9997 // 9998 // Default: 100 9999 // 10000 // Constraints: minimum 20; maximum 100. 10001 MaxRecords *int64 `type:"integer"` 10002 10003 // The identifier for the replication group to be described. This parameter 10004 // is not case sensitive. 10005 // 10006 // If you do not specify this parameter, information about all replication groups 10007 // is returned. 10008 ReplicationGroupId *string `type:"string"` 10009} 10010 10011// String returns the string representation 10012func (s DescribeReplicationGroupsInput) String() string { 10013 return awsutil.Prettify(s) 10014} 10015 10016// GoString returns the string representation 10017func (s DescribeReplicationGroupsInput) GoString() string { 10018 return s.String() 10019} 10020 10021// SetMarker sets the Marker field's value. 10022func (s *DescribeReplicationGroupsInput) SetMarker(v string) *DescribeReplicationGroupsInput { 10023 s.Marker = &v 10024 return s 10025} 10026 10027// SetMaxRecords sets the MaxRecords field's value. 10028func (s *DescribeReplicationGroupsInput) SetMaxRecords(v int64) *DescribeReplicationGroupsInput { 10029 s.MaxRecords = &v 10030 return s 10031} 10032 10033// SetReplicationGroupId sets the ReplicationGroupId field's value. 10034func (s *DescribeReplicationGroupsInput) SetReplicationGroupId(v string) *DescribeReplicationGroupsInput { 10035 s.ReplicationGroupId = &v 10036 return s 10037} 10038 10039// Represents the output of a DescribeReplicationGroups operation. 10040type DescribeReplicationGroupsOutput struct { 10041 _ struct{} `type:"structure"` 10042 10043 // Provides an identifier to allow retrieval of paginated results. 10044 Marker *string `type:"string"` 10045 10046 // A list of replication groups. Each item in the list contains detailed information 10047 // about one replication group. 10048 ReplicationGroups []*ReplicationGroup `locationNameList:"ReplicationGroup" type:"list"` 10049} 10050 10051// String returns the string representation 10052func (s DescribeReplicationGroupsOutput) String() string { 10053 return awsutil.Prettify(s) 10054} 10055 10056// GoString returns the string representation 10057func (s DescribeReplicationGroupsOutput) GoString() string { 10058 return s.String() 10059} 10060 10061// SetMarker sets the Marker field's value. 10062func (s *DescribeReplicationGroupsOutput) SetMarker(v string) *DescribeReplicationGroupsOutput { 10063 s.Marker = &v 10064 return s 10065} 10066 10067// SetReplicationGroups sets the ReplicationGroups field's value. 10068func (s *DescribeReplicationGroupsOutput) SetReplicationGroups(v []*ReplicationGroup) *DescribeReplicationGroupsOutput { 10069 s.ReplicationGroups = v 10070 return s 10071} 10072 10073// Represents the input of a DescribeReservedCacheNodes operation. 10074type DescribeReservedCacheNodesInput struct { 10075 _ struct{} `type:"structure"` 10076 10077 // The cache node type filter value. Use this parameter to show only those reservations 10078 // matching the specified cache node type. 10079 // 10080 // The following node types are supported by ElastiCache. Generally speaking, 10081 // the current generation types provide more memory and computational power 10082 // at lower cost when compared to their equivalent previous generation counterparts. 10083 // 10084 // * General purpose: Current generation: M5 node types: cache.m5.large, 10085 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 10086 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 10087 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 10088 // cache.t2.medium Previous generation: (not recommended) T1 node types: 10089 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 10090 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 10091 // cache.m3.2xlarge 10092 // 10093 // * Compute optimized: Previous generation: (not recommended) C1 node types: 10094 // cache.c1.xlarge 10095 // 10096 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 10097 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 10098 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 10099 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 10100 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 10101 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 10102 // cache.r3.8xlarge 10103 // 10104 // Additional node type info 10105 // 10106 // * All current generation instance types are created in Amazon VPC by default. 10107 // 10108 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 10109 // 10110 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 10111 // 10112 // * Redis configuration variables appendonly and appendfsync are not supported 10113 // on Redis version 2.8.22 and later. 10114 CacheNodeType *string `type:"string"` 10115 10116 // The duration filter value, specified in years or seconds. Use this parameter 10117 // to show only reservations for this duration. 10118 // 10119 // Valid Values: 1 | 3 | 31536000 | 94608000 10120 Duration *string `type:"string"` 10121 10122 // An optional marker returned from a prior request. Use this marker for pagination 10123 // of results from this operation. If this parameter is specified, the response 10124 // includes only records beyond the marker, up to the value specified by MaxRecords. 10125 Marker *string `type:"string"` 10126 10127 // The maximum number of records to include in the response. If more records 10128 // exist than the specified MaxRecords value, a marker is included in the response 10129 // so that the remaining results can be retrieved. 10130 // 10131 // Default: 100 10132 // 10133 // Constraints: minimum 20; maximum 100. 10134 MaxRecords *int64 `type:"integer"` 10135 10136 // The offering type filter value. Use this parameter to show only the available 10137 // offerings matching the specified offering type. 10138 // 10139 // Valid values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 10140 OfferingType *string `type:"string"` 10141 10142 // The product description filter value. Use this parameter to show only those 10143 // reservations matching the specified product description. 10144 ProductDescription *string `type:"string"` 10145 10146 // The reserved cache node identifier filter value. Use this parameter to show 10147 // only the reservation that matches the specified reservation ID. 10148 ReservedCacheNodeId *string `type:"string"` 10149 10150 // The offering identifier filter value. Use this parameter to show only purchased 10151 // reservations matching the specified offering identifier. 10152 ReservedCacheNodesOfferingId *string `type:"string"` 10153} 10154 10155// String returns the string representation 10156func (s DescribeReservedCacheNodesInput) String() string { 10157 return awsutil.Prettify(s) 10158} 10159 10160// GoString returns the string representation 10161func (s DescribeReservedCacheNodesInput) GoString() string { 10162 return s.String() 10163} 10164 10165// SetCacheNodeType sets the CacheNodeType field's value. 10166func (s *DescribeReservedCacheNodesInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesInput { 10167 s.CacheNodeType = &v 10168 return s 10169} 10170 10171// SetDuration sets the Duration field's value. 10172func (s *DescribeReservedCacheNodesInput) SetDuration(v string) *DescribeReservedCacheNodesInput { 10173 s.Duration = &v 10174 return s 10175} 10176 10177// SetMarker sets the Marker field's value. 10178func (s *DescribeReservedCacheNodesInput) SetMarker(v string) *DescribeReservedCacheNodesInput { 10179 s.Marker = &v 10180 return s 10181} 10182 10183// SetMaxRecords sets the MaxRecords field's value. 10184func (s *DescribeReservedCacheNodesInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesInput { 10185 s.MaxRecords = &v 10186 return s 10187} 10188 10189// SetOfferingType sets the OfferingType field's value. 10190func (s *DescribeReservedCacheNodesInput) SetOfferingType(v string) *DescribeReservedCacheNodesInput { 10191 s.OfferingType = &v 10192 return s 10193} 10194 10195// SetProductDescription sets the ProductDescription field's value. 10196func (s *DescribeReservedCacheNodesInput) SetProductDescription(v string) *DescribeReservedCacheNodesInput { 10197 s.ProductDescription = &v 10198 return s 10199} 10200 10201// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 10202func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodeId(v string) *DescribeReservedCacheNodesInput { 10203 s.ReservedCacheNodeId = &v 10204 return s 10205} 10206 10207// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 10208func (s *DescribeReservedCacheNodesInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesInput { 10209 s.ReservedCacheNodesOfferingId = &v 10210 return s 10211} 10212 10213// Represents the input of a DescribeReservedCacheNodesOfferings operation. 10214type DescribeReservedCacheNodesOfferingsInput struct { 10215 _ struct{} `type:"structure"` 10216 10217 // The cache node type filter value. Use this parameter to show only the available 10218 // offerings matching the specified cache node type. 10219 // 10220 // The following node types are supported by ElastiCache. Generally speaking, 10221 // the current generation types provide more memory and computational power 10222 // at lower cost when compared to their equivalent previous generation counterparts. 10223 // 10224 // * General purpose: Current generation: M5 node types: cache.m5.large, 10225 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 10226 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 10227 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 10228 // cache.t2.medium Previous generation: (not recommended) T1 node types: 10229 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 10230 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 10231 // cache.m3.2xlarge 10232 // 10233 // * Compute optimized: Previous generation: (not recommended) C1 node types: 10234 // cache.c1.xlarge 10235 // 10236 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 10237 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 10238 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 10239 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 10240 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 10241 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 10242 // cache.r3.8xlarge 10243 // 10244 // Additional node type info 10245 // 10246 // * All current generation instance types are created in Amazon VPC by default. 10247 // 10248 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 10249 // 10250 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 10251 // 10252 // * Redis configuration variables appendonly and appendfsync are not supported 10253 // on Redis version 2.8.22 and later. 10254 CacheNodeType *string `type:"string"` 10255 10256 // Duration filter value, specified in years or seconds. Use this parameter 10257 // to show only reservations for a given duration. 10258 // 10259 // Valid Values: 1 | 3 | 31536000 | 94608000 10260 Duration *string `type:"string"` 10261 10262 // An optional marker returned from a prior request. Use this marker for pagination 10263 // of results from this operation. If this parameter is specified, the response 10264 // includes only records beyond the marker, up to the value specified by MaxRecords. 10265 Marker *string `type:"string"` 10266 10267 // The maximum number of records to include in the response. If more records 10268 // exist than the specified MaxRecords value, a marker is included in the response 10269 // so that the remaining results can be retrieved. 10270 // 10271 // Default: 100 10272 // 10273 // Constraints: minimum 20; maximum 100. 10274 MaxRecords *int64 `type:"integer"` 10275 10276 // The offering type filter value. Use this parameter to show only the available 10277 // offerings matching the specified offering type. 10278 // 10279 // Valid Values: "Light Utilization"|"Medium Utilization"|"Heavy Utilization" 10280 OfferingType *string `type:"string"` 10281 10282 // The product description filter value. Use this parameter to show only the 10283 // available offerings matching the specified product description. 10284 ProductDescription *string `type:"string"` 10285 10286 // The offering identifier filter value. Use this parameter to show only the 10287 // available offering that matches the specified reservation identifier. 10288 // 10289 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 10290 ReservedCacheNodesOfferingId *string `type:"string"` 10291} 10292 10293// String returns the string representation 10294func (s DescribeReservedCacheNodesOfferingsInput) String() string { 10295 return awsutil.Prettify(s) 10296} 10297 10298// GoString returns the string representation 10299func (s DescribeReservedCacheNodesOfferingsInput) GoString() string { 10300 return s.String() 10301} 10302 10303// SetCacheNodeType sets the CacheNodeType field's value. 10304func (s *DescribeReservedCacheNodesOfferingsInput) SetCacheNodeType(v string) *DescribeReservedCacheNodesOfferingsInput { 10305 s.CacheNodeType = &v 10306 return s 10307} 10308 10309// SetDuration sets the Duration field's value. 10310func (s *DescribeReservedCacheNodesOfferingsInput) SetDuration(v string) *DescribeReservedCacheNodesOfferingsInput { 10311 s.Duration = &v 10312 return s 10313} 10314 10315// SetMarker sets the Marker field's value. 10316func (s *DescribeReservedCacheNodesOfferingsInput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsInput { 10317 s.Marker = &v 10318 return s 10319} 10320 10321// SetMaxRecords sets the MaxRecords field's value. 10322func (s *DescribeReservedCacheNodesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedCacheNodesOfferingsInput { 10323 s.MaxRecords = &v 10324 return s 10325} 10326 10327// SetOfferingType sets the OfferingType field's value. 10328func (s *DescribeReservedCacheNodesOfferingsInput) SetOfferingType(v string) *DescribeReservedCacheNodesOfferingsInput { 10329 s.OfferingType = &v 10330 return s 10331} 10332 10333// SetProductDescription sets the ProductDescription field's value. 10334func (s *DescribeReservedCacheNodesOfferingsInput) SetProductDescription(v string) *DescribeReservedCacheNodesOfferingsInput { 10335 s.ProductDescription = &v 10336 return s 10337} 10338 10339// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 10340func (s *DescribeReservedCacheNodesOfferingsInput) SetReservedCacheNodesOfferingId(v string) *DescribeReservedCacheNodesOfferingsInput { 10341 s.ReservedCacheNodesOfferingId = &v 10342 return s 10343} 10344 10345// Represents the output of a DescribeReservedCacheNodesOfferings operation. 10346type DescribeReservedCacheNodesOfferingsOutput struct { 10347 _ struct{} `type:"structure"` 10348 10349 // Provides an identifier to allow retrieval of paginated results. 10350 Marker *string `type:"string"` 10351 10352 // A list of reserved cache node offerings. Each element in the list contains 10353 // detailed information about one offering. 10354 ReservedCacheNodesOfferings []*ReservedCacheNodesOffering `locationNameList:"ReservedCacheNodesOffering" type:"list"` 10355} 10356 10357// String returns the string representation 10358func (s DescribeReservedCacheNodesOfferingsOutput) String() string { 10359 return awsutil.Prettify(s) 10360} 10361 10362// GoString returns the string representation 10363func (s DescribeReservedCacheNodesOfferingsOutput) GoString() string { 10364 return s.String() 10365} 10366 10367// SetMarker sets the Marker field's value. 10368func (s *DescribeReservedCacheNodesOfferingsOutput) SetMarker(v string) *DescribeReservedCacheNodesOfferingsOutput { 10369 s.Marker = &v 10370 return s 10371} 10372 10373// SetReservedCacheNodesOfferings sets the ReservedCacheNodesOfferings field's value. 10374func (s *DescribeReservedCacheNodesOfferingsOutput) SetReservedCacheNodesOfferings(v []*ReservedCacheNodesOffering) *DescribeReservedCacheNodesOfferingsOutput { 10375 s.ReservedCacheNodesOfferings = v 10376 return s 10377} 10378 10379// Represents the output of a DescribeReservedCacheNodes operation. 10380type DescribeReservedCacheNodesOutput struct { 10381 _ struct{} `type:"structure"` 10382 10383 // Provides an identifier to allow retrieval of paginated results. 10384 Marker *string `type:"string"` 10385 10386 // A list of reserved cache nodes. Each element in the list contains detailed 10387 // information about one node. 10388 ReservedCacheNodes []*ReservedCacheNode `locationNameList:"ReservedCacheNode" type:"list"` 10389} 10390 10391// String returns the string representation 10392func (s DescribeReservedCacheNodesOutput) String() string { 10393 return awsutil.Prettify(s) 10394} 10395 10396// GoString returns the string representation 10397func (s DescribeReservedCacheNodesOutput) GoString() string { 10398 return s.String() 10399} 10400 10401// SetMarker sets the Marker field's value. 10402func (s *DescribeReservedCacheNodesOutput) SetMarker(v string) *DescribeReservedCacheNodesOutput { 10403 s.Marker = &v 10404 return s 10405} 10406 10407// SetReservedCacheNodes sets the ReservedCacheNodes field's value. 10408func (s *DescribeReservedCacheNodesOutput) SetReservedCacheNodes(v []*ReservedCacheNode) *DescribeReservedCacheNodesOutput { 10409 s.ReservedCacheNodes = v 10410 return s 10411} 10412 10413type DescribeServiceUpdatesInput struct { 10414 _ struct{} `type:"structure"` 10415 10416 // An optional marker returned from a prior request. Use this marker for pagination 10417 // of results from this operation. If this parameter is specified, the response 10418 // includes only records beyond the marker, up to the value specified by MaxRecords. 10419 Marker *string `type:"string"` 10420 10421 // The maximum number of records to include in the response 10422 MaxRecords *int64 `type:"integer"` 10423 10424 // The unique ID of the service update 10425 ServiceUpdateName *string `type:"string"` 10426 10427 // The status of the service update 10428 ServiceUpdateStatus []*string `type:"list"` 10429} 10430 10431// String returns the string representation 10432func (s DescribeServiceUpdatesInput) String() string { 10433 return awsutil.Prettify(s) 10434} 10435 10436// GoString returns the string representation 10437func (s DescribeServiceUpdatesInput) GoString() string { 10438 return s.String() 10439} 10440 10441// SetMarker sets the Marker field's value. 10442func (s *DescribeServiceUpdatesInput) SetMarker(v string) *DescribeServiceUpdatesInput { 10443 s.Marker = &v 10444 return s 10445} 10446 10447// SetMaxRecords sets the MaxRecords field's value. 10448func (s *DescribeServiceUpdatesInput) SetMaxRecords(v int64) *DescribeServiceUpdatesInput { 10449 s.MaxRecords = &v 10450 return s 10451} 10452 10453// SetServiceUpdateName sets the ServiceUpdateName field's value. 10454func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { 10455 s.ServiceUpdateName = &v 10456 return s 10457} 10458 10459// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 10460func (s *DescribeServiceUpdatesInput) SetServiceUpdateStatus(v []*string) *DescribeServiceUpdatesInput { 10461 s.ServiceUpdateStatus = v 10462 return s 10463} 10464 10465type DescribeServiceUpdatesOutput struct { 10466 _ struct{} `type:"structure"` 10467 10468 // An optional marker returned from a prior request. Use this marker for pagination 10469 // of results from this operation. If this parameter is specified, the response 10470 // includes only records beyond the marker, up to the value specified by MaxRecords. 10471 Marker *string `type:"string"` 10472 10473 // A list of service updates 10474 ServiceUpdates []*ServiceUpdate `locationNameList:"ServiceUpdate" type:"list"` 10475} 10476 10477// String returns the string representation 10478func (s DescribeServiceUpdatesOutput) String() string { 10479 return awsutil.Prettify(s) 10480} 10481 10482// GoString returns the string representation 10483func (s DescribeServiceUpdatesOutput) GoString() string { 10484 return s.String() 10485} 10486 10487// SetMarker sets the Marker field's value. 10488func (s *DescribeServiceUpdatesOutput) SetMarker(v string) *DescribeServiceUpdatesOutput { 10489 s.Marker = &v 10490 return s 10491} 10492 10493// SetServiceUpdates sets the ServiceUpdates field's value. 10494func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { 10495 s.ServiceUpdates = v 10496 return s 10497} 10498 10499// Represents the input of a DescribeSnapshotsMessage operation. 10500type DescribeSnapshotsInput struct { 10501 _ struct{} `type:"structure"` 10502 10503 // A user-supplied cluster identifier. If this parameter is specified, only 10504 // snapshots associated with that specific cluster are described. 10505 CacheClusterId *string `type:"string"` 10506 10507 // An optional marker returned from a prior request. Use this marker for pagination 10508 // of results from this operation. If this parameter is specified, the response 10509 // includes only records beyond the marker, up to the value specified by MaxRecords. 10510 Marker *string `type:"string"` 10511 10512 // The maximum number of records to include in the response. If more records 10513 // exist than the specified MaxRecords value, a marker is included in the response 10514 // so that the remaining results can be retrieved. 10515 // 10516 // Default: 50 10517 // 10518 // Constraints: minimum 20; maximum 50. 10519 MaxRecords *int64 `type:"integer"` 10520 10521 // A user-supplied replication group identifier. If this parameter is specified, 10522 // only snapshots associated with that specific replication group are described. 10523 ReplicationGroupId *string `type:"string"` 10524 10525 // A Boolean value which if true, the node group (shard) configuration is included 10526 // in the snapshot description. 10527 ShowNodeGroupConfig *bool `type:"boolean"` 10528 10529 // A user-supplied name of the snapshot. If this parameter is specified, only 10530 // this snapshot are described. 10531 SnapshotName *string `type:"string"` 10532 10533 // If set to system, the output shows snapshots that were automatically created 10534 // by ElastiCache. If set to user the output shows snapshots that were manually 10535 // created. If omitted, the output shows both automatically and manually created 10536 // snapshots. 10537 SnapshotSource *string `type:"string"` 10538} 10539 10540// String returns the string representation 10541func (s DescribeSnapshotsInput) String() string { 10542 return awsutil.Prettify(s) 10543} 10544 10545// GoString returns the string representation 10546func (s DescribeSnapshotsInput) GoString() string { 10547 return s.String() 10548} 10549 10550// SetCacheClusterId sets the CacheClusterId field's value. 10551func (s *DescribeSnapshotsInput) SetCacheClusterId(v string) *DescribeSnapshotsInput { 10552 s.CacheClusterId = &v 10553 return s 10554} 10555 10556// SetMarker sets the Marker field's value. 10557func (s *DescribeSnapshotsInput) SetMarker(v string) *DescribeSnapshotsInput { 10558 s.Marker = &v 10559 return s 10560} 10561 10562// SetMaxRecords sets the MaxRecords field's value. 10563func (s *DescribeSnapshotsInput) SetMaxRecords(v int64) *DescribeSnapshotsInput { 10564 s.MaxRecords = &v 10565 return s 10566} 10567 10568// SetReplicationGroupId sets the ReplicationGroupId field's value. 10569func (s *DescribeSnapshotsInput) SetReplicationGroupId(v string) *DescribeSnapshotsInput { 10570 s.ReplicationGroupId = &v 10571 return s 10572} 10573 10574// SetShowNodeGroupConfig sets the ShowNodeGroupConfig field's value. 10575func (s *DescribeSnapshotsInput) SetShowNodeGroupConfig(v bool) *DescribeSnapshotsInput { 10576 s.ShowNodeGroupConfig = &v 10577 return s 10578} 10579 10580// SetSnapshotName sets the SnapshotName field's value. 10581func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { 10582 s.SnapshotName = &v 10583 return s 10584} 10585 10586// SetSnapshotSource sets the SnapshotSource field's value. 10587func (s *DescribeSnapshotsInput) SetSnapshotSource(v string) *DescribeSnapshotsInput { 10588 s.SnapshotSource = &v 10589 return s 10590} 10591 10592// Represents the output of a DescribeSnapshots operation. 10593type DescribeSnapshotsOutput struct { 10594 _ struct{} `type:"structure"` 10595 10596 // An optional marker returned from a prior request. Use this marker for pagination 10597 // of results from this operation. If this parameter is specified, the response 10598 // includes only records beyond the marker, up to the value specified by MaxRecords. 10599 Marker *string `type:"string"` 10600 10601 // A list of snapshots. Each item in the list contains detailed information 10602 // about one snapshot. 10603 Snapshots []*Snapshot `locationNameList:"Snapshot" type:"list"` 10604} 10605 10606// String returns the string representation 10607func (s DescribeSnapshotsOutput) String() string { 10608 return awsutil.Prettify(s) 10609} 10610 10611// GoString returns the string representation 10612func (s DescribeSnapshotsOutput) GoString() string { 10613 return s.String() 10614} 10615 10616// SetMarker sets the Marker field's value. 10617func (s *DescribeSnapshotsOutput) SetMarker(v string) *DescribeSnapshotsOutput { 10618 s.Marker = &v 10619 return s 10620} 10621 10622// SetSnapshots sets the Snapshots field's value. 10623func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { 10624 s.Snapshots = v 10625 return s 10626} 10627 10628type DescribeUpdateActionsInput struct { 10629 _ struct{} `type:"structure"` 10630 10631 // The cache cluster IDs 10632 CacheClusterIds []*string `type:"list"` 10633 10634 // The Elasticache engine to which the update applies. Either Redis or Memcached 10635 Engine *string `type:"string"` 10636 10637 // An optional marker returned from a prior request. Use this marker for pagination 10638 // of results from this operation. If this parameter is specified, the response 10639 // includes only records beyond the marker, up to the value specified by MaxRecords. 10640 Marker *string `type:"string"` 10641 10642 // The maximum number of records to include in the response 10643 MaxRecords *int64 `type:"integer"` 10644 10645 // The replication group IDs 10646 ReplicationGroupIds []*string `type:"list"` 10647 10648 // The unique ID of the service update 10649 ServiceUpdateName *string `type:"string"` 10650 10651 // The status of the service update 10652 ServiceUpdateStatus []*string `type:"list"` 10653 10654 // The range of time specified to search for service updates that are in available 10655 // status 10656 ServiceUpdateTimeRange *TimeRangeFilter `type:"structure"` 10657 10658 // Dictates whether to include node level update status in the response 10659 ShowNodeLevelUpdateStatus *bool `type:"boolean"` 10660 10661 // The status of the update action. 10662 UpdateActionStatus []*string `type:"list"` 10663} 10664 10665// String returns the string representation 10666func (s DescribeUpdateActionsInput) String() string { 10667 return awsutil.Prettify(s) 10668} 10669 10670// GoString returns the string representation 10671func (s DescribeUpdateActionsInput) GoString() string { 10672 return s.String() 10673} 10674 10675// SetCacheClusterIds sets the CacheClusterIds field's value. 10676func (s *DescribeUpdateActionsInput) SetCacheClusterIds(v []*string) *DescribeUpdateActionsInput { 10677 s.CacheClusterIds = v 10678 return s 10679} 10680 10681// SetEngine sets the Engine field's value. 10682func (s *DescribeUpdateActionsInput) SetEngine(v string) *DescribeUpdateActionsInput { 10683 s.Engine = &v 10684 return s 10685} 10686 10687// SetMarker sets the Marker field's value. 10688func (s *DescribeUpdateActionsInput) SetMarker(v string) *DescribeUpdateActionsInput { 10689 s.Marker = &v 10690 return s 10691} 10692 10693// SetMaxRecords sets the MaxRecords field's value. 10694func (s *DescribeUpdateActionsInput) SetMaxRecords(v int64) *DescribeUpdateActionsInput { 10695 s.MaxRecords = &v 10696 return s 10697} 10698 10699// SetReplicationGroupIds sets the ReplicationGroupIds field's value. 10700func (s *DescribeUpdateActionsInput) SetReplicationGroupIds(v []*string) *DescribeUpdateActionsInput { 10701 s.ReplicationGroupIds = v 10702 return s 10703} 10704 10705// SetServiceUpdateName sets the ServiceUpdateName field's value. 10706func (s *DescribeUpdateActionsInput) SetServiceUpdateName(v string) *DescribeUpdateActionsInput { 10707 s.ServiceUpdateName = &v 10708 return s 10709} 10710 10711// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 10712func (s *DescribeUpdateActionsInput) SetServiceUpdateStatus(v []*string) *DescribeUpdateActionsInput { 10713 s.ServiceUpdateStatus = v 10714 return s 10715} 10716 10717// SetServiceUpdateTimeRange sets the ServiceUpdateTimeRange field's value. 10718func (s *DescribeUpdateActionsInput) SetServiceUpdateTimeRange(v *TimeRangeFilter) *DescribeUpdateActionsInput { 10719 s.ServiceUpdateTimeRange = v 10720 return s 10721} 10722 10723// SetShowNodeLevelUpdateStatus sets the ShowNodeLevelUpdateStatus field's value. 10724func (s *DescribeUpdateActionsInput) SetShowNodeLevelUpdateStatus(v bool) *DescribeUpdateActionsInput { 10725 s.ShowNodeLevelUpdateStatus = &v 10726 return s 10727} 10728 10729// SetUpdateActionStatus sets the UpdateActionStatus field's value. 10730func (s *DescribeUpdateActionsInput) SetUpdateActionStatus(v []*string) *DescribeUpdateActionsInput { 10731 s.UpdateActionStatus = v 10732 return s 10733} 10734 10735type DescribeUpdateActionsOutput struct { 10736 _ struct{} `type:"structure"` 10737 10738 // An optional marker returned from a prior request. Use this marker for pagination 10739 // of results from this operation. If this parameter is specified, the response 10740 // includes only records beyond the marker, up to the value specified by MaxRecords. 10741 Marker *string `type:"string"` 10742 10743 // Returns a list of update actions 10744 UpdateActions []*UpdateAction `locationNameList:"UpdateAction" type:"list"` 10745} 10746 10747// String returns the string representation 10748func (s DescribeUpdateActionsOutput) String() string { 10749 return awsutil.Prettify(s) 10750} 10751 10752// GoString returns the string representation 10753func (s DescribeUpdateActionsOutput) GoString() string { 10754 return s.String() 10755} 10756 10757// SetMarker sets the Marker field's value. 10758func (s *DescribeUpdateActionsOutput) SetMarker(v string) *DescribeUpdateActionsOutput { 10759 s.Marker = &v 10760 return s 10761} 10762 10763// SetUpdateActions sets the UpdateActions field's value. 10764func (s *DescribeUpdateActionsOutput) SetUpdateActions(v []*UpdateAction) *DescribeUpdateActionsOutput { 10765 s.UpdateActions = v 10766 return s 10767} 10768 10769// Provides ownership and status information for an Amazon EC2 security group. 10770type EC2SecurityGroup struct { 10771 _ struct{} `type:"structure"` 10772 10773 // The name of the Amazon EC2 security group. 10774 EC2SecurityGroupName *string `type:"string"` 10775 10776 // The AWS account ID of the Amazon EC2 security group owner. 10777 EC2SecurityGroupOwnerId *string `type:"string"` 10778 10779 // The status of the Amazon EC2 security group. 10780 Status *string `type:"string"` 10781} 10782 10783// String returns the string representation 10784func (s EC2SecurityGroup) String() string { 10785 return awsutil.Prettify(s) 10786} 10787 10788// GoString returns the string representation 10789func (s EC2SecurityGroup) GoString() string { 10790 return s.String() 10791} 10792 10793// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 10794func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup { 10795 s.EC2SecurityGroupName = &v 10796 return s 10797} 10798 10799// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 10800func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup { 10801 s.EC2SecurityGroupOwnerId = &v 10802 return s 10803} 10804 10805// SetStatus sets the Status field's value. 10806func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup { 10807 s.Status = &v 10808 return s 10809} 10810 10811// Represents the information required for client programs to connect to a cache 10812// node. 10813type Endpoint struct { 10814 _ struct{} `type:"structure"` 10815 10816 // The DNS hostname of the cache node. 10817 Address *string `type:"string"` 10818 10819 // The port number that the cache engine is listening on. 10820 Port *int64 `type:"integer"` 10821} 10822 10823// String returns the string representation 10824func (s Endpoint) String() string { 10825 return awsutil.Prettify(s) 10826} 10827 10828// GoString returns the string representation 10829func (s Endpoint) GoString() string { 10830 return s.String() 10831} 10832 10833// SetAddress sets the Address field's value. 10834func (s *Endpoint) SetAddress(v string) *Endpoint { 10835 s.Address = &v 10836 return s 10837} 10838 10839// SetPort sets the Port field's value. 10840func (s *Endpoint) SetPort(v int64) *Endpoint { 10841 s.Port = &v 10842 return s 10843} 10844 10845// Represents the output of a DescribeEngineDefaultParameters operation. 10846type EngineDefaults struct { 10847 _ struct{} `type:"structure"` 10848 10849 // A list of parameters specific to a particular cache node type. Each element 10850 // in the list contains detailed information about one parameter. 10851 CacheNodeTypeSpecificParameters []*CacheNodeTypeSpecificParameter `locationNameList:"CacheNodeTypeSpecificParameter" type:"list"` 10852 10853 // Specifies the name of the cache parameter group family to which the engine 10854 // default parameters apply. 10855 // 10856 // Valid values are: memcached1.4 | memcached1.5 | redis2.6 | redis2.8 | redis3.2 10857 // | redis4.0 | redis5.0 | 10858 CacheParameterGroupFamily *string `type:"string"` 10859 10860 // Provides an identifier to allow retrieval of paginated results. 10861 Marker *string `type:"string"` 10862 10863 // Contains a list of engine default parameters. 10864 Parameters []*Parameter `locationNameList:"Parameter" type:"list"` 10865} 10866 10867// String returns the string representation 10868func (s EngineDefaults) String() string { 10869 return awsutil.Prettify(s) 10870} 10871 10872// GoString returns the string representation 10873func (s EngineDefaults) GoString() string { 10874 return s.String() 10875} 10876 10877// SetCacheNodeTypeSpecificParameters sets the CacheNodeTypeSpecificParameters field's value. 10878func (s *EngineDefaults) SetCacheNodeTypeSpecificParameters(v []*CacheNodeTypeSpecificParameter) *EngineDefaults { 10879 s.CacheNodeTypeSpecificParameters = v 10880 return s 10881} 10882 10883// SetCacheParameterGroupFamily sets the CacheParameterGroupFamily field's value. 10884func (s *EngineDefaults) SetCacheParameterGroupFamily(v string) *EngineDefaults { 10885 s.CacheParameterGroupFamily = &v 10886 return s 10887} 10888 10889// SetMarker sets the Marker field's value. 10890func (s *EngineDefaults) SetMarker(v string) *EngineDefaults { 10891 s.Marker = &v 10892 return s 10893} 10894 10895// SetParameters sets the Parameters field's value. 10896func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults { 10897 s.Parameters = v 10898 return s 10899} 10900 10901// Represents a single occurrence of something interesting within the system. 10902// Some examples of events are creating a cluster, adding or removing a cache 10903// node, or rebooting a node. 10904type Event struct { 10905 _ struct{} `type:"structure"` 10906 10907 // The date and time when the event occurred. 10908 Date *time.Time `type:"timestamp"` 10909 10910 // The text of the event. 10911 Message *string `type:"string"` 10912 10913 // The identifier for the source of the event. For example, if the event occurred 10914 // at the cluster level, the identifier would be the name of the cluster. 10915 SourceIdentifier *string `type:"string"` 10916 10917 // Specifies the origin of this event - a cluster, a parameter group, a security 10918 // group, etc. 10919 SourceType *string `type:"string" enum:"SourceType"` 10920} 10921 10922// String returns the string representation 10923func (s Event) String() string { 10924 return awsutil.Prettify(s) 10925} 10926 10927// GoString returns the string representation 10928func (s Event) GoString() string { 10929 return s.String() 10930} 10931 10932// SetDate sets the Date field's value. 10933func (s *Event) SetDate(v time.Time) *Event { 10934 s.Date = &v 10935 return s 10936} 10937 10938// SetMessage sets the Message field's value. 10939func (s *Event) SetMessage(v string) *Event { 10940 s.Message = &v 10941 return s 10942} 10943 10944// SetSourceIdentifier sets the SourceIdentifier field's value. 10945func (s *Event) SetSourceIdentifier(v string) *Event { 10946 s.SourceIdentifier = &v 10947 return s 10948} 10949 10950// SetSourceType sets the SourceType field's value. 10951func (s *Event) SetSourceType(v string) *Event { 10952 s.SourceType = &v 10953 return s 10954} 10955 10956type IncreaseReplicaCountInput struct { 10957 _ struct{} `type:"structure"` 10958 10959 // If True, the number of replica nodes is increased immediately. ApplyImmediately=False 10960 // is not currently supported. 10961 // 10962 // ApplyImmediately is a required field 10963 ApplyImmediately *bool `type:"boolean" required:"true"` 10964 10965 // The number of read replica nodes you want at the completion of this operation. 10966 // For Redis (cluster mode disabled) replication groups, this is the number 10967 // of replica nodes in the replication group. For Redis (cluster mode enabled) 10968 // replication groups, this is the number of replica nodes in each of the replication 10969 // group's node groups. 10970 NewReplicaCount *int64 `type:"integer"` 10971 10972 // A list of ConfigureShard objects that can be used to configure each shard 10973 // in a Redis (cluster mode enabled) replication group. The ConfigureShard has 10974 // three members: NewReplicaCount, NodeGroupId, and PreferredAvailabilityZones. 10975 ReplicaConfiguration []*ConfigureShard `locationNameList:"ConfigureShard" type:"list"` 10976 10977 // The id of the replication group to which you want to add replica nodes. 10978 // 10979 // ReplicationGroupId is a required field 10980 ReplicationGroupId *string `type:"string" required:"true"` 10981} 10982 10983// String returns the string representation 10984func (s IncreaseReplicaCountInput) String() string { 10985 return awsutil.Prettify(s) 10986} 10987 10988// GoString returns the string representation 10989func (s IncreaseReplicaCountInput) GoString() string { 10990 return s.String() 10991} 10992 10993// Validate inspects the fields of the type to determine if they are valid. 10994func (s *IncreaseReplicaCountInput) Validate() error { 10995 invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicaCountInput"} 10996 if s.ApplyImmediately == nil { 10997 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 10998 } 10999 if s.ReplicationGroupId == nil { 11000 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11001 } 11002 if s.ReplicaConfiguration != nil { 11003 for i, v := range s.ReplicaConfiguration { 11004 if v == nil { 11005 continue 11006 } 11007 if err := v.Validate(); err != nil { 11008 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplicaConfiguration", i), err.(request.ErrInvalidParams)) 11009 } 11010 } 11011 } 11012 11013 if invalidParams.Len() > 0 { 11014 return invalidParams 11015 } 11016 return nil 11017} 11018 11019// SetApplyImmediately sets the ApplyImmediately field's value. 11020func (s *IncreaseReplicaCountInput) SetApplyImmediately(v bool) *IncreaseReplicaCountInput { 11021 s.ApplyImmediately = &v 11022 return s 11023} 11024 11025// SetNewReplicaCount sets the NewReplicaCount field's value. 11026func (s *IncreaseReplicaCountInput) SetNewReplicaCount(v int64) *IncreaseReplicaCountInput { 11027 s.NewReplicaCount = &v 11028 return s 11029} 11030 11031// SetReplicaConfiguration sets the ReplicaConfiguration field's value. 11032func (s *IncreaseReplicaCountInput) SetReplicaConfiguration(v []*ConfigureShard) *IncreaseReplicaCountInput { 11033 s.ReplicaConfiguration = v 11034 return s 11035} 11036 11037// SetReplicationGroupId sets the ReplicationGroupId field's value. 11038func (s *IncreaseReplicaCountInput) SetReplicationGroupId(v string) *IncreaseReplicaCountInput { 11039 s.ReplicationGroupId = &v 11040 return s 11041} 11042 11043type IncreaseReplicaCountOutput struct { 11044 _ struct{} `type:"structure"` 11045 11046 // Contains all of the attributes of a specific Redis replication group. 11047 ReplicationGroup *ReplicationGroup `type:"structure"` 11048} 11049 11050// String returns the string representation 11051func (s IncreaseReplicaCountOutput) String() string { 11052 return awsutil.Prettify(s) 11053} 11054 11055// GoString returns the string representation 11056func (s IncreaseReplicaCountOutput) GoString() string { 11057 return s.String() 11058} 11059 11060// SetReplicationGroup sets the ReplicationGroup field's value. 11061func (s *IncreaseReplicaCountOutput) SetReplicationGroup(v *ReplicationGroup) *IncreaseReplicaCountOutput { 11062 s.ReplicationGroup = v 11063 return s 11064} 11065 11066// The input parameters for the ListAllowedNodeTypeModifications operation. 11067type ListAllowedNodeTypeModificationsInput struct { 11068 _ struct{} `type:"structure"` 11069 11070 // The name of the cluster you want to scale up to a larger node instanced type. 11071 // ElastiCache uses the cluster id to identify the current node type of this 11072 // cluster and from that to create a list of node types you can scale up to. 11073 // 11074 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 11075 CacheClusterId *string `type:"string"` 11076 11077 // The name of the replication group want to scale up to a larger node type. 11078 // ElastiCache uses the replication group id to identify the current node type 11079 // being used by this replication group, and from that to create a list of node 11080 // types you can scale up to. 11081 // 11082 // You must provide a value for either the CacheClusterId or the ReplicationGroupId. 11083 ReplicationGroupId *string `type:"string"` 11084} 11085 11086// String returns the string representation 11087func (s ListAllowedNodeTypeModificationsInput) String() string { 11088 return awsutil.Prettify(s) 11089} 11090 11091// GoString returns the string representation 11092func (s ListAllowedNodeTypeModificationsInput) GoString() string { 11093 return s.String() 11094} 11095 11096// SetCacheClusterId sets the CacheClusterId field's value. 11097func (s *ListAllowedNodeTypeModificationsInput) SetCacheClusterId(v string) *ListAllowedNodeTypeModificationsInput { 11098 s.CacheClusterId = &v 11099 return s 11100} 11101 11102// SetReplicationGroupId sets the ReplicationGroupId field's value. 11103func (s *ListAllowedNodeTypeModificationsInput) SetReplicationGroupId(v string) *ListAllowedNodeTypeModificationsInput { 11104 s.ReplicationGroupId = &v 11105 return s 11106} 11107 11108// Represents the allowed node types you can use to modify your cluster or replication 11109// group. 11110type ListAllowedNodeTypeModificationsOutput struct { 11111 _ struct{} `type:"structure"` 11112 11113 // A string list, each element of which specifies a cache node type which you 11114 // can use to scale your cluster or replication group. 11115 // 11116 // When scaling down on a Redis cluster or replication group using ModifyCacheCluster 11117 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 11118 // parameter. 11119 ScaleDownModifications []*string `type:"list"` 11120 11121 // A string list, each element of which specifies a cache node type which you 11122 // can use to scale your cluster or replication group. 11123 // 11124 // When scaling up a Redis cluster or replication group using ModifyCacheCluster 11125 // or ModifyReplicationGroup, use a value from this list for the CacheNodeType 11126 // parameter. 11127 ScaleUpModifications []*string `type:"list"` 11128} 11129 11130// String returns the string representation 11131func (s ListAllowedNodeTypeModificationsOutput) String() string { 11132 return awsutil.Prettify(s) 11133} 11134 11135// GoString returns the string representation 11136func (s ListAllowedNodeTypeModificationsOutput) GoString() string { 11137 return s.String() 11138} 11139 11140// SetScaleDownModifications sets the ScaleDownModifications field's value. 11141func (s *ListAllowedNodeTypeModificationsOutput) SetScaleDownModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 11142 s.ScaleDownModifications = v 11143 return s 11144} 11145 11146// SetScaleUpModifications sets the ScaleUpModifications field's value. 11147func (s *ListAllowedNodeTypeModificationsOutput) SetScaleUpModifications(v []*string) *ListAllowedNodeTypeModificationsOutput { 11148 s.ScaleUpModifications = v 11149 return s 11150} 11151 11152// The input parameters for the ListTagsForResource operation. 11153type ListTagsForResourceInput struct { 11154 _ struct{} `type:"structure"` 11155 11156 // The Amazon Resource Name (ARN) of the resource for which you want the list 11157 // of tags, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 11158 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 11159 // 11160 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 11161 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 11162 // 11163 // ResourceName is a required field 11164 ResourceName *string `type:"string" required:"true"` 11165} 11166 11167// String returns the string representation 11168func (s ListTagsForResourceInput) String() string { 11169 return awsutil.Prettify(s) 11170} 11171 11172// GoString returns the string representation 11173func (s ListTagsForResourceInput) GoString() string { 11174 return s.String() 11175} 11176 11177// Validate inspects the fields of the type to determine if they are valid. 11178func (s *ListTagsForResourceInput) Validate() error { 11179 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 11180 if s.ResourceName == nil { 11181 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 11182 } 11183 11184 if invalidParams.Len() > 0 { 11185 return invalidParams 11186 } 11187 return nil 11188} 11189 11190// SetResourceName sets the ResourceName field's value. 11191func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput { 11192 s.ResourceName = &v 11193 return s 11194} 11195 11196// Represents the input of a ModifyCacheCluster operation. 11197type ModifyCacheClusterInput struct { 11198 _ struct{} `type:"structure"` 11199 11200 // Specifies whether the new nodes in this Memcached cluster are all created 11201 // in a single Availability Zone or created across multiple Availability Zones. 11202 // 11203 // Valid values: single-az | cross-az. 11204 // 11205 // This option is only supported for Memcached clusters. 11206 // 11207 // You cannot specify single-az if the Memcached cluster already has cache nodes 11208 // in different Availability Zones. If cross-az is specified, existing Memcached 11209 // nodes remain in their current Availability Zone. 11210 // 11211 // Only newly created nodes are located in different Availability Zones. 11212 AZMode *string `type:"string" enum:"AZMode"` 11213 11214 // If true, this parameter causes the modifications in this request and any 11215 // pending modifications to be applied, asynchronously and as soon as possible, 11216 // regardless of the PreferredMaintenanceWindow setting for the cluster. 11217 // 11218 // If false, changes to the cluster are applied on the next maintenance reboot, 11219 // or the next failure reboot, whichever occurs first. 11220 // 11221 // If you perform a ModifyCacheCluster before a pending modification is applied, 11222 // the pending modification is replaced by the newer modification. 11223 // 11224 // Valid values: true | false 11225 // 11226 // Default: false 11227 ApplyImmediately *bool `type:"boolean"` 11228 11229 // Reserved parameter. The password used to access a password protected server. 11230 // This parameter must be specified with the auth-token-update parameter. Password 11231 // constraints: 11232 // 11233 // * Must be only printable ASCII characters 11234 // 11235 // * Must be at least 16 characters and no more than 128 characters in length 11236 // 11237 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 11238 // 11239 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 11240 AuthToken *string `type:"string"` 11241 11242 // Specifies the strategy to use to update the AUTH token. This parameter must 11243 // be specified with the auth-token parameter. Possible values: 11244 // 11245 // * Rotate 11246 // 11247 // * Set 11248 // 11249 // For more information, see Authenticating Users with Redis AUTH (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 11250 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 11251 11252 // This parameter is currently disabled. 11253 AutoMinorVersionUpgrade *bool `type:"boolean"` 11254 11255 // The cluster identifier. This value is stored as a lowercase string. 11256 // 11257 // CacheClusterId is a required field 11258 CacheClusterId *string `type:"string" required:"true"` 11259 11260 // A list of cache node IDs to be removed. A node ID is a numeric identifier 11261 // (0001, 0002, etc.). This parameter is only valid when NumCacheNodes is less 11262 // than the existing number of cache nodes. The number of cache node IDs supplied 11263 // in this parameter must match the difference between the existing number of 11264 // cache nodes in the cluster or pending cache nodes, whichever is greater, 11265 // and the value of NumCacheNodes in the request. 11266 // 11267 // For example: If you have 3 active cache nodes, 7 pending cache nodes, and 11268 // the number of cache nodes in this ModifyCacheCluster call is 5, you must 11269 // list 2 (7 - 5) cache node IDs to remove. 11270 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 11271 11272 // A valid cache node type that you want to scale this cluster up to. 11273 CacheNodeType *string `type:"string"` 11274 11275 // The name of the cache parameter group to apply to this cluster. This change 11276 // is asynchronously applied as soon as possible for parameters when the ApplyImmediately 11277 // parameter is specified as true for this request. 11278 CacheParameterGroupName *string `type:"string"` 11279 11280 // A list of cache security group names to authorize on this cluster. This change 11281 // is asynchronously applied as soon as possible. 11282 // 11283 // You can use this parameter only with clusters that are created outside of 11284 // an Amazon Virtual Private Cloud (Amazon VPC). 11285 // 11286 // Constraints: Must contain no more than 255 alphanumeric characters. Must 11287 // not be "Default". 11288 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 11289 11290 // The upgraded version of the cache engine to be run on the cache nodes. 11291 // 11292 // Important: You can upgrade to a newer engine version (see Selecting a Cache 11293 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 11294 // but you cannot downgrade to an earlier engine version. If you want to use 11295 // an earlier engine version, you must delete the existing cluster and create 11296 // it anew with the earlier engine version. 11297 EngineVersion *string `type:"string"` 11298 11299 // The list of Availability Zones where the new Memcached cache nodes are created. 11300 // 11301 // This parameter is only valid when NumCacheNodes in the request is greater 11302 // than the sum of the number of active cache nodes and the number of cache 11303 // nodes pending creation (which may be zero). The number of Availability Zones 11304 // supplied in this list must match the cache nodes being added in this request. 11305 // 11306 // This option is only supported on Memcached clusters. 11307 // 11308 // Scenarios: 11309 // 11310 // * Scenario 1: You have 3 active nodes and wish to add 2 nodes. Specify 11311 // NumCacheNodes=5 (3 + 2) and optionally specify two Availability Zones 11312 // for the two new nodes. 11313 // 11314 // * Scenario 2: You have 3 active nodes and 2 nodes pending creation (from 11315 // the scenario 1 call) and want to add 1 more node. Specify NumCacheNodes=6 11316 // ((3 + 2) + 1) and optionally specify an Availability Zone for the new 11317 // node. 11318 // 11319 // * Scenario 3: You want to cancel all pending operations. Specify NumCacheNodes=3 11320 // to cancel all pending operations. 11321 // 11322 // The Availability Zone placement of nodes pending creation cannot be modified. 11323 // If you wish to cancel any nodes pending creation, add 0 nodes by setting 11324 // NumCacheNodes to the number of current nodes. 11325 // 11326 // If cross-az is specified, existing Memcached nodes remain in their current 11327 // Availability Zone. Only newly created nodes can be located in different Availability 11328 // Zones. For guidance on how to move existing Memcached nodes to different 11329 // Availability Zones, see the Availability Zone Considerations section of Cache 11330 // Node Considerations for Memcached (https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/CacheNodes.SupportedTypes.html). 11331 // 11332 // Impact of new add/remove requests upon pending requests 11333 // 11334 // * Scenario-1 Pending Action: Delete New Request: Delete Result: The new 11335 // delete, pending or immediate, replaces the pending delete. 11336 // 11337 // * Scenario-2 Pending Action: Delete New Request: Create Result: The new 11338 // create, pending or immediate, replaces the pending delete. 11339 // 11340 // * Scenario-3 Pending Action: Create New Request: Delete Result: The new 11341 // delete, pending or immediate, replaces the pending create. 11342 // 11343 // * Scenario-4 Pending Action: Create New Request: Create Result: The new 11344 // create is added to the pending create. Important: If the new create request 11345 // is Apply Immediately - Yes, all creates are performed immediately. If 11346 // the new create request is Apply Immediately - No, all creates are pending. 11347 NewAvailabilityZones []*string `locationNameList:"PreferredAvailabilityZone" type:"list"` 11348 11349 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 11350 // are sent. 11351 // 11352 // The Amazon SNS topic owner must be same as the cluster owner. 11353 NotificationTopicArn *string `type:"string"` 11354 11355 // The status of the Amazon SNS notification topic. Notifications are sent only 11356 // if the status is active. 11357 // 11358 // Valid values: active | inactive 11359 NotificationTopicStatus *string `type:"string"` 11360 11361 // The number of cache nodes that the cluster should have. If the value for 11362 // NumCacheNodes is greater than the sum of the number of current cache nodes 11363 // and the number of cache nodes pending creation (which may be zero), more 11364 // nodes are added. If the value is less than the number of existing cache nodes, 11365 // nodes are removed. If the value is equal to the number of current cache nodes, 11366 // any pending add or remove requests are canceled. 11367 // 11368 // If you are removing cache nodes, you must use the CacheNodeIdsToRemove parameter 11369 // to provide the IDs of the specific cache nodes to remove. 11370 // 11371 // For clusters running Redis, this value must be 1. For clusters running Memcached, 11372 // this value must be between 1 and 20. 11373 // 11374 // Adding or removing Memcached cache nodes can be applied immediately or as 11375 // a pending operation (see ApplyImmediately). 11376 // 11377 // A pending operation to modify the number of cache nodes in a cluster during 11378 // its maintenance window, whether by adding or removing nodes in accordance 11379 // with the scale out architecture, is not queued. The customer's latest request 11380 // to add or remove nodes to the cluster overrides any previous pending operations 11381 // to modify the number of cache nodes in the cluster. For example, a request 11382 // to remove 2 nodes would override a previous pending operation to remove 3 11383 // nodes. Similarly, a request to add 2 nodes would override a previous pending 11384 // operation to remove 3 nodes and vice versa. As Memcached cache nodes may 11385 // now be provisioned in different Availability Zones with flexible cache node 11386 // placement, a request to add nodes does not automatically override a previous 11387 // pending operation to add nodes. The customer can modify the previous pending 11388 // operation to add more nodes or explicitly cancel the pending request and 11389 // retry the new request. To cancel pending operations to modify the number 11390 // of cache nodes in a cluster, use the ModifyCacheCluster request and set NumCacheNodes 11391 // equal to the number of cache nodes currently in the cluster. 11392 NumCacheNodes *int64 `type:"integer"` 11393 11394 // Specifies the weekly time range during which maintenance on the cluster is 11395 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 11396 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 11397 // 11398 // Valid values for ddd are: 11399 // 11400 // * sun 11401 // 11402 // * mon 11403 // 11404 // * tue 11405 // 11406 // * wed 11407 // 11408 // * thu 11409 // 11410 // * fri 11411 // 11412 // * sat 11413 // 11414 // Example: sun:23:00-mon:01:30 11415 PreferredMaintenanceWindow *string `type:"string"` 11416 11417 // Specifies the VPC Security Groups associated with the cluster. 11418 // 11419 // This parameter can be used only with clusters that are created in an Amazon 11420 // Virtual Private Cloud (Amazon VPC). 11421 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 11422 11423 // The number of days for which ElastiCache retains automatic cluster snapshots 11424 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 11425 // a snapshot that was taken today is retained for 5 days before being deleted. 11426 // 11427 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 11428 // off. 11429 SnapshotRetentionLimit *int64 `type:"integer"` 11430 11431 // The daily time range (in UTC) during which ElastiCache begins taking a daily 11432 // snapshot of your cluster. 11433 SnapshotWindow *string `type:"string"` 11434} 11435 11436// String returns the string representation 11437func (s ModifyCacheClusterInput) String() string { 11438 return awsutil.Prettify(s) 11439} 11440 11441// GoString returns the string representation 11442func (s ModifyCacheClusterInput) GoString() string { 11443 return s.String() 11444} 11445 11446// Validate inspects the fields of the type to determine if they are valid. 11447func (s *ModifyCacheClusterInput) Validate() error { 11448 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheClusterInput"} 11449 if s.CacheClusterId == nil { 11450 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 11451 } 11452 11453 if invalidParams.Len() > 0 { 11454 return invalidParams 11455 } 11456 return nil 11457} 11458 11459// SetAZMode sets the AZMode field's value. 11460func (s *ModifyCacheClusterInput) SetAZMode(v string) *ModifyCacheClusterInput { 11461 s.AZMode = &v 11462 return s 11463} 11464 11465// SetApplyImmediately sets the ApplyImmediately field's value. 11466func (s *ModifyCacheClusterInput) SetApplyImmediately(v bool) *ModifyCacheClusterInput { 11467 s.ApplyImmediately = &v 11468 return s 11469} 11470 11471// SetAuthToken sets the AuthToken field's value. 11472func (s *ModifyCacheClusterInput) SetAuthToken(v string) *ModifyCacheClusterInput { 11473 s.AuthToken = &v 11474 return s 11475} 11476 11477// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 11478func (s *ModifyCacheClusterInput) SetAuthTokenUpdateStrategy(v string) *ModifyCacheClusterInput { 11479 s.AuthTokenUpdateStrategy = &v 11480 return s 11481} 11482 11483// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 11484func (s *ModifyCacheClusterInput) SetAutoMinorVersionUpgrade(v bool) *ModifyCacheClusterInput { 11485 s.AutoMinorVersionUpgrade = &v 11486 return s 11487} 11488 11489// SetCacheClusterId sets the CacheClusterId field's value. 11490func (s *ModifyCacheClusterInput) SetCacheClusterId(v string) *ModifyCacheClusterInput { 11491 s.CacheClusterId = &v 11492 return s 11493} 11494 11495// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 11496func (s *ModifyCacheClusterInput) SetCacheNodeIdsToRemove(v []*string) *ModifyCacheClusterInput { 11497 s.CacheNodeIdsToRemove = v 11498 return s 11499} 11500 11501// SetCacheNodeType sets the CacheNodeType field's value. 11502func (s *ModifyCacheClusterInput) SetCacheNodeType(v string) *ModifyCacheClusterInput { 11503 s.CacheNodeType = &v 11504 return s 11505} 11506 11507// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 11508func (s *ModifyCacheClusterInput) SetCacheParameterGroupName(v string) *ModifyCacheClusterInput { 11509 s.CacheParameterGroupName = &v 11510 return s 11511} 11512 11513// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 11514func (s *ModifyCacheClusterInput) SetCacheSecurityGroupNames(v []*string) *ModifyCacheClusterInput { 11515 s.CacheSecurityGroupNames = v 11516 return s 11517} 11518 11519// SetEngineVersion sets the EngineVersion field's value. 11520func (s *ModifyCacheClusterInput) SetEngineVersion(v string) *ModifyCacheClusterInput { 11521 s.EngineVersion = &v 11522 return s 11523} 11524 11525// SetNewAvailabilityZones sets the NewAvailabilityZones field's value. 11526func (s *ModifyCacheClusterInput) SetNewAvailabilityZones(v []*string) *ModifyCacheClusterInput { 11527 s.NewAvailabilityZones = v 11528 return s 11529} 11530 11531// SetNotificationTopicArn sets the NotificationTopicArn field's value. 11532func (s *ModifyCacheClusterInput) SetNotificationTopicArn(v string) *ModifyCacheClusterInput { 11533 s.NotificationTopicArn = &v 11534 return s 11535} 11536 11537// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 11538func (s *ModifyCacheClusterInput) SetNotificationTopicStatus(v string) *ModifyCacheClusterInput { 11539 s.NotificationTopicStatus = &v 11540 return s 11541} 11542 11543// SetNumCacheNodes sets the NumCacheNodes field's value. 11544func (s *ModifyCacheClusterInput) SetNumCacheNodes(v int64) *ModifyCacheClusterInput { 11545 s.NumCacheNodes = &v 11546 return s 11547} 11548 11549// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 11550func (s *ModifyCacheClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyCacheClusterInput { 11551 s.PreferredMaintenanceWindow = &v 11552 return s 11553} 11554 11555// SetSecurityGroupIds sets the SecurityGroupIds field's value. 11556func (s *ModifyCacheClusterInput) SetSecurityGroupIds(v []*string) *ModifyCacheClusterInput { 11557 s.SecurityGroupIds = v 11558 return s 11559} 11560 11561// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 11562func (s *ModifyCacheClusterInput) SetSnapshotRetentionLimit(v int64) *ModifyCacheClusterInput { 11563 s.SnapshotRetentionLimit = &v 11564 return s 11565} 11566 11567// SetSnapshotWindow sets the SnapshotWindow field's value. 11568func (s *ModifyCacheClusterInput) SetSnapshotWindow(v string) *ModifyCacheClusterInput { 11569 s.SnapshotWindow = &v 11570 return s 11571} 11572 11573type ModifyCacheClusterOutput struct { 11574 _ struct{} `type:"structure"` 11575 11576 // Contains all of the attributes of a specific cluster. 11577 CacheCluster *CacheCluster `type:"structure"` 11578} 11579 11580// String returns the string representation 11581func (s ModifyCacheClusterOutput) String() string { 11582 return awsutil.Prettify(s) 11583} 11584 11585// GoString returns the string representation 11586func (s ModifyCacheClusterOutput) GoString() string { 11587 return s.String() 11588} 11589 11590// SetCacheCluster sets the CacheCluster field's value. 11591func (s *ModifyCacheClusterOutput) SetCacheCluster(v *CacheCluster) *ModifyCacheClusterOutput { 11592 s.CacheCluster = v 11593 return s 11594} 11595 11596// Represents the input of a ModifyCacheParameterGroup operation. 11597type ModifyCacheParameterGroupInput struct { 11598 _ struct{} `type:"structure"` 11599 11600 // The name of the cache parameter group to modify. 11601 // 11602 // CacheParameterGroupName is a required field 11603 CacheParameterGroupName *string `type:"string" required:"true"` 11604 11605 // An array of parameter names and values for the parameter update. You must 11606 // supply at least one parameter name and value; subsequent arguments are optional. 11607 // A maximum of 20 parameters may be modified per request. 11608 // 11609 // ParameterNameValues is a required field 11610 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list" required:"true"` 11611} 11612 11613// String returns the string representation 11614func (s ModifyCacheParameterGroupInput) String() string { 11615 return awsutil.Prettify(s) 11616} 11617 11618// GoString returns the string representation 11619func (s ModifyCacheParameterGroupInput) GoString() string { 11620 return s.String() 11621} 11622 11623// Validate inspects the fields of the type to determine if they are valid. 11624func (s *ModifyCacheParameterGroupInput) Validate() error { 11625 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheParameterGroupInput"} 11626 if s.CacheParameterGroupName == nil { 11627 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 11628 } 11629 if s.ParameterNameValues == nil { 11630 invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) 11631 } 11632 11633 if invalidParams.Len() > 0 { 11634 return invalidParams 11635 } 11636 return nil 11637} 11638 11639// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 11640func (s *ModifyCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ModifyCacheParameterGroupInput { 11641 s.CacheParameterGroupName = &v 11642 return s 11643} 11644 11645// SetParameterNameValues sets the ParameterNameValues field's value. 11646func (s *ModifyCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ModifyCacheParameterGroupInput { 11647 s.ParameterNameValues = v 11648 return s 11649} 11650 11651// Represents the input of a ModifyCacheSubnetGroup operation. 11652type ModifyCacheSubnetGroupInput struct { 11653 _ struct{} `type:"structure"` 11654 11655 // A description of the cache subnet group. 11656 CacheSubnetGroupDescription *string `type:"string"` 11657 11658 // The name for the cache subnet group. This value is stored as a lowercase 11659 // string. 11660 // 11661 // Constraints: Must contain no more than 255 alphanumeric characters or hyphens. 11662 // 11663 // Example: mysubnetgroup 11664 // 11665 // CacheSubnetGroupName is a required field 11666 CacheSubnetGroupName *string `type:"string" required:"true"` 11667 11668 // The EC2 subnet IDs for the cache subnet group. 11669 SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list"` 11670} 11671 11672// String returns the string representation 11673func (s ModifyCacheSubnetGroupInput) String() string { 11674 return awsutil.Prettify(s) 11675} 11676 11677// GoString returns the string representation 11678func (s ModifyCacheSubnetGroupInput) GoString() string { 11679 return s.String() 11680} 11681 11682// Validate inspects the fields of the type to determine if they are valid. 11683func (s *ModifyCacheSubnetGroupInput) Validate() error { 11684 invalidParams := request.ErrInvalidParams{Context: "ModifyCacheSubnetGroupInput"} 11685 if s.CacheSubnetGroupName == nil { 11686 invalidParams.Add(request.NewErrParamRequired("CacheSubnetGroupName")) 11687 } 11688 11689 if invalidParams.Len() > 0 { 11690 return invalidParams 11691 } 11692 return nil 11693} 11694 11695// SetCacheSubnetGroupDescription sets the CacheSubnetGroupDescription field's value. 11696func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupDescription(v string) *ModifyCacheSubnetGroupInput { 11697 s.CacheSubnetGroupDescription = &v 11698 return s 11699} 11700 11701// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 11702func (s *ModifyCacheSubnetGroupInput) SetCacheSubnetGroupName(v string) *ModifyCacheSubnetGroupInput { 11703 s.CacheSubnetGroupName = &v 11704 return s 11705} 11706 11707// SetSubnetIds sets the SubnetIds field's value. 11708func (s *ModifyCacheSubnetGroupInput) SetSubnetIds(v []*string) *ModifyCacheSubnetGroupInput { 11709 s.SubnetIds = v 11710 return s 11711} 11712 11713type ModifyCacheSubnetGroupOutput struct { 11714 _ struct{} `type:"structure"` 11715 11716 // Represents the output of one of the following operations: 11717 // 11718 // * CreateCacheSubnetGroup 11719 // 11720 // * ModifyCacheSubnetGroup 11721 CacheSubnetGroup *CacheSubnetGroup `type:"structure"` 11722} 11723 11724// String returns the string representation 11725func (s ModifyCacheSubnetGroupOutput) String() string { 11726 return awsutil.Prettify(s) 11727} 11728 11729// GoString returns the string representation 11730func (s ModifyCacheSubnetGroupOutput) GoString() string { 11731 return s.String() 11732} 11733 11734// SetCacheSubnetGroup sets the CacheSubnetGroup field's value. 11735func (s *ModifyCacheSubnetGroupOutput) SetCacheSubnetGroup(v *CacheSubnetGroup) *ModifyCacheSubnetGroupOutput { 11736 s.CacheSubnetGroup = v 11737 return s 11738} 11739 11740// Represents the input of a ModifyReplicationGroups operation. 11741type ModifyReplicationGroupInput struct { 11742 _ struct{} `type:"structure"` 11743 11744 // If true, this parameter causes the modifications in this request and any 11745 // pending modifications to be applied, asynchronously and as soon as possible, 11746 // regardless of the PreferredMaintenanceWindow setting for the replication 11747 // group. 11748 // 11749 // If false, changes to the nodes in the replication group are applied on the 11750 // next maintenance reboot, or the next failure reboot, whichever occurs first. 11751 // 11752 // Valid values: true | false 11753 // 11754 // Default: false 11755 ApplyImmediately *bool `type:"boolean"` 11756 11757 // Reserved parameter. The password used to access a password protected server. 11758 // This parameter must be specified with the auth-token-update-strategy parameter. 11759 // Password constraints: 11760 // 11761 // * Must be only printable ASCII characters 11762 // 11763 // * Must be at least 16 characters and no more than 128 characters in length 11764 // 11765 // * Cannot contain any of the following characters: '/', '"', or '@', '%' 11766 // 11767 // For more information, see AUTH password at AUTH (http://redis.io/commands/AUTH). 11768 AuthToken *string `type:"string"` 11769 11770 // Specifies the strategy to use to update the AUTH token. This parameter must 11771 // be specified with the auth-token parameter. Possible values: 11772 // 11773 // * Rotate 11774 // 11775 // * Set 11776 // 11777 // For more information, see Authenticating Users with Redis AUTH (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/auth.html) 11778 AuthTokenUpdateStrategy *string `type:"string" enum:"AuthTokenUpdateStrategyType"` 11779 11780 // This parameter is currently disabled. 11781 AutoMinorVersionUpgrade *bool `type:"boolean"` 11782 11783 // Determines whether a read replica is automatically promoted to read/write 11784 // primary if the existing primary encounters a failure. 11785 // 11786 // Valid values: true | false 11787 // 11788 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 11789 // on: 11790 // 11791 // * Redis versions earlier than 2.8.6. 11792 // 11793 // * Redis (cluster mode disabled): T1 node types. 11794 // 11795 // * Redis (cluster mode enabled): T1 node types. 11796 AutomaticFailoverEnabled *bool `type:"boolean"` 11797 11798 // A valid cache node type that you want to scale this replication group to. 11799 CacheNodeType *string `type:"string"` 11800 11801 // The name of the cache parameter group to apply to all of the clusters in 11802 // this replication group. This change is asynchronously applied as soon as 11803 // possible for parameters when the ApplyImmediately parameter is specified 11804 // as true for this request. 11805 CacheParameterGroupName *string `type:"string"` 11806 11807 // A list of cache security group names to authorize for the clusters in this 11808 // replication group. This change is asynchronously applied as soon as possible. 11809 // 11810 // This parameter can be used only with replication group containing clusters 11811 // running outside of an Amazon Virtual Private Cloud (Amazon VPC). 11812 // 11813 // Constraints: Must contain no more than 255 alphanumeric characters. Must 11814 // not be Default. 11815 CacheSecurityGroupNames []*string `locationNameList:"CacheSecurityGroupName" type:"list"` 11816 11817 // The upgraded version of the cache engine to be run on the clusters in the 11818 // replication group. 11819 // 11820 // Important: You can upgrade to a newer engine version (see Selecting a Cache 11821 // Engine and Version (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html#VersionManagement)), 11822 // but you cannot downgrade to an earlier engine version. If you want to use 11823 // an earlier engine version, you must delete the existing replication group 11824 // and create it anew with the earlier engine version. 11825 EngineVersion *string `type:"string"` 11826 11827 // Deprecated. This parameter is not used. 11828 // 11829 // Deprecated: NodeGroupId has been deprecated 11830 NodeGroupId *string `deprecated:"true" type:"string"` 11831 11832 // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications 11833 // are sent. 11834 // 11835 // The Amazon SNS topic owner must be same as the replication group owner. 11836 NotificationTopicArn *string `type:"string"` 11837 11838 // The status of the Amazon SNS notification topic for the replication group. 11839 // Notifications are sent only if the status is active. 11840 // 11841 // Valid values: active | inactive 11842 NotificationTopicStatus *string `type:"string"` 11843 11844 // Specifies the weekly time range during which maintenance on the cluster is 11845 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 11846 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 11847 // 11848 // Valid values for ddd are: 11849 // 11850 // * sun 11851 // 11852 // * mon 11853 // 11854 // * tue 11855 // 11856 // * wed 11857 // 11858 // * thu 11859 // 11860 // * fri 11861 // 11862 // * sat 11863 // 11864 // Example: sun:23:00-mon:01:30 11865 PreferredMaintenanceWindow *string `type:"string"` 11866 11867 // For replication groups with a single primary, if this parameter is specified, 11868 // ElastiCache promotes the specified cluster in the specified replication group 11869 // to the primary role. The nodes of all other clusters in the replication group 11870 // are read replicas. 11871 PrimaryClusterId *string `type:"string"` 11872 11873 // A description for the replication group. Maximum length is 255 characters. 11874 ReplicationGroupDescription *string `type:"string"` 11875 11876 // The identifier of the replication group to modify. 11877 // 11878 // ReplicationGroupId is a required field 11879 ReplicationGroupId *string `type:"string" required:"true"` 11880 11881 // Specifies the VPC Security Groups associated with the clusters in the replication 11882 // group. 11883 // 11884 // This parameter can be used only with replication group containing clusters 11885 // running in an Amazon Virtual Private Cloud (Amazon VPC). 11886 SecurityGroupIds []*string `locationNameList:"SecurityGroupId" type:"list"` 11887 11888 // The number of days for which ElastiCache retains automatic node group (shard) 11889 // snapshots before deleting them. For example, if you set SnapshotRetentionLimit 11890 // to 5, a snapshot that was taken today is retained for 5 days before being 11891 // deleted. 11892 // 11893 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 11894 // are turned off. 11895 SnapshotRetentionLimit *int64 `type:"integer"` 11896 11897 // The daily time range (in UTC) during which ElastiCache begins taking a daily 11898 // snapshot of the node group (shard) specified by SnapshottingClusterId. 11899 // 11900 // Example: 05:00-09:00 11901 // 11902 // If you do not specify this parameter, ElastiCache automatically chooses an 11903 // appropriate time range. 11904 SnapshotWindow *string `type:"string"` 11905 11906 // The cluster ID that is used as the daily snapshot source for the replication 11907 // group. This parameter cannot be set for Redis (cluster mode enabled) replication 11908 // groups. 11909 SnapshottingClusterId *string `type:"string"` 11910} 11911 11912// String returns the string representation 11913func (s ModifyReplicationGroupInput) String() string { 11914 return awsutil.Prettify(s) 11915} 11916 11917// GoString returns the string representation 11918func (s ModifyReplicationGroupInput) GoString() string { 11919 return s.String() 11920} 11921 11922// Validate inspects the fields of the type to determine if they are valid. 11923func (s *ModifyReplicationGroupInput) Validate() error { 11924 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupInput"} 11925 if s.ReplicationGroupId == nil { 11926 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 11927 } 11928 11929 if invalidParams.Len() > 0 { 11930 return invalidParams 11931 } 11932 return nil 11933} 11934 11935// SetApplyImmediately sets the ApplyImmediately field's value. 11936func (s *ModifyReplicationGroupInput) SetApplyImmediately(v bool) *ModifyReplicationGroupInput { 11937 s.ApplyImmediately = &v 11938 return s 11939} 11940 11941// SetAuthToken sets the AuthToken field's value. 11942func (s *ModifyReplicationGroupInput) SetAuthToken(v string) *ModifyReplicationGroupInput { 11943 s.AuthToken = &v 11944 return s 11945} 11946 11947// SetAuthTokenUpdateStrategy sets the AuthTokenUpdateStrategy field's value. 11948func (s *ModifyReplicationGroupInput) SetAuthTokenUpdateStrategy(v string) *ModifyReplicationGroupInput { 11949 s.AuthTokenUpdateStrategy = &v 11950 return s 11951} 11952 11953// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 11954func (s *ModifyReplicationGroupInput) SetAutoMinorVersionUpgrade(v bool) *ModifyReplicationGroupInput { 11955 s.AutoMinorVersionUpgrade = &v 11956 return s 11957} 11958 11959// SetAutomaticFailoverEnabled sets the AutomaticFailoverEnabled field's value. 11960func (s *ModifyReplicationGroupInput) SetAutomaticFailoverEnabled(v bool) *ModifyReplicationGroupInput { 11961 s.AutomaticFailoverEnabled = &v 11962 return s 11963} 11964 11965// SetCacheNodeType sets the CacheNodeType field's value. 11966func (s *ModifyReplicationGroupInput) SetCacheNodeType(v string) *ModifyReplicationGroupInput { 11967 s.CacheNodeType = &v 11968 return s 11969} 11970 11971// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 11972func (s *ModifyReplicationGroupInput) SetCacheParameterGroupName(v string) *ModifyReplicationGroupInput { 11973 s.CacheParameterGroupName = &v 11974 return s 11975} 11976 11977// SetCacheSecurityGroupNames sets the CacheSecurityGroupNames field's value. 11978func (s *ModifyReplicationGroupInput) SetCacheSecurityGroupNames(v []*string) *ModifyReplicationGroupInput { 11979 s.CacheSecurityGroupNames = v 11980 return s 11981} 11982 11983// SetEngineVersion sets the EngineVersion field's value. 11984func (s *ModifyReplicationGroupInput) SetEngineVersion(v string) *ModifyReplicationGroupInput { 11985 s.EngineVersion = &v 11986 return s 11987} 11988 11989// SetNodeGroupId sets the NodeGroupId field's value. 11990func (s *ModifyReplicationGroupInput) SetNodeGroupId(v string) *ModifyReplicationGroupInput { 11991 s.NodeGroupId = &v 11992 return s 11993} 11994 11995// SetNotificationTopicArn sets the NotificationTopicArn field's value. 11996func (s *ModifyReplicationGroupInput) SetNotificationTopicArn(v string) *ModifyReplicationGroupInput { 11997 s.NotificationTopicArn = &v 11998 return s 11999} 12000 12001// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. 12002func (s *ModifyReplicationGroupInput) SetNotificationTopicStatus(v string) *ModifyReplicationGroupInput { 12003 s.NotificationTopicStatus = &v 12004 return s 12005} 12006 12007// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 12008func (s *ModifyReplicationGroupInput) SetPreferredMaintenanceWindow(v string) *ModifyReplicationGroupInput { 12009 s.PreferredMaintenanceWindow = &v 12010 return s 12011} 12012 12013// SetPrimaryClusterId sets the PrimaryClusterId field's value. 12014func (s *ModifyReplicationGroupInput) SetPrimaryClusterId(v string) *ModifyReplicationGroupInput { 12015 s.PrimaryClusterId = &v 12016 return s 12017} 12018 12019// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 12020func (s *ModifyReplicationGroupInput) SetReplicationGroupDescription(v string) *ModifyReplicationGroupInput { 12021 s.ReplicationGroupDescription = &v 12022 return s 12023} 12024 12025// SetReplicationGroupId sets the ReplicationGroupId field's value. 12026func (s *ModifyReplicationGroupInput) SetReplicationGroupId(v string) *ModifyReplicationGroupInput { 12027 s.ReplicationGroupId = &v 12028 return s 12029} 12030 12031// SetSecurityGroupIds sets the SecurityGroupIds field's value. 12032func (s *ModifyReplicationGroupInput) SetSecurityGroupIds(v []*string) *ModifyReplicationGroupInput { 12033 s.SecurityGroupIds = v 12034 return s 12035} 12036 12037// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 12038func (s *ModifyReplicationGroupInput) SetSnapshotRetentionLimit(v int64) *ModifyReplicationGroupInput { 12039 s.SnapshotRetentionLimit = &v 12040 return s 12041} 12042 12043// SetSnapshotWindow sets the SnapshotWindow field's value. 12044func (s *ModifyReplicationGroupInput) SetSnapshotWindow(v string) *ModifyReplicationGroupInput { 12045 s.SnapshotWindow = &v 12046 return s 12047} 12048 12049// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 12050func (s *ModifyReplicationGroupInput) SetSnapshottingClusterId(v string) *ModifyReplicationGroupInput { 12051 s.SnapshottingClusterId = &v 12052 return s 12053} 12054 12055type ModifyReplicationGroupOutput struct { 12056 _ struct{} `type:"structure"` 12057 12058 // Contains all of the attributes of a specific Redis replication group. 12059 ReplicationGroup *ReplicationGroup `type:"structure"` 12060} 12061 12062// String returns the string representation 12063func (s ModifyReplicationGroupOutput) String() string { 12064 return awsutil.Prettify(s) 12065} 12066 12067// GoString returns the string representation 12068func (s ModifyReplicationGroupOutput) GoString() string { 12069 return s.String() 12070} 12071 12072// SetReplicationGroup sets the ReplicationGroup field's value. 12073func (s *ModifyReplicationGroupOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupOutput { 12074 s.ReplicationGroup = v 12075 return s 12076} 12077 12078// Represents the input for a ModifyReplicationGroupShardConfiguration operation. 12079type ModifyReplicationGroupShardConfigurationInput struct { 12080 _ struct{} `type:"structure"` 12081 12082 // Indicates that the shard reconfiguration process begins immediately. At present, 12083 // the only permitted value for this parameter is true. 12084 // 12085 // Value: true 12086 // 12087 // ApplyImmediately is a required field 12088 ApplyImmediately *bool `type:"boolean" required:"true"` 12089 12090 // The number of node groups (shards) that results from the modification of 12091 // the shard configuration. 12092 // 12093 // NodeGroupCount is a required field 12094 NodeGroupCount *int64 `type:"integer" required:"true"` 12095 12096 // If the value of NodeGroupCount is less than the current number of node groups 12097 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 12098 // NodeGroupsToRemove is a list of NodeGroupIds to remove from the cluster. 12099 // 12100 // ElastiCache for Redis will attempt to remove all node groups listed by NodeGroupsToRemove 12101 // from the cluster. 12102 NodeGroupsToRemove []*string `locationNameList:"NodeGroupToRemove" type:"list"` 12103 12104 // If the value of NodeGroupCount is less than the current number of node groups 12105 // (shards), then either NodeGroupsToRemove or NodeGroupsToRetain is required. 12106 // NodeGroupsToRetain is a list of NodeGroupIds to retain in the cluster. 12107 // 12108 // ElastiCache for Redis will attempt to remove all node groups except those 12109 // listed by NodeGroupsToRetain from the cluster. 12110 NodeGroupsToRetain []*string `locationNameList:"NodeGroupToRetain" type:"list"` 12111 12112 // The name of the Redis (cluster mode enabled) cluster (replication group) 12113 // on which the shards are to be configured. 12114 // 12115 // ReplicationGroupId is a required field 12116 ReplicationGroupId *string `type:"string" required:"true"` 12117 12118 // Specifies the preferred availability zones for each node group in the cluster. 12119 // If the value of NodeGroupCount is greater than the current number of node 12120 // groups (shards), you can use this parameter to specify the preferred availability 12121 // zones of the cluster's shards. If you omit this parameter ElastiCache selects 12122 // availability zones for you. 12123 // 12124 // You can specify this parameter only if the value of NodeGroupCount is greater 12125 // than the current number of node groups (shards). 12126 ReshardingConfiguration []*ReshardingConfiguration `locationNameList:"ReshardingConfiguration" type:"list"` 12127} 12128 12129// String returns the string representation 12130func (s ModifyReplicationGroupShardConfigurationInput) String() string { 12131 return awsutil.Prettify(s) 12132} 12133 12134// GoString returns the string representation 12135func (s ModifyReplicationGroupShardConfigurationInput) GoString() string { 12136 return s.String() 12137} 12138 12139// Validate inspects the fields of the type to determine if they are valid. 12140func (s *ModifyReplicationGroupShardConfigurationInput) Validate() error { 12141 invalidParams := request.ErrInvalidParams{Context: "ModifyReplicationGroupShardConfigurationInput"} 12142 if s.ApplyImmediately == nil { 12143 invalidParams.Add(request.NewErrParamRequired("ApplyImmediately")) 12144 } 12145 if s.NodeGroupCount == nil { 12146 invalidParams.Add(request.NewErrParamRequired("NodeGroupCount")) 12147 } 12148 if s.ReplicationGroupId == nil { 12149 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 12150 } 12151 if s.ReshardingConfiguration != nil { 12152 for i, v := range s.ReshardingConfiguration { 12153 if v == nil { 12154 continue 12155 } 12156 if err := v.Validate(); err != nil { 12157 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReshardingConfiguration", i), err.(request.ErrInvalidParams)) 12158 } 12159 } 12160 } 12161 12162 if invalidParams.Len() > 0 { 12163 return invalidParams 12164 } 12165 return nil 12166} 12167 12168// SetApplyImmediately sets the ApplyImmediately field's value. 12169func (s *ModifyReplicationGroupShardConfigurationInput) SetApplyImmediately(v bool) *ModifyReplicationGroupShardConfigurationInput { 12170 s.ApplyImmediately = &v 12171 return s 12172} 12173 12174// SetNodeGroupCount sets the NodeGroupCount field's value. 12175func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupCount(v int64) *ModifyReplicationGroupShardConfigurationInput { 12176 s.NodeGroupCount = &v 12177 return s 12178} 12179 12180// SetNodeGroupsToRemove sets the NodeGroupsToRemove field's value. 12181func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRemove(v []*string) *ModifyReplicationGroupShardConfigurationInput { 12182 s.NodeGroupsToRemove = v 12183 return s 12184} 12185 12186// SetNodeGroupsToRetain sets the NodeGroupsToRetain field's value. 12187func (s *ModifyReplicationGroupShardConfigurationInput) SetNodeGroupsToRetain(v []*string) *ModifyReplicationGroupShardConfigurationInput { 12188 s.NodeGroupsToRetain = v 12189 return s 12190} 12191 12192// SetReplicationGroupId sets the ReplicationGroupId field's value. 12193func (s *ModifyReplicationGroupShardConfigurationInput) SetReplicationGroupId(v string) *ModifyReplicationGroupShardConfigurationInput { 12194 s.ReplicationGroupId = &v 12195 return s 12196} 12197 12198// SetReshardingConfiguration sets the ReshardingConfiguration field's value. 12199func (s *ModifyReplicationGroupShardConfigurationInput) SetReshardingConfiguration(v []*ReshardingConfiguration) *ModifyReplicationGroupShardConfigurationInput { 12200 s.ReshardingConfiguration = v 12201 return s 12202} 12203 12204type ModifyReplicationGroupShardConfigurationOutput struct { 12205 _ struct{} `type:"structure"` 12206 12207 // Contains all of the attributes of a specific Redis replication group. 12208 ReplicationGroup *ReplicationGroup `type:"structure"` 12209} 12210 12211// String returns the string representation 12212func (s ModifyReplicationGroupShardConfigurationOutput) String() string { 12213 return awsutil.Prettify(s) 12214} 12215 12216// GoString returns the string representation 12217func (s ModifyReplicationGroupShardConfigurationOutput) GoString() string { 12218 return s.String() 12219} 12220 12221// SetReplicationGroup sets the ReplicationGroup field's value. 12222func (s *ModifyReplicationGroupShardConfigurationOutput) SetReplicationGroup(v *ReplicationGroup) *ModifyReplicationGroupShardConfigurationOutput { 12223 s.ReplicationGroup = v 12224 return s 12225} 12226 12227// Represents a collection of cache nodes in a replication group. One node in 12228// the node group is the read/write primary node. All the other nodes are read-only 12229// Replica nodes. 12230type NodeGroup struct { 12231 _ struct{} `type:"structure"` 12232 12233 // The identifier for the node group (shard). A Redis (cluster mode disabled) 12234 // replication group contains only 1 node group; therefore, the node group ID 12235 // is 0001. A Redis (cluster mode enabled) replication group contains 1 to 90 12236 // node groups numbered 0001 to 0090. Optionally, the user can provide the id 12237 // for a node group. 12238 NodeGroupId *string `type:"string"` 12239 12240 // A list containing information about individual nodes within the node group 12241 // (shard). 12242 NodeGroupMembers []*NodeGroupMember `locationNameList:"NodeGroupMember" type:"list"` 12243 12244 // The endpoint of the primary node in this node group (shard). 12245 PrimaryEndpoint *Endpoint `type:"structure"` 12246 12247 // The endpoint of the replica nodes in this node group (shard). 12248 ReaderEndpoint *Endpoint `type:"structure"` 12249 12250 // The keyspace for this node group (shard). 12251 Slots *string `type:"string"` 12252 12253 // The current state of this replication group - creating, available, etc. 12254 Status *string `type:"string"` 12255} 12256 12257// String returns the string representation 12258func (s NodeGroup) String() string { 12259 return awsutil.Prettify(s) 12260} 12261 12262// GoString returns the string representation 12263func (s NodeGroup) GoString() string { 12264 return s.String() 12265} 12266 12267// SetNodeGroupId sets the NodeGroupId field's value. 12268func (s *NodeGroup) SetNodeGroupId(v string) *NodeGroup { 12269 s.NodeGroupId = &v 12270 return s 12271} 12272 12273// SetNodeGroupMembers sets the NodeGroupMembers field's value. 12274func (s *NodeGroup) SetNodeGroupMembers(v []*NodeGroupMember) *NodeGroup { 12275 s.NodeGroupMembers = v 12276 return s 12277} 12278 12279// SetPrimaryEndpoint sets the PrimaryEndpoint field's value. 12280func (s *NodeGroup) SetPrimaryEndpoint(v *Endpoint) *NodeGroup { 12281 s.PrimaryEndpoint = v 12282 return s 12283} 12284 12285// SetReaderEndpoint sets the ReaderEndpoint field's value. 12286func (s *NodeGroup) SetReaderEndpoint(v *Endpoint) *NodeGroup { 12287 s.ReaderEndpoint = v 12288 return s 12289} 12290 12291// SetSlots sets the Slots field's value. 12292func (s *NodeGroup) SetSlots(v string) *NodeGroup { 12293 s.Slots = &v 12294 return s 12295} 12296 12297// SetStatus sets the Status field's value. 12298func (s *NodeGroup) SetStatus(v string) *NodeGroup { 12299 s.Status = &v 12300 return s 12301} 12302 12303// Node group (shard) configuration options. Each node group (shard) configuration 12304// has the following: Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones, 12305// ReplicaCount. 12306type NodeGroupConfiguration struct { 12307 _ struct{} `type:"structure"` 12308 12309 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 12310 // for the node group these configuration values apply to. 12311 NodeGroupId *string `min:"1" type:"string"` 12312 12313 // The Availability Zone where the primary node of this node group (shard) is 12314 // launched. 12315 PrimaryAvailabilityZone *string `type:"string"` 12316 12317 // A list of Availability Zones to be used for the read replicas. The number 12318 // of Availability Zones in this list must match the value of ReplicaCount or 12319 // ReplicasPerNodeGroup if not specified. 12320 ReplicaAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 12321 12322 // The number of read replica nodes in this node group (shard). 12323 ReplicaCount *int64 `type:"integer"` 12324 12325 // A string that specifies the keyspace for a particular node group. Keyspaces 12326 // range from 0 to 16,383. The string is in the format startkey-endkey. 12327 // 12328 // Example: "0-3999" 12329 Slots *string `type:"string"` 12330} 12331 12332// String returns the string representation 12333func (s NodeGroupConfiguration) String() string { 12334 return awsutil.Prettify(s) 12335} 12336 12337// GoString returns the string representation 12338func (s NodeGroupConfiguration) GoString() string { 12339 return s.String() 12340} 12341 12342// Validate inspects the fields of the type to determine if they are valid. 12343func (s *NodeGroupConfiguration) Validate() error { 12344 invalidParams := request.ErrInvalidParams{Context: "NodeGroupConfiguration"} 12345 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 12346 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 12347 } 12348 12349 if invalidParams.Len() > 0 { 12350 return invalidParams 12351 } 12352 return nil 12353} 12354 12355// SetNodeGroupId sets the NodeGroupId field's value. 12356func (s *NodeGroupConfiguration) SetNodeGroupId(v string) *NodeGroupConfiguration { 12357 s.NodeGroupId = &v 12358 return s 12359} 12360 12361// SetPrimaryAvailabilityZone sets the PrimaryAvailabilityZone field's value. 12362func (s *NodeGroupConfiguration) SetPrimaryAvailabilityZone(v string) *NodeGroupConfiguration { 12363 s.PrimaryAvailabilityZone = &v 12364 return s 12365} 12366 12367// SetReplicaAvailabilityZones sets the ReplicaAvailabilityZones field's value. 12368func (s *NodeGroupConfiguration) SetReplicaAvailabilityZones(v []*string) *NodeGroupConfiguration { 12369 s.ReplicaAvailabilityZones = v 12370 return s 12371} 12372 12373// SetReplicaCount sets the ReplicaCount field's value. 12374func (s *NodeGroupConfiguration) SetReplicaCount(v int64) *NodeGroupConfiguration { 12375 s.ReplicaCount = &v 12376 return s 12377} 12378 12379// SetSlots sets the Slots field's value. 12380func (s *NodeGroupConfiguration) SetSlots(v string) *NodeGroupConfiguration { 12381 s.Slots = &v 12382 return s 12383} 12384 12385// Represents a single node within a node group (shard). 12386type NodeGroupMember struct { 12387 _ struct{} `type:"structure"` 12388 12389 // The ID of the cluster to which the node belongs. 12390 CacheClusterId *string `type:"string"` 12391 12392 // The ID of the node within its cluster. A node ID is a numeric identifier 12393 // (0001, 0002, etc.). 12394 CacheNodeId *string `type:"string"` 12395 12396 // The role that is currently assigned to the node - primary or replica. This 12397 // member is only applicable for Redis (cluster mode disabled) replication groups. 12398 CurrentRole *string `type:"string"` 12399 12400 // The name of the Availability Zone in which the node is located. 12401 PreferredAvailabilityZone *string `type:"string"` 12402 12403 // The information required for client programs to connect to a node for read 12404 // operations. The read endpoint is only applicable on Redis (cluster mode disabled) 12405 // clusters. 12406 ReadEndpoint *Endpoint `type:"structure"` 12407} 12408 12409// String returns the string representation 12410func (s NodeGroupMember) String() string { 12411 return awsutil.Prettify(s) 12412} 12413 12414// GoString returns the string representation 12415func (s NodeGroupMember) GoString() string { 12416 return s.String() 12417} 12418 12419// SetCacheClusterId sets the CacheClusterId field's value. 12420func (s *NodeGroupMember) SetCacheClusterId(v string) *NodeGroupMember { 12421 s.CacheClusterId = &v 12422 return s 12423} 12424 12425// SetCacheNodeId sets the CacheNodeId field's value. 12426func (s *NodeGroupMember) SetCacheNodeId(v string) *NodeGroupMember { 12427 s.CacheNodeId = &v 12428 return s 12429} 12430 12431// SetCurrentRole sets the CurrentRole field's value. 12432func (s *NodeGroupMember) SetCurrentRole(v string) *NodeGroupMember { 12433 s.CurrentRole = &v 12434 return s 12435} 12436 12437// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 12438func (s *NodeGroupMember) SetPreferredAvailabilityZone(v string) *NodeGroupMember { 12439 s.PreferredAvailabilityZone = &v 12440 return s 12441} 12442 12443// SetReadEndpoint sets the ReadEndpoint field's value. 12444func (s *NodeGroupMember) SetReadEndpoint(v *Endpoint) *NodeGroupMember { 12445 s.ReadEndpoint = v 12446 return s 12447} 12448 12449// The status of the service update on the node group member 12450type NodeGroupMemberUpdateStatus struct { 12451 _ struct{} `type:"structure"` 12452 12453 // The cache cluster ID 12454 CacheClusterId *string `type:"string"` 12455 12456 // The node ID of the cache cluster 12457 CacheNodeId *string `type:"string"` 12458 12459 // The deletion date of the node 12460 NodeDeletionDate *time.Time `type:"timestamp"` 12461 12462 // The end date of the update for a node 12463 NodeUpdateEndDate *time.Time `type:"timestamp"` 12464 12465 // Reflects whether the update was initiated by the customer or automatically 12466 // applied 12467 NodeUpdateInitiatedBy *string `type:"string" enum:"NodeUpdateInitiatedBy"` 12468 12469 // The date when the update is triggered 12470 NodeUpdateInitiatedDate *time.Time `type:"timestamp"` 12471 12472 // The start date of the update for a node 12473 NodeUpdateStartDate *time.Time `type:"timestamp"` 12474 12475 // The update status of the node 12476 NodeUpdateStatus *string `type:"string" enum:"NodeUpdateStatus"` 12477 12478 // The date when the NodeUpdateStatus was last modified 12479 NodeUpdateStatusModifiedDate *time.Time `type:"timestamp"` 12480} 12481 12482// String returns the string representation 12483func (s NodeGroupMemberUpdateStatus) String() string { 12484 return awsutil.Prettify(s) 12485} 12486 12487// GoString returns the string representation 12488func (s NodeGroupMemberUpdateStatus) GoString() string { 12489 return s.String() 12490} 12491 12492// SetCacheClusterId sets the CacheClusterId field's value. 12493func (s *NodeGroupMemberUpdateStatus) SetCacheClusterId(v string) *NodeGroupMemberUpdateStatus { 12494 s.CacheClusterId = &v 12495 return s 12496} 12497 12498// SetCacheNodeId sets the CacheNodeId field's value. 12499func (s *NodeGroupMemberUpdateStatus) SetCacheNodeId(v string) *NodeGroupMemberUpdateStatus { 12500 s.CacheNodeId = &v 12501 return s 12502} 12503 12504// SetNodeDeletionDate sets the NodeDeletionDate field's value. 12505func (s *NodeGroupMemberUpdateStatus) SetNodeDeletionDate(v time.Time) *NodeGroupMemberUpdateStatus { 12506 s.NodeDeletionDate = &v 12507 return s 12508} 12509 12510// SetNodeUpdateEndDate sets the NodeUpdateEndDate field's value. 12511func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateEndDate(v time.Time) *NodeGroupMemberUpdateStatus { 12512 s.NodeUpdateEndDate = &v 12513 return s 12514} 12515 12516// SetNodeUpdateInitiatedBy sets the NodeUpdateInitiatedBy field's value. 12517func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedBy(v string) *NodeGroupMemberUpdateStatus { 12518 s.NodeUpdateInitiatedBy = &v 12519 return s 12520} 12521 12522// SetNodeUpdateInitiatedDate sets the NodeUpdateInitiatedDate field's value. 12523func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateInitiatedDate(v time.Time) *NodeGroupMemberUpdateStatus { 12524 s.NodeUpdateInitiatedDate = &v 12525 return s 12526} 12527 12528// SetNodeUpdateStartDate sets the NodeUpdateStartDate field's value. 12529func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStartDate(v time.Time) *NodeGroupMemberUpdateStatus { 12530 s.NodeUpdateStartDate = &v 12531 return s 12532} 12533 12534// SetNodeUpdateStatus sets the NodeUpdateStatus field's value. 12535func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatus(v string) *NodeGroupMemberUpdateStatus { 12536 s.NodeUpdateStatus = &v 12537 return s 12538} 12539 12540// SetNodeUpdateStatusModifiedDate sets the NodeUpdateStatusModifiedDate field's value. 12541func (s *NodeGroupMemberUpdateStatus) SetNodeUpdateStatusModifiedDate(v time.Time) *NodeGroupMemberUpdateStatus { 12542 s.NodeUpdateStatusModifiedDate = &v 12543 return s 12544} 12545 12546// The status of the service update on the node group 12547type NodeGroupUpdateStatus struct { 12548 _ struct{} `type:"structure"` 12549 12550 // The ID of the node group 12551 NodeGroupId *string `type:"string"` 12552 12553 // The status of the service update on the node group member 12554 NodeGroupMemberUpdateStatus []*NodeGroupMemberUpdateStatus `locationNameList:"NodeGroupMemberUpdateStatus" type:"list"` 12555} 12556 12557// String returns the string representation 12558func (s NodeGroupUpdateStatus) String() string { 12559 return awsutil.Prettify(s) 12560} 12561 12562// GoString returns the string representation 12563func (s NodeGroupUpdateStatus) GoString() string { 12564 return s.String() 12565} 12566 12567// SetNodeGroupId sets the NodeGroupId field's value. 12568func (s *NodeGroupUpdateStatus) SetNodeGroupId(v string) *NodeGroupUpdateStatus { 12569 s.NodeGroupId = &v 12570 return s 12571} 12572 12573// SetNodeGroupMemberUpdateStatus sets the NodeGroupMemberUpdateStatus field's value. 12574func (s *NodeGroupUpdateStatus) SetNodeGroupMemberUpdateStatus(v []*NodeGroupMemberUpdateStatus) *NodeGroupUpdateStatus { 12575 s.NodeGroupMemberUpdateStatus = v 12576 return s 12577} 12578 12579// Represents an individual cache node in a snapshot of a cluster. 12580type NodeSnapshot struct { 12581 _ struct{} `type:"structure"` 12582 12583 // A unique identifier for the source cluster. 12584 CacheClusterId *string `type:"string"` 12585 12586 // The date and time when the cache node was created in the source cluster. 12587 CacheNodeCreateTime *time.Time `type:"timestamp"` 12588 12589 // The cache node identifier for the node in the source cluster. 12590 CacheNodeId *string `type:"string"` 12591 12592 // The size of the cache on the source cache node. 12593 CacheSize *string `type:"string"` 12594 12595 // The configuration for the source node group (shard). 12596 NodeGroupConfiguration *NodeGroupConfiguration `type:"structure"` 12597 12598 // A unique identifier for the source node group (shard). 12599 NodeGroupId *string `type:"string"` 12600 12601 // The date and time when the source node's metadata and cache data set was 12602 // obtained for the snapshot. 12603 SnapshotCreateTime *time.Time `type:"timestamp"` 12604} 12605 12606// String returns the string representation 12607func (s NodeSnapshot) String() string { 12608 return awsutil.Prettify(s) 12609} 12610 12611// GoString returns the string representation 12612func (s NodeSnapshot) GoString() string { 12613 return s.String() 12614} 12615 12616// SetCacheClusterId sets the CacheClusterId field's value. 12617func (s *NodeSnapshot) SetCacheClusterId(v string) *NodeSnapshot { 12618 s.CacheClusterId = &v 12619 return s 12620} 12621 12622// SetCacheNodeCreateTime sets the CacheNodeCreateTime field's value. 12623func (s *NodeSnapshot) SetCacheNodeCreateTime(v time.Time) *NodeSnapshot { 12624 s.CacheNodeCreateTime = &v 12625 return s 12626} 12627 12628// SetCacheNodeId sets the CacheNodeId field's value. 12629func (s *NodeSnapshot) SetCacheNodeId(v string) *NodeSnapshot { 12630 s.CacheNodeId = &v 12631 return s 12632} 12633 12634// SetCacheSize sets the CacheSize field's value. 12635func (s *NodeSnapshot) SetCacheSize(v string) *NodeSnapshot { 12636 s.CacheSize = &v 12637 return s 12638} 12639 12640// SetNodeGroupConfiguration sets the NodeGroupConfiguration field's value. 12641func (s *NodeSnapshot) SetNodeGroupConfiguration(v *NodeGroupConfiguration) *NodeSnapshot { 12642 s.NodeGroupConfiguration = v 12643 return s 12644} 12645 12646// SetNodeGroupId sets the NodeGroupId field's value. 12647func (s *NodeSnapshot) SetNodeGroupId(v string) *NodeSnapshot { 12648 s.NodeGroupId = &v 12649 return s 12650} 12651 12652// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. 12653func (s *NodeSnapshot) SetSnapshotCreateTime(v time.Time) *NodeSnapshot { 12654 s.SnapshotCreateTime = &v 12655 return s 12656} 12657 12658// Describes a notification topic and its status. Notification topics are used 12659// for publishing ElastiCache events to subscribers using Amazon Simple Notification 12660// Service (SNS). 12661type NotificationConfiguration struct { 12662 _ struct{} `type:"structure"` 12663 12664 // The Amazon Resource Name (ARN) that identifies the topic. 12665 TopicArn *string `type:"string"` 12666 12667 // The current state of the topic. 12668 TopicStatus *string `type:"string"` 12669} 12670 12671// String returns the string representation 12672func (s NotificationConfiguration) String() string { 12673 return awsutil.Prettify(s) 12674} 12675 12676// GoString returns the string representation 12677func (s NotificationConfiguration) GoString() string { 12678 return s.String() 12679} 12680 12681// SetTopicArn sets the TopicArn field's value. 12682func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { 12683 s.TopicArn = &v 12684 return s 12685} 12686 12687// SetTopicStatus sets the TopicStatus field's value. 12688func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { 12689 s.TopicStatus = &v 12690 return s 12691} 12692 12693// Describes an individual setting that controls some aspect of ElastiCache 12694// behavior. 12695type Parameter struct { 12696 _ struct{} `type:"structure"` 12697 12698 // The valid range of values for the parameter. 12699 AllowedValues *string `type:"string"` 12700 12701 // Indicates whether a change to the parameter is applied immediately or requires 12702 // a reboot for the change to be applied. You can force a reboot or wait until 12703 // the next maintenance window's reboot. For more information, see Rebooting 12704 // a Cluster (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Clusters.Rebooting.html). 12705 ChangeType *string `type:"string" enum:"ChangeType"` 12706 12707 // The valid data type for the parameter. 12708 DataType *string `type:"string"` 12709 12710 // A description of the parameter. 12711 Description *string `type:"string"` 12712 12713 // Indicates whether (true) or not (false) the parameter can be modified. Some 12714 // parameters have security or operational implications that prevent them from 12715 // being changed. 12716 IsModifiable *bool `type:"boolean"` 12717 12718 // The earliest cache engine version to which the parameter can apply. 12719 MinimumEngineVersion *string `type:"string"` 12720 12721 // The name of the parameter. 12722 ParameterName *string `type:"string"` 12723 12724 // The value of the parameter. 12725 ParameterValue *string `type:"string"` 12726 12727 // The source of the parameter. 12728 Source *string `type:"string"` 12729} 12730 12731// String returns the string representation 12732func (s Parameter) String() string { 12733 return awsutil.Prettify(s) 12734} 12735 12736// GoString returns the string representation 12737func (s Parameter) GoString() string { 12738 return s.String() 12739} 12740 12741// SetAllowedValues sets the AllowedValues field's value. 12742func (s *Parameter) SetAllowedValues(v string) *Parameter { 12743 s.AllowedValues = &v 12744 return s 12745} 12746 12747// SetChangeType sets the ChangeType field's value. 12748func (s *Parameter) SetChangeType(v string) *Parameter { 12749 s.ChangeType = &v 12750 return s 12751} 12752 12753// SetDataType sets the DataType field's value. 12754func (s *Parameter) SetDataType(v string) *Parameter { 12755 s.DataType = &v 12756 return s 12757} 12758 12759// SetDescription sets the Description field's value. 12760func (s *Parameter) SetDescription(v string) *Parameter { 12761 s.Description = &v 12762 return s 12763} 12764 12765// SetIsModifiable sets the IsModifiable field's value. 12766func (s *Parameter) SetIsModifiable(v bool) *Parameter { 12767 s.IsModifiable = &v 12768 return s 12769} 12770 12771// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. 12772func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { 12773 s.MinimumEngineVersion = &v 12774 return s 12775} 12776 12777// SetParameterName sets the ParameterName field's value. 12778func (s *Parameter) SetParameterName(v string) *Parameter { 12779 s.ParameterName = &v 12780 return s 12781} 12782 12783// SetParameterValue sets the ParameterValue field's value. 12784func (s *Parameter) SetParameterValue(v string) *Parameter { 12785 s.ParameterValue = &v 12786 return s 12787} 12788 12789// SetSource sets the Source field's value. 12790func (s *Parameter) SetSource(v string) *Parameter { 12791 s.Source = &v 12792 return s 12793} 12794 12795// Describes a name-value pair that is used to update the value of a parameter. 12796type ParameterNameValue struct { 12797 _ struct{} `type:"structure"` 12798 12799 // The name of the parameter. 12800 ParameterName *string `type:"string"` 12801 12802 // The value of the parameter. 12803 ParameterValue *string `type:"string"` 12804} 12805 12806// String returns the string representation 12807func (s ParameterNameValue) String() string { 12808 return awsutil.Prettify(s) 12809} 12810 12811// GoString returns the string representation 12812func (s ParameterNameValue) GoString() string { 12813 return s.String() 12814} 12815 12816// SetParameterName sets the ParameterName field's value. 12817func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { 12818 s.ParameterName = &v 12819 return s 12820} 12821 12822// SetParameterValue sets the ParameterValue field's value. 12823func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { 12824 s.ParameterValue = &v 12825 return s 12826} 12827 12828// A group of settings that are applied to the cluster in the future, or that 12829// are currently being applied. 12830type PendingModifiedValues struct { 12831 _ struct{} `type:"structure"` 12832 12833 // The auth token status 12834 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 12835 12836 // A list of cache node IDs that are being removed (or will be removed) from 12837 // the cluster. A node ID is a 4-digit numeric identifier (0001, 0002, etc.). 12838 CacheNodeIdsToRemove []*string `locationNameList:"CacheNodeId" type:"list"` 12839 12840 // The cache node type that this cluster or replication group is scaled to. 12841 CacheNodeType *string `type:"string"` 12842 12843 // The new cache engine version that the cluster runs. 12844 EngineVersion *string `type:"string"` 12845 12846 // The new number of cache nodes for the cluster. 12847 // 12848 // For clusters running Redis, this value must be 1. For clusters running Memcached, 12849 // this value must be between 1 and 20. 12850 NumCacheNodes *int64 `type:"integer"` 12851} 12852 12853// String returns the string representation 12854func (s PendingModifiedValues) String() string { 12855 return awsutil.Prettify(s) 12856} 12857 12858// GoString returns the string representation 12859func (s PendingModifiedValues) GoString() string { 12860 return s.String() 12861} 12862 12863// SetAuthTokenStatus sets the AuthTokenStatus field's value. 12864func (s *PendingModifiedValues) SetAuthTokenStatus(v string) *PendingModifiedValues { 12865 s.AuthTokenStatus = &v 12866 return s 12867} 12868 12869// SetCacheNodeIdsToRemove sets the CacheNodeIdsToRemove field's value. 12870func (s *PendingModifiedValues) SetCacheNodeIdsToRemove(v []*string) *PendingModifiedValues { 12871 s.CacheNodeIdsToRemove = v 12872 return s 12873} 12874 12875// SetCacheNodeType sets the CacheNodeType field's value. 12876func (s *PendingModifiedValues) SetCacheNodeType(v string) *PendingModifiedValues { 12877 s.CacheNodeType = &v 12878 return s 12879} 12880 12881// SetEngineVersion sets the EngineVersion field's value. 12882func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues { 12883 s.EngineVersion = &v 12884 return s 12885} 12886 12887// SetNumCacheNodes sets the NumCacheNodes field's value. 12888func (s *PendingModifiedValues) SetNumCacheNodes(v int64) *PendingModifiedValues { 12889 s.NumCacheNodes = &v 12890 return s 12891} 12892 12893// Update action that has been processed for the corresponding apply/stop request 12894type ProcessedUpdateAction struct { 12895 _ struct{} `type:"structure"` 12896 12897 // The ID of the cache cluster 12898 CacheClusterId *string `type:"string"` 12899 12900 // The ID of the replication group 12901 ReplicationGroupId *string `type:"string"` 12902 12903 // The unique ID of the service update 12904 ServiceUpdateName *string `type:"string"` 12905 12906 // The status of the update action on the Redis cluster 12907 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 12908} 12909 12910// String returns the string representation 12911func (s ProcessedUpdateAction) String() string { 12912 return awsutil.Prettify(s) 12913} 12914 12915// GoString returns the string representation 12916func (s ProcessedUpdateAction) GoString() string { 12917 return s.String() 12918} 12919 12920// SetCacheClusterId sets the CacheClusterId field's value. 12921func (s *ProcessedUpdateAction) SetCacheClusterId(v string) *ProcessedUpdateAction { 12922 s.CacheClusterId = &v 12923 return s 12924} 12925 12926// SetReplicationGroupId sets the ReplicationGroupId field's value. 12927func (s *ProcessedUpdateAction) SetReplicationGroupId(v string) *ProcessedUpdateAction { 12928 s.ReplicationGroupId = &v 12929 return s 12930} 12931 12932// SetServiceUpdateName sets the ServiceUpdateName field's value. 12933func (s *ProcessedUpdateAction) SetServiceUpdateName(v string) *ProcessedUpdateAction { 12934 s.ServiceUpdateName = &v 12935 return s 12936} 12937 12938// SetUpdateActionStatus sets the UpdateActionStatus field's value. 12939func (s *ProcessedUpdateAction) SetUpdateActionStatus(v string) *ProcessedUpdateAction { 12940 s.UpdateActionStatus = &v 12941 return s 12942} 12943 12944// Represents the input of a PurchaseReservedCacheNodesOffering operation. 12945type PurchaseReservedCacheNodesOfferingInput struct { 12946 _ struct{} `type:"structure"` 12947 12948 // The number of cache node instances to reserve. 12949 // 12950 // Default: 1 12951 CacheNodeCount *int64 `type:"integer"` 12952 12953 // A customer-specified identifier to track this reservation. 12954 // 12955 // The Reserved Cache Node ID is an unique customer-specified identifier to 12956 // track this reservation. If this parameter is not specified, ElastiCache automatically 12957 // generates an identifier for the reservation. 12958 // 12959 // Example: myreservationID 12960 ReservedCacheNodeId *string `type:"string"` 12961 12962 // The ID of the reserved cache node offering to purchase. 12963 // 12964 // Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706 12965 // 12966 // ReservedCacheNodesOfferingId is a required field 12967 ReservedCacheNodesOfferingId *string `type:"string" required:"true"` 12968} 12969 12970// String returns the string representation 12971func (s PurchaseReservedCacheNodesOfferingInput) String() string { 12972 return awsutil.Prettify(s) 12973} 12974 12975// GoString returns the string representation 12976func (s PurchaseReservedCacheNodesOfferingInput) GoString() string { 12977 return s.String() 12978} 12979 12980// Validate inspects the fields of the type to determine if they are valid. 12981func (s *PurchaseReservedCacheNodesOfferingInput) Validate() error { 12982 invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedCacheNodesOfferingInput"} 12983 if s.ReservedCacheNodesOfferingId == nil { 12984 invalidParams.Add(request.NewErrParamRequired("ReservedCacheNodesOfferingId")) 12985 } 12986 12987 if invalidParams.Len() > 0 { 12988 return invalidParams 12989 } 12990 return nil 12991} 12992 12993// SetCacheNodeCount sets the CacheNodeCount field's value. 12994func (s *PurchaseReservedCacheNodesOfferingInput) SetCacheNodeCount(v int64) *PurchaseReservedCacheNodesOfferingInput { 12995 s.CacheNodeCount = &v 12996 return s 12997} 12998 12999// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 13000func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodeId(v string) *PurchaseReservedCacheNodesOfferingInput { 13001 s.ReservedCacheNodeId = &v 13002 return s 13003} 13004 13005// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13006func (s *PurchaseReservedCacheNodesOfferingInput) SetReservedCacheNodesOfferingId(v string) *PurchaseReservedCacheNodesOfferingInput { 13007 s.ReservedCacheNodesOfferingId = &v 13008 return s 13009} 13010 13011type PurchaseReservedCacheNodesOfferingOutput struct { 13012 _ struct{} `type:"structure"` 13013 13014 // Represents the output of a PurchaseReservedCacheNodesOffering operation. 13015 ReservedCacheNode *ReservedCacheNode `type:"structure"` 13016} 13017 13018// String returns the string representation 13019func (s PurchaseReservedCacheNodesOfferingOutput) String() string { 13020 return awsutil.Prettify(s) 13021} 13022 13023// GoString returns the string representation 13024func (s PurchaseReservedCacheNodesOfferingOutput) GoString() string { 13025 return s.String() 13026} 13027 13028// SetReservedCacheNode sets the ReservedCacheNode field's value. 13029func (s *PurchaseReservedCacheNodesOfferingOutput) SetReservedCacheNode(v *ReservedCacheNode) *PurchaseReservedCacheNodesOfferingOutput { 13030 s.ReservedCacheNode = v 13031 return s 13032} 13033 13034// Represents the input of a RebootCacheCluster operation. 13035type RebootCacheClusterInput struct { 13036 _ struct{} `type:"structure"` 13037 13038 // The cluster identifier. This parameter is stored as a lowercase string. 13039 // 13040 // CacheClusterId is a required field 13041 CacheClusterId *string `type:"string" required:"true"` 13042 13043 // A list of cache node IDs to reboot. A node ID is a numeric identifier (0001, 13044 // 0002, etc.). To reboot an entire cluster, specify all of the cache node IDs. 13045 // 13046 // CacheNodeIdsToReboot is a required field 13047 CacheNodeIdsToReboot []*string `locationNameList:"CacheNodeId" type:"list" required:"true"` 13048} 13049 13050// String returns the string representation 13051func (s RebootCacheClusterInput) String() string { 13052 return awsutil.Prettify(s) 13053} 13054 13055// GoString returns the string representation 13056func (s RebootCacheClusterInput) GoString() string { 13057 return s.String() 13058} 13059 13060// Validate inspects the fields of the type to determine if they are valid. 13061func (s *RebootCacheClusterInput) Validate() error { 13062 invalidParams := request.ErrInvalidParams{Context: "RebootCacheClusterInput"} 13063 if s.CacheClusterId == nil { 13064 invalidParams.Add(request.NewErrParamRequired("CacheClusterId")) 13065 } 13066 if s.CacheNodeIdsToReboot == nil { 13067 invalidParams.Add(request.NewErrParamRequired("CacheNodeIdsToReboot")) 13068 } 13069 13070 if invalidParams.Len() > 0 { 13071 return invalidParams 13072 } 13073 return nil 13074} 13075 13076// SetCacheClusterId sets the CacheClusterId field's value. 13077func (s *RebootCacheClusterInput) SetCacheClusterId(v string) *RebootCacheClusterInput { 13078 s.CacheClusterId = &v 13079 return s 13080} 13081 13082// SetCacheNodeIdsToReboot sets the CacheNodeIdsToReboot field's value. 13083func (s *RebootCacheClusterInput) SetCacheNodeIdsToReboot(v []*string) *RebootCacheClusterInput { 13084 s.CacheNodeIdsToReboot = v 13085 return s 13086} 13087 13088type RebootCacheClusterOutput struct { 13089 _ struct{} `type:"structure"` 13090 13091 // Contains all of the attributes of a specific cluster. 13092 CacheCluster *CacheCluster `type:"structure"` 13093} 13094 13095// String returns the string representation 13096func (s RebootCacheClusterOutput) String() string { 13097 return awsutil.Prettify(s) 13098} 13099 13100// GoString returns the string representation 13101func (s RebootCacheClusterOutput) GoString() string { 13102 return s.String() 13103} 13104 13105// SetCacheCluster sets the CacheCluster field's value. 13106func (s *RebootCacheClusterOutput) SetCacheCluster(v *CacheCluster) *RebootCacheClusterOutput { 13107 s.CacheCluster = v 13108 return s 13109} 13110 13111// Contains the specific price and frequency of a recurring charges for a reserved 13112// cache node, or for a reserved cache node offering. 13113type RecurringCharge struct { 13114 _ struct{} `type:"structure"` 13115 13116 // The monetary amount of the recurring charge. 13117 RecurringChargeAmount *float64 `type:"double"` 13118 13119 // The frequency of the recurring charge. 13120 RecurringChargeFrequency *string `type:"string"` 13121} 13122 13123// String returns the string representation 13124func (s RecurringCharge) String() string { 13125 return awsutil.Prettify(s) 13126} 13127 13128// GoString returns the string representation 13129func (s RecurringCharge) GoString() string { 13130 return s.String() 13131} 13132 13133// SetRecurringChargeAmount sets the RecurringChargeAmount field's value. 13134func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge { 13135 s.RecurringChargeAmount = &v 13136 return s 13137} 13138 13139// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value. 13140func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge { 13141 s.RecurringChargeFrequency = &v 13142 return s 13143} 13144 13145// Represents the input of a RemoveTagsFromResource operation. 13146type RemoveTagsFromResourceInput struct { 13147 _ struct{} `type:"structure"` 13148 13149 // The Amazon Resource Name (ARN) of the resource from which you want the tags 13150 // removed, for example arn:aws:elasticache:us-west-2:0123456789:cluster:myCluster 13151 // or arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot. 13152 // 13153 // For more information about ARNs, see Amazon Resource Names (ARNs) and AWS 13154 // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). 13155 // 13156 // ResourceName is a required field 13157 ResourceName *string `type:"string" required:"true"` 13158 13159 // A list of TagKeys identifying the tags you want removed from the named resource. 13160 // 13161 // TagKeys is a required field 13162 TagKeys []*string `type:"list" required:"true"` 13163} 13164 13165// String returns the string representation 13166func (s RemoveTagsFromResourceInput) String() string { 13167 return awsutil.Prettify(s) 13168} 13169 13170// GoString returns the string representation 13171func (s RemoveTagsFromResourceInput) GoString() string { 13172 return s.String() 13173} 13174 13175// Validate inspects the fields of the type to determine if they are valid. 13176func (s *RemoveTagsFromResourceInput) Validate() error { 13177 invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"} 13178 if s.ResourceName == nil { 13179 invalidParams.Add(request.NewErrParamRequired("ResourceName")) 13180 } 13181 if s.TagKeys == nil { 13182 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 13183 } 13184 13185 if invalidParams.Len() > 0 { 13186 return invalidParams 13187 } 13188 return nil 13189} 13190 13191// SetResourceName sets the ResourceName field's value. 13192func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput { 13193 s.ResourceName = &v 13194 return s 13195} 13196 13197// SetTagKeys sets the TagKeys field's value. 13198func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput { 13199 s.TagKeys = v 13200 return s 13201} 13202 13203// Contains all of the attributes of a specific Redis replication group. 13204type ReplicationGroup struct { 13205 _ struct{} `type:"structure"` 13206 13207 // A flag that enables encryption at-rest when set to true. 13208 // 13209 // You cannot modify the value of AtRestEncryptionEnabled after the cluster 13210 // is created. To enable encryption at-rest on a cluster you must set AtRestEncryptionEnabled 13211 // to true when you create a cluster. 13212 // 13213 // Required: Only available when creating a replication group in an Amazon VPC 13214 // using redis version 3.2.6, 4.x or later. 13215 // 13216 // Default: false 13217 AtRestEncryptionEnabled *bool `type:"boolean"` 13218 13219 // A flag that enables using an AuthToken (password) when issuing Redis commands. 13220 // 13221 // Default: false 13222 AuthTokenEnabled *bool `type:"boolean"` 13223 13224 // The date the auth token was last modified 13225 AuthTokenLastModifiedDate *time.Time `type:"timestamp"` 13226 13227 // Indicates the status of Multi-AZ with automatic failover for this Redis replication 13228 // group. 13229 // 13230 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 13231 // on: 13232 // 13233 // * Redis versions earlier than 2.8.6. 13234 // 13235 // * Redis (cluster mode disabled): T1 node types. 13236 // 13237 // * Redis (cluster mode enabled): T1 node types. 13238 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 13239 13240 // The name of the compute and memory capacity node type for each node in the 13241 // replication group. 13242 CacheNodeType *string `type:"string"` 13243 13244 // A flag indicating whether or not this replication group is cluster enabled; 13245 // i.e., whether its data can be partitioned across multiple shards (API/CLI: 13246 // node groups). 13247 // 13248 // Valid values: true | false 13249 ClusterEnabled *bool `type:"boolean"` 13250 13251 // The configuration endpoint for this replication group. Use the configuration 13252 // endpoint to connect to this replication group. 13253 ConfigurationEndpoint *Endpoint `type:"structure"` 13254 13255 // The user supplied description of the replication group. 13256 Description *string `type:"string"` 13257 13258 // The ID of the KMS key used to encrypt the disk in the cluster. 13259 KmsKeyId *string `type:"string"` 13260 13261 // The names of all the cache clusters that are part of this replication group. 13262 MemberClusters []*string `locationNameList:"ClusterId" type:"list"` 13263 13264 // A list of node groups in this replication group. For Redis (cluster mode 13265 // disabled) replication groups, this is a single-element list. For Redis (cluster 13266 // mode enabled) replication groups, the list contains an entry for each node 13267 // group (shard). 13268 NodeGroups []*NodeGroup `locationNameList:"NodeGroup" type:"list"` 13269 13270 // A group of settings to be applied to the replication group, either immediately 13271 // or during the next maintenance window. 13272 PendingModifiedValues *ReplicationGroupPendingModifiedValues `type:"structure"` 13273 13274 // The identifier for the replication group. 13275 ReplicationGroupId *string `type:"string"` 13276 13277 // The number of days for which ElastiCache retains automatic cluster snapshots 13278 // before deleting them. For example, if you set SnapshotRetentionLimit to 5, 13279 // a snapshot that was taken today is retained for 5 days before being deleted. 13280 // 13281 // If the value of SnapshotRetentionLimit is set to zero (0), backups are turned 13282 // off. 13283 SnapshotRetentionLimit *int64 `type:"integer"` 13284 13285 // The daily time range (in UTC) during which ElastiCache begins taking a daily 13286 // snapshot of your node group (shard). 13287 // 13288 // Example: 05:00-09:00 13289 // 13290 // If you do not specify this parameter, ElastiCache automatically chooses an 13291 // appropriate time range. 13292 // 13293 // This parameter is only valid if the Engine parameter is redis. 13294 SnapshotWindow *string `type:"string"` 13295 13296 // The cluster ID that is used as the daily snapshot source for the replication 13297 // group. 13298 SnapshottingClusterId *string `type:"string"` 13299 13300 // The current state of this replication group - creating, available, modifying, 13301 // deleting, create-failed, snapshotting. 13302 Status *string `type:"string"` 13303 13304 // A flag that enables in-transit encryption when set to true. 13305 // 13306 // You cannot modify the value of TransitEncryptionEnabled after the cluster 13307 // is created. To enable in-transit encryption on a cluster you must set TransitEncryptionEnabled 13308 // to true when you create a cluster. 13309 // 13310 // Required: Only available when creating a replication group in an Amazon VPC 13311 // using redis version 3.2.6, 4.x or later. 13312 // 13313 // Default: false 13314 TransitEncryptionEnabled *bool `type:"boolean"` 13315} 13316 13317// String returns the string representation 13318func (s ReplicationGroup) String() string { 13319 return awsutil.Prettify(s) 13320} 13321 13322// GoString returns the string representation 13323func (s ReplicationGroup) GoString() string { 13324 return s.String() 13325} 13326 13327// SetAtRestEncryptionEnabled sets the AtRestEncryptionEnabled field's value. 13328func (s *ReplicationGroup) SetAtRestEncryptionEnabled(v bool) *ReplicationGroup { 13329 s.AtRestEncryptionEnabled = &v 13330 return s 13331} 13332 13333// SetAuthTokenEnabled sets the AuthTokenEnabled field's value. 13334func (s *ReplicationGroup) SetAuthTokenEnabled(v bool) *ReplicationGroup { 13335 s.AuthTokenEnabled = &v 13336 return s 13337} 13338 13339// SetAuthTokenLastModifiedDate sets the AuthTokenLastModifiedDate field's value. 13340func (s *ReplicationGroup) SetAuthTokenLastModifiedDate(v time.Time) *ReplicationGroup { 13341 s.AuthTokenLastModifiedDate = &v 13342 return s 13343} 13344 13345// SetAutomaticFailover sets the AutomaticFailover field's value. 13346func (s *ReplicationGroup) SetAutomaticFailover(v string) *ReplicationGroup { 13347 s.AutomaticFailover = &v 13348 return s 13349} 13350 13351// SetCacheNodeType sets the CacheNodeType field's value. 13352func (s *ReplicationGroup) SetCacheNodeType(v string) *ReplicationGroup { 13353 s.CacheNodeType = &v 13354 return s 13355} 13356 13357// SetClusterEnabled sets the ClusterEnabled field's value. 13358func (s *ReplicationGroup) SetClusterEnabled(v bool) *ReplicationGroup { 13359 s.ClusterEnabled = &v 13360 return s 13361} 13362 13363// SetConfigurationEndpoint sets the ConfigurationEndpoint field's value. 13364func (s *ReplicationGroup) SetConfigurationEndpoint(v *Endpoint) *ReplicationGroup { 13365 s.ConfigurationEndpoint = v 13366 return s 13367} 13368 13369// SetDescription sets the Description field's value. 13370func (s *ReplicationGroup) SetDescription(v string) *ReplicationGroup { 13371 s.Description = &v 13372 return s 13373} 13374 13375// SetKmsKeyId sets the KmsKeyId field's value. 13376func (s *ReplicationGroup) SetKmsKeyId(v string) *ReplicationGroup { 13377 s.KmsKeyId = &v 13378 return s 13379} 13380 13381// SetMemberClusters sets the MemberClusters field's value. 13382func (s *ReplicationGroup) SetMemberClusters(v []*string) *ReplicationGroup { 13383 s.MemberClusters = v 13384 return s 13385} 13386 13387// SetNodeGroups sets the NodeGroups field's value. 13388func (s *ReplicationGroup) SetNodeGroups(v []*NodeGroup) *ReplicationGroup { 13389 s.NodeGroups = v 13390 return s 13391} 13392 13393// SetPendingModifiedValues sets the PendingModifiedValues field's value. 13394func (s *ReplicationGroup) SetPendingModifiedValues(v *ReplicationGroupPendingModifiedValues) *ReplicationGroup { 13395 s.PendingModifiedValues = v 13396 return s 13397} 13398 13399// SetReplicationGroupId sets the ReplicationGroupId field's value. 13400func (s *ReplicationGroup) SetReplicationGroupId(v string) *ReplicationGroup { 13401 s.ReplicationGroupId = &v 13402 return s 13403} 13404 13405// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 13406func (s *ReplicationGroup) SetSnapshotRetentionLimit(v int64) *ReplicationGroup { 13407 s.SnapshotRetentionLimit = &v 13408 return s 13409} 13410 13411// SetSnapshotWindow sets the SnapshotWindow field's value. 13412func (s *ReplicationGroup) SetSnapshotWindow(v string) *ReplicationGroup { 13413 s.SnapshotWindow = &v 13414 return s 13415} 13416 13417// SetSnapshottingClusterId sets the SnapshottingClusterId field's value. 13418func (s *ReplicationGroup) SetSnapshottingClusterId(v string) *ReplicationGroup { 13419 s.SnapshottingClusterId = &v 13420 return s 13421} 13422 13423// SetStatus sets the Status field's value. 13424func (s *ReplicationGroup) SetStatus(v string) *ReplicationGroup { 13425 s.Status = &v 13426 return s 13427} 13428 13429// SetTransitEncryptionEnabled sets the TransitEncryptionEnabled field's value. 13430func (s *ReplicationGroup) SetTransitEncryptionEnabled(v bool) *ReplicationGroup { 13431 s.TransitEncryptionEnabled = &v 13432 return s 13433} 13434 13435// The settings to be applied to the Redis replication group, either immediately 13436// or during the next maintenance window. 13437type ReplicationGroupPendingModifiedValues struct { 13438 _ struct{} `type:"structure"` 13439 13440 // The auth token status 13441 AuthTokenStatus *string `type:"string" enum:"AuthTokenUpdateStatus"` 13442 13443 // Indicates the status of Multi-AZ with automatic failover for this Redis replication 13444 // group. 13445 // 13446 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 13447 // on: 13448 // 13449 // * Redis versions earlier than 2.8.6. 13450 // 13451 // * Redis (cluster mode disabled): T1 node types. 13452 // 13453 // * Redis (cluster mode enabled): T1 node types. 13454 AutomaticFailoverStatus *string `type:"string" enum:"PendingAutomaticFailoverStatus"` 13455 13456 // The primary cluster ID that is applied immediately (if --apply-immediately 13457 // was specified), or during the next maintenance window. 13458 PrimaryClusterId *string `type:"string"` 13459 13460 // The status of an online resharding operation. 13461 Resharding *ReshardingStatus `type:"structure"` 13462} 13463 13464// String returns the string representation 13465func (s ReplicationGroupPendingModifiedValues) String() string { 13466 return awsutil.Prettify(s) 13467} 13468 13469// GoString returns the string representation 13470func (s ReplicationGroupPendingModifiedValues) GoString() string { 13471 return s.String() 13472} 13473 13474// SetAuthTokenStatus sets the AuthTokenStatus field's value. 13475func (s *ReplicationGroupPendingModifiedValues) SetAuthTokenStatus(v string) *ReplicationGroupPendingModifiedValues { 13476 s.AuthTokenStatus = &v 13477 return s 13478} 13479 13480// SetAutomaticFailoverStatus sets the AutomaticFailoverStatus field's value. 13481func (s *ReplicationGroupPendingModifiedValues) SetAutomaticFailoverStatus(v string) *ReplicationGroupPendingModifiedValues { 13482 s.AutomaticFailoverStatus = &v 13483 return s 13484} 13485 13486// SetPrimaryClusterId sets the PrimaryClusterId field's value. 13487func (s *ReplicationGroupPendingModifiedValues) SetPrimaryClusterId(v string) *ReplicationGroupPendingModifiedValues { 13488 s.PrimaryClusterId = &v 13489 return s 13490} 13491 13492// SetResharding sets the Resharding field's value. 13493func (s *ReplicationGroupPendingModifiedValues) SetResharding(v *ReshardingStatus) *ReplicationGroupPendingModifiedValues { 13494 s.Resharding = v 13495 return s 13496} 13497 13498// Represents the output of a PurchaseReservedCacheNodesOffering operation. 13499type ReservedCacheNode struct { 13500 _ struct{} `type:"structure"` 13501 13502 // The number of cache nodes that have been reserved. 13503 CacheNodeCount *int64 `type:"integer"` 13504 13505 // The cache node type for the reserved cache nodes. 13506 // 13507 // The following node types are supported by ElastiCache. Generally speaking, 13508 // the current generation types provide more memory and computational power 13509 // at lower cost when compared to their equivalent previous generation counterparts. 13510 // 13511 // * General purpose: Current generation: M5 node types: cache.m5.large, 13512 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 13513 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 13514 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 13515 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13516 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13517 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13518 // cache.m3.2xlarge 13519 // 13520 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13521 // cache.c1.xlarge 13522 // 13523 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 13524 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 13525 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 13526 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 13527 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 13528 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 13529 // cache.r3.8xlarge 13530 // 13531 // Additional node type info 13532 // 13533 // * All current generation instance types are created in Amazon VPC by default. 13534 // 13535 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13536 // 13537 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13538 // 13539 // * Redis configuration variables appendonly and appendfsync are not supported 13540 // on Redis version 2.8.22 and later. 13541 CacheNodeType *string `type:"string"` 13542 13543 // The duration of the reservation in seconds. 13544 Duration *int64 `type:"integer"` 13545 13546 // The fixed price charged for this reserved cache node. 13547 FixedPrice *float64 `type:"double"` 13548 13549 // The offering type of this reserved cache node. 13550 OfferingType *string `type:"string"` 13551 13552 // The description of the reserved cache node. 13553 ProductDescription *string `type:"string"` 13554 13555 // The recurring price charged to run this reserved cache node. 13556 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 13557 13558 // The Amazon Resource Name (ARN) of the reserved cache node. 13559 // 13560 // Example: arn:aws:elasticache:us-east-1:123456789012:reserved-instance:ri-2017-03-27-08-33-25-582 13561 ReservationARN *string `type:"string"` 13562 13563 // The unique identifier for the reservation. 13564 ReservedCacheNodeId *string `type:"string"` 13565 13566 // The offering identifier. 13567 ReservedCacheNodesOfferingId *string `type:"string"` 13568 13569 // The time the reservation started. 13570 StartTime *time.Time `type:"timestamp"` 13571 13572 // The state of the reserved cache node. 13573 State *string `type:"string"` 13574 13575 // The hourly price charged for this reserved cache node. 13576 UsagePrice *float64 `type:"double"` 13577} 13578 13579// String returns the string representation 13580func (s ReservedCacheNode) String() string { 13581 return awsutil.Prettify(s) 13582} 13583 13584// GoString returns the string representation 13585func (s ReservedCacheNode) GoString() string { 13586 return s.String() 13587} 13588 13589// SetCacheNodeCount sets the CacheNodeCount field's value. 13590func (s *ReservedCacheNode) SetCacheNodeCount(v int64) *ReservedCacheNode { 13591 s.CacheNodeCount = &v 13592 return s 13593} 13594 13595// SetCacheNodeType sets the CacheNodeType field's value. 13596func (s *ReservedCacheNode) SetCacheNodeType(v string) *ReservedCacheNode { 13597 s.CacheNodeType = &v 13598 return s 13599} 13600 13601// SetDuration sets the Duration field's value. 13602func (s *ReservedCacheNode) SetDuration(v int64) *ReservedCacheNode { 13603 s.Duration = &v 13604 return s 13605} 13606 13607// SetFixedPrice sets the FixedPrice field's value. 13608func (s *ReservedCacheNode) SetFixedPrice(v float64) *ReservedCacheNode { 13609 s.FixedPrice = &v 13610 return s 13611} 13612 13613// SetOfferingType sets the OfferingType field's value. 13614func (s *ReservedCacheNode) SetOfferingType(v string) *ReservedCacheNode { 13615 s.OfferingType = &v 13616 return s 13617} 13618 13619// SetProductDescription sets the ProductDescription field's value. 13620func (s *ReservedCacheNode) SetProductDescription(v string) *ReservedCacheNode { 13621 s.ProductDescription = &v 13622 return s 13623} 13624 13625// SetRecurringCharges sets the RecurringCharges field's value. 13626func (s *ReservedCacheNode) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNode { 13627 s.RecurringCharges = v 13628 return s 13629} 13630 13631// SetReservationARN sets the ReservationARN field's value. 13632func (s *ReservedCacheNode) SetReservationARN(v string) *ReservedCacheNode { 13633 s.ReservationARN = &v 13634 return s 13635} 13636 13637// SetReservedCacheNodeId sets the ReservedCacheNodeId field's value. 13638func (s *ReservedCacheNode) SetReservedCacheNodeId(v string) *ReservedCacheNode { 13639 s.ReservedCacheNodeId = &v 13640 return s 13641} 13642 13643// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13644func (s *ReservedCacheNode) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNode { 13645 s.ReservedCacheNodesOfferingId = &v 13646 return s 13647} 13648 13649// SetStartTime sets the StartTime field's value. 13650func (s *ReservedCacheNode) SetStartTime(v time.Time) *ReservedCacheNode { 13651 s.StartTime = &v 13652 return s 13653} 13654 13655// SetState sets the State field's value. 13656func (s *ReservedCacheNode) SetState(v string) *ReservedCacheNode { 13657 s.State = &v 13658 return s 13659} 13660 13661// SetUsagePrice sets the UsagePrice field's value. 13662func (s *ReservedCacheNode) SetUsagePrice(v float64) *ReservedCacheNode { 13663 s.UsagePrice = &v 13664 return s 13665} 13666 13667// Describes all of the attributes of a reserved cache node offering. 13668type ReservedCacheNodesOffering struct { 13669 _ struct{} `type:"structure"` 13670 13671 // The cache node type for the reserved cache node. 13672 // 13673 // The following node types are supported by ElastiCache. Generally speaking, 13674 // the current generation types provide more memory and computational power 13675 // at lower cost when compared to their equivalent previous generation counterparts. 13676 // 13677 // * General purpose: Current generation: M5 node types: cache.m5.large, 13678 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 13679 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 13680 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 13681 // cache.t2.medium Previous generation: (not recommended) T1 node types: 13682 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 13683 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 13684 // cache.m3.2xlarge 13685 // 13686 // * Compute optimized: Previous generation: (not recommended) C1 node types: 13687 // cache.c1.xlarge 13688 // 13689 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 13690 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 13691 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 13692 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 13693 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 13694 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 13695 // cache.r3.8xlarge 13696 // 13697 // Additional node type info 13698 // 13699 // * All current generation instance types are created in Amazon VPC by default. 13700 // 13701 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 13702 // 13703 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 13704 // 13705 // * Redis configuration variables appendonly and appendfsync are not supported 13706 // on Redis version 2.8.22 and later. 13707 CacheNodeType *string `type:"string"` 13708 13709 // The duration of the offering. in seconds. 13710 Duration *int64 `type:"integer"` 13711 13712 // The fixed price charged for this offering. 13713 FixedPrice *float64 `type:"double"` 13714 13715 // The offering type. 13716 OfferingType *string `type:"string"` 13717 13718 // The cache engine used by the offering. 13719 ProductDescription *string `type:"string"` 13720 13721 // The recurring price charged to run this reserved cache node. 13722 RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"` 13723 13724 // A unique identifier for the reserved cache node offering. 13725 ReservedCacheNodesOfferingId *string `type:"string"` 13726 13727 // The hourly price charged for this offering. 13728 UsagePrice *float64 `type:"double"` 13729} 13730 13731// String returns the string representation 13732func (s ReservedCacheNodesOffering) String() string { 13733 return awsutil.Prettify(s) 13734} 13735 13736// GoString returns the string representation 13737func (s ReservedCacheNodesOffering) GoString() string { 13738 return s.String() 13739} 13740 13741// SetCacheNodeType sets the CacheNodeType field's value. 13742func (s *ReservedCacheNodesOffering) SetCacheNodeType(v string) *ReservedCacheNodesOffering { 13743 s.CacheNodeType = &v 13744 return s 13745} 13746 13747// SetDuration sets the Duration field's value. 13748func (s *ReservedCacheNodesOffering) SetDuration(v int64) *ReservedCacheNodesOffering { 13749 s.Duration = &v 13750 return s 13751} 13752 13753// SetFixedPrice sets the FixedPrice field's value. 13754func (s *ReservedCacheNodesOffering) SetFixedPrice(v float64) *ReservedCacheNodesOffering { 13755 s.FixedPrice = &v 13756 return s 13757} 13758 13759// SetOfferingType sets the OfferingType field's value. 13760func (s *ReservedCacheNodesOffering) SetOfferingType(v string) *ReservedCacheNodesOffering { 13761 s.OfferingType = &v 13762 return s 13763} 13764 13765// SetProductDescription sets the ProductDescription field's value. 13766func (s *ReservedCacheNodesOffering) SetProductDescription(v string) *ReservedCacheNodesOffering { 13767 s.ProductDescription = &v 13768 return s 13769} 13770 13771// SetRecurringCharges sets the RecurringCharges field's value. 13772func (s *ReservedCacheNodesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedCacheNodesOffering { 13773 s.RecurringCharges = v 13774 return s 13775} 13776 13777// SetReservedCacheNodesOfferingId sets the ReservedCacheNodesOfferingId field's value. 13778func (s *ReservedCacheNodesOffering) SetReservedCacheNodesOfferingId(v string) *ReservedCacheNodesOffering { 13779 s.ReservedCacheNodesOfferingId = &v 13780 return s 13781} 13782 13783// SetUsagePrice sets the UsagePrice field's value. 13784func (s *ReservedCacheNodesOffering) SetUsagePrice(v float64) *ReservedCacheNodesOffering { 13785 s.UsagePrice = &v 13786 return s 13787} 13788 13789// Represents the input of a ResetCacheParameterGroup operation. 13790type ResetCacheParameterGroupInput struct { 13791 _ struct{} `type:"structure"` 13792 13793 // The name of the cache parameter group to reset. 13794 // 13795 // CacheParameterGroupName is a required field 13796 CacheParameterGroupName *string `type:"string" required:"true"` 13797 13798 // An array of parameter names to reset to their default values. If ResetAllParameters 13799 // is true, do not use ParameterNameValues. If ResetAllParameters is false, 13800 // you must specify the name of at least one parameter to reset. 13801 ParameterNameValues []*ParameterNameValue `locationNameList:"ParameterNameValue" type:"list"` 13802 13803 // If true, all parameters in the cache parameter group are reset to their default 13804 // values. If false, only the parameters listed by ParameterNameValues are reset 13805 // to their default values. 13806 // 13807 // Valid values: true | false 13808 ResetAllParameters *bool `type:"boolean"` 13809} 13810 13811// String returns the string representation 13812func (s ResetCacheParameterGroupInput) String() string { 13813 return awsutil.Prettify(s) 13814} 13815 13816// GoString returns the string representation 13817func (s ResetCacheParameterGroupInput) GoString() string { 13818 return s.String() 13819} 13820 13821// Validate inspects the fields of the type to determine if they are valid. 13822func (s *ResetCacheParameterGroupInput) Validate() error { 13823 invalidParams := request.ErrInvalidParams{Context: "ResetCacheParameterGroupInput"} 13824 if s.CacheParameterGroupName == nil { 13825 invalidParams.Add(request.NewErrParamRequired("CacheParameterGroupName")) 13826 } 13827 13828 if invalidParams.Len() > 0 { 13829 return invalidParams 13830 } 13831 return nil 13832} 13833 13834// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 13835func (s *ResetCacheParameterGroupInput) SetCacheParameterGroupName(v string) *ResetCacheParameterGroupInput { 13836 s.CacheParameterGroupName = &v 13837 return s 13838} 13839 13840// SetParameterNameValues sets the ParameterNameValues field's value. 13841func (s *ResetCacheParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *ResetCacheParameterGroupInput { 13842 s.ParameterNameValues = v 13843 return s 13844} 13845 13846// SetResetAllParameters sets the ResetAllParameters field's value. 13847func (s *ResetCacheParameterGroupInput) SetResetAllParameters(v bool) *ResetCacheParameterGroupInput { 13848 s.ResetAllParameters = &v 13849 return s 13850} 13851 13852// A list of PreferredAvailabilityZones objects that specifies the configuration 13853// of a node group in the resharded cluster. 13854type ReshardingConfiguration struct { 13855 _ struct{} `type:"structure"` 13856 13857 // Either the ElastiCache for Redis supplied 4-digit id or a user supplied id 13858 // for the node group these configuration values apply to. 13859 NodeGroupId *string `min:"1" type:"string"` 13860 13861 // A list of preferred availability zones for the nodes in this cluster. 13862 PreferredAvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"` 13863} 13864 13865// String returns the string representation 13866func (s ReshardingConfiguration) String() string { 13867 return awsutil.Prettify(s) 13868} 13869 13870// GoString returns the string representation 13871func (s ReshardingConfiguration) GoString() string { 13872 return s.String() 13873} 13874 13875// Validate inspects the fields of the type to determine if they are valid. 13876func (s *ReshardingConfiguration) Validate() error { 13877 invalidParams := request.ErrInvalidParams{Context: "ReshardingConfiguration"} 13878 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 13879 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 13880 } 13881 13882 if invalidParams.Len() > 0 { 13883 return invalidParams 13884 } 13885 return nil 13886} 13887 13888// SetNodeGroupId sets the NodeGroupId field's value. 13889func (s *ReshardingConfiguration) SetNodeGroupId(v string) *ReshardingConfiguration { 13890 s.NodeGroupId = &v 13891 return s 13892} 13893 13894// SetPreferredAvailabilityZones sets the PreferredAvailabilityZones field's value. 13895func (s *ReshardingConfiguration) SetPreferredAvailabilityZones(v []*string) *ReshardingConfiguration { 13896 s.PreferredAvailabilityZones = v 13897 return s 13898} 13899 13900// The status of an online resharding operation. 13901type ReshardingStatus struct { 13902 _ struct{} `type:"structure"` 13903 13904 // Represents the progress of an online resharding operation. 13905 SlotMigration *SlotMigration `type:"structure"` 13906} 13907 13908// String returns the string representation 13909func (s ReshardingStatus) String() string { 13910 return awsutil.Prettify(s) 13911} 13912 13913// GoString returns the string representation 13914func (s ReshardingStatus) GoString() string { 13915 return s.String() 13916} 13917 13918// SetSlotMigration sets the SlotMigration field's value. 13919func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { 13920 s.SlotMigration = v 13921 return s 13922} 13923 13924// Represents the input of a RevokeCacheSecurityGroupIngress operation. 13925type RevokeCacheSecurityGroupIngressInput struct { 13926 _ struct{} `type:"structure"` 13927 13928 // The name of the cache security group to revoke ingress from. 13929 // 13930 // CacheSecurityGroupName is a required field 13931 CacheSecurityGroupName *string `type:"string" required:"true"` 13932 13933 // The name of the Amazon EC2 security group to revoke access from. 13934 // 13935 // EC2SecurityGroupName is a required field 13936 EC2SecurityGroupName *string `type:"string" required:"true"` 13937 13938 // The AWS account number of the Amazon EC2 security group owner. Note that 13939 // this is not the same thing as an AWS access key ID - you must provide a valid 13940 // AWS account number for this parameter. 13941 // 13942 // EC2SecurityGroupOwnerId is a required field 13943 EC2SecurityGroupOwnerId *string `type:"string" required:"true"` 13944} 13945 13946// String returns the string representation 13947func (s RevokeCacheSecurityGroupIngressInput) String() string { 13948 return awsutil.Prettify(s) 13949} 13950 13951// GoString returns the string representation 13952func (s RevokeCacheSecurityGroupIngressInput) GoString() string { 13953 return s.String() 13954} 13955 13956// Validate inspects the fields of the type to determine if they are valid. 13957func (s *RevokeCacheSecurityGroupIngressInput) Validate() error { 13958 invalidParams := request.ErrInvalidParams{Context: "RevokeCacheSecurityGroupIngressInput"} 13959 if s.CacheSecurityGroupName == nil { 13960 invalidParams.Add(request.NewErrParamRequired("CacheSecurityGroupName")) 13961 } 13962 if s.EC2SecurityGroupName == nil { 13963 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupName")) 13964 } 13965 if s.EC2SecurityGroupOwnerId == nil { 13966 invalidParams.Add(request.NewErrParamRequired("EC2SecurityGroupOwnerId")) 13967 } 13968 13969 if invalidParams.Len() > 0 { 13970 return invalidParams 13971 } 13972 return nil 13973} 13974 13975// SetCacheSecurityGroupName sets the CacheSecurityGroupName field's value. 13976func (s *RevokeCacheSecurityGroupIngressInput) SetCacheSecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 13977 s.CacheSecurityGroupName = &v 13978 return s 13979} 13980 13981// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value. 13982func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeCacheSecurityGroupIngressInput { 13983 s.EC2SecurityGroupName = &v 13984 return s 13985} 13986 13987// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value. 13988func (s *RevokeCacheSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeCacheSecurityGroupIngressInput { 13989 s.EC2SecurityGroupOwnerId = &v 13990 return s 13991} 13992 13993type RevokeCacheSecurityGroupIngressOutput struct { 13994 _ struct{} `type:"structure"` 13995 13996 // Represents the output of one of the following operations: 13997 // 13998 // * AuthorizeCacheSecurityGroupIngress 13999 // 14000 // * CreateCacheSecurityGroup 14001 // 14002 // * RevokeCacheSecurityGroupIngress 14003 CacheSecurityGroup *CacheSecurityGroup `type:"structure"` 14004} 14005 14006// String returns the string representation 14007func (s RevokeCacheSecurityGroupIngressOutput) String() string { 14008 return awsutil.Prettify(s) 14009} 14010 14011// GoString returns the string representation 14012func (s RevokeCacheSecurityGroupIngressOutput) GoString() string { 14013 return s.String() 14014} 14015 14016// SetCacheSecurityGroup sets the CacheSecurityGroup field's value. 14017func (s *RevokeCacheSecurityGroupIngressOutput) SetCacheSecurityGroup(v *CacheSecurityGroup) *RevokeCacheSecurityGroupIngressOutput { 14018 s.CacheSecurityGroup = v 14019 return s 14020} 14021 14022// Represents a single cache security group and its status. 14023type SecurityGroupMembership struct { 14024 _ struct{} `type:"structure"` 14025 14026 // The identifier of the cache security group. 14027 SecurityGroupId *string `type:"string"` 14028 14029 // The status of the cache security group membership. The status changes whenever 14030 // a cache security group is modified, or when the cache security groups assigned 14031 // to a cluster are modified. 14032 Status *string `type:"string"` 14033} 14034 14035// String returns the string representation 14036func (s SecurityGroupMembership) String() string { 14037 return awsutil.Prettify(s) 14038} 14039 14040// GoString returns the string representation 14041func (s SecurityGroupMembership) GoString() string { 14042 return s.String() 14043} 14044 14045// SetSecurityGroupId sets the SecurityGroupId field's value. 14046func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { 14047 s.SecurityGroupId = &v 14048 return s 14049} 14050 14051// SetStatus sets the Status field's value. 14052func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { 14053 s.Status = &v 14054 return s 14055} 14056 14057// An update that you can apply to your Redis clusters. 14058type ServiceUpdate struct { 14059 _ struct{} `type:"structure"` 14060 14061 // Indicates whether the service update will be automatically applied once the 14062 // recommended apply-by date has expired. 14063 AutoUpdateAfterRecommendedApplyByDate *bool `type:"boolean"` 14064 14065 // The Elasticache engine to which the update applies. Either Redis or Memcached 14066 Engine *string `type:"string"` 14067 14068 // The Elasticache engine version to which the update applies. Either Redis 14069 // or Memcached engine version 14070 EngineVersion *string `type:"string"` 14071 14072 // The estimated length of time the service update will take 14073 EstimatedUpdateTime *string `type:"string"` 14074 14075 // Provides details of the service update 14076 ServiceUpdateDescription *string `type:"string"` 14077 14078 // The date after which the service update is no longer available 14079 ServiceUpdateEndDate *time.Time `type:"timestamp"` 14080 14081 // The unique ID of the service update 14082 ServiceUpdateName *string `type:"string"` 14083 14084 // The recommendend date to apply the service update in order to ensure compliance. 14085 // For information on compliance, see Self-Service Security Updates for Compliance 14086 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 14087 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 14088 14089 // The date when the service update is initially available 14090 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 14091 14092 // The severity of the service update 14093 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 14094 14095 // The status of the service update 14096 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 14097 14098 // Reflects the nature of the service update 14099 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 14100} 14101 14102// String returns the string representation 14103func (s ServiceUpdate) String() string { 14104 return awsutil.Prettify(s) 14105} 14106 14107// GoString returns the string representation 14108func (s ServiceUpdate) GoString() string { 14109 return s.String() 14110} 14111 14112// SetAutoUpdateAfterRecommendedApplyByDate sets the AutoUpdateAfterRecommendedApplyByDate field's value. 14113func (s *ServiceUpdate) SetAutoUpdateAfterRecommendedApplyByDate(v bool) *ServiceUpdate { 14114 s.AutoUpdateAfterRecommendedApplyByDate = &v 14115 return s 14116} 14117 14118// SetEngine sets the Engine field's value. 14119func (s *ServiceUpdate) SetEngine(v string) *ServiceUpdate { 14120 s.Engine = &v 14121 return s 14122} 14123 14124// SetEngineVersion sets the EngineVersion field's value. 14125func (s *ServiceUpdate) SetEngineVersion(v string) *ServiceUpdate { 14126 s.EngineVersion = &v 14127 return s 14128} 14129 14130// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 14131func (s *ServiceUpdate) SetEstimatedUpdateTime(v string) *ServiceUpdate { 14132 s.EstimatedUpdateTime = &v 14133 return s 14134} 14135 14136// SetServiceUpdateDescription sets the ServiceUpdateDescription field's value. 14137func (s *ServiceUpdate) SetServiceUpdateDescription(v string) *ServiceUpdate { 14138 s.ServiceUpdateDescription = &v 14139 return s 14140} 14141 14142// SetServiceUpdateEndDate sets the ServiceUpdateEndDate field's value. 14143func (s *ServiceUpdate) SetServiceUpdateEndDate(v time.Time) *ServiceUpdate { 14144 s.ServiceUpdateEndDate = &v 14145 return s 14146} 14147 14148// SetServiceUpdateName sets the ServiceUpdateName field's value. 14149func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { 14150 s.ServiceUpdateName = &v 14151 return s 14152} 14153 14154// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 14155func (s *ServiceUpdate) SetServiceUpdateRecommendedApplyByDate(v time.Time) *ServiceUpdate { 14156 s.ServiceUpdateRecommendedApplyByDate = &v 14157 return s 14158} 14159 14160// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 14161func (s *ServiceUpdate) SetServiceUpdateReleaseDate(v time.Time) *ServiceUpdate { 14162 s.ServiceUpdateReleaseDate = &v 14163 return s 14164} 14165 14166// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 14167func (s *ServiceUpdate) SetServiceUpdateSeverity(v string) *ServiceUpdate { 14168 s.ServiceUpdateSeverity = &v 14169 return s 14170} 14171 14172// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 14173func (s *ServiceUpdate) SetServiceUpdateStatus(v string) *ServiceUpdate { 14174 s.ServiceUpdateStatus = &v 14175 return s 14176} 14177 14178// SetServiceUpdateType sets the ServiceUpdateType field's value. 14179func (s *ServiceUpdate) SetServiceUpdateType(v string) *ServiceUpdate { 14180 s.ServiceUpdateType = &v 14181 return s 14182} 14183 14184// Represents the progress of an online resharding operation. 14185type SlotMigration struct { 14186 _ struct{} `type:"structure"` 14187 14188 // The percentage of the slot migration that is complete. 14189 ProgressPercentage *float64 `type:"double"` 14190} 14191 14192// String returns the string representation 14193func (s SlotMigration) String() string { 14194 return awsutil.Prettify(s) 14195} 14196 14197// GoString returns the string representation 14198func (s SlotMigration) GoString() string { 14199 return s.String() 14200} 14201 14202// SetProgressPercentage sets the ProgressPercentage field's value. 14203func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { 14204 s.ProgressPercentage = &v 14205 return s 14206} 14207 14208// Represents a copy of an entire Redis cluster as of the time when the snapshot 14209// was taken. 14210type Snapshot struct { 14211 _ struct{} `type:"structure"` 14212 14213 // This parameter is currently disabled. 14214 AutoMinorVersionUpgrade *bool `type:"boolean"` 14215 14216 // Indicates the status of Multi-AZ with automatic failover for the source Redis 14217 // replication group. 14218 // 14219 // Amazon ElastiCache for Redis does not support Multi-AZ with automatic failover 14220 // on: 14221 // 14222 // * Redis versions earlier than 2.8.6. 14223 // 14224 // * Redis (cluster mode disabled): T1 node types. 14225 // 14226 // * Redis (cluster mode enabled): T1 node types. 14227 AutomaticFailover *string `type:"string" enum:"AutomaticFailoverStatus"` 14228 14229 // The date and time when the source cluster was created. 14230 CacheClusterCreateTime *time.Time `type:"timestamp"` 14231 14232 // The user-supplied identifier of the source cluster. 14233 CacheClusterId *string `type:"string"` 14234 14235 // The name of the compute and memory capacity node type for the source cluster. 14236 // 14237 // The following node types are supported by ElastiCache. Generally speaking, 14238 // the current generation types provide more memory and computational power 14239 // at lower cost when compared to their equivalent previous generation counterparts. 14240 // 14241 // * General purpose: Current generation: M5 node types: cache.m5.large, 14242 // cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, 14243 // cache.m5.24xlarge M4 node types: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, 14244 // cache.m4.4xlarge, cache.m4.10xlarge T2 node types: cache.t2.micro, cache.t2.small, 14245 // cache.t2.medium Previous generation: (not recommended) T1 node types: 14246 // cache.t1.micro M1 node types: cache.m1.small, cache.m1.medium, cache.m1.large, 14247 // cache.m1.xlarge M3 node types: cache.m3.medium, cache.m3.large, cache.m3.xlarge, 14248 // cache.m3.2xlarge 14249 // 14250 // * Compute optimized: Previous generation: (not recommended) C1 node types: 14251 // cache.c1.xlarge 14252 // 14253 // * Memory optimized: Current generation: R5 node types: cache.r5.large, 14254 // cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, 14255 // cache.r5.24xlarge R4 node types: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, 14256 // cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge Previous generation: 14257 // (not recommended) M2 node types: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge 14258 // R3 node types: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, 14259 // cache.r3.8xlarge 14260 // 14261 // Additional node type info 14262 // 14263 // * All current generation instance types are created in Amazon VPC by default. 14264 // 14265 // * Redis append-only files (AOF) are not supported for T1 or T2 instances. 14266 // 14267 // * Redis Multi-AZ with automatic failover is not supported on T1 instances. 14268 // 14269 // * Redis configuration variables appendonly and appendfsync are not supported 14270 // on Redis version 2.8.22 and later. 14271 CacheNodeType *string `type:"string"` 14272 14273 // The cache parameter group that is associated with the source cluster. 14274 CacheParameterGroupName *string `type:"string"` 14275 14276 // The name of the cache subnet group associated with the source cluster. 14277 CacheSubnetGroupName *string `type:"string"` 14278 14279 // The name of the cache engine (memcached or redis) used by the source cluster. 14280 Engine *string `type:"string"` 14281 14282 // The version of the cache engine version that is used by the source cluster. 14283 EngineVersion *string `type:"string"` 14284 14285 // The ID of the KMS key used to encrypt the snapshot. 14286 KmsKeyId *string `type:"string"` 14287 14288 // A list of the cache nodes in the source cluster. 14289 NodeSnapshots []*NodeSnapshot `locationNameList:"NodeSnapshot" type:"list"` 14290 14291 // The number of cache nodes in the source cluster. 14292 // 14293 // For clusters running Redis, this value must be 1. For clusters running Memcached, 14294 // this value must be between 1 and 20. 14295 NumCacheNodes *int64 `type:"integer"` 14296 14297 // The number of node groups (shards) in this snapshot. When restoring from 14298 // a snapshot, the number of node groups (shards) in the snapshot and in the 14299 // restored replication group must be the same. 14300 NumNodeGroups *int64 `type:"integer"` 14301 14302 // The port number used by each cache nodes in the source cluster. 14303 Port *int64 `type:"integer"` 14304 14305 // The name of the Availability Zone in which the source cluster is located. 14306 PreferredAvailabilityZone *string `type:"string"` 14307 14308 // Specifies the weekly time range during which maintenance on the cluster is 14309 // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi 14310 // (24H Clock UTC). The minimum maintenance window is a 60 minute period. 14311 // 14312 // Valid values for ddd are: 14313 // 14314 // * sun 14315 // 14316 // * mon 14317 // 14318 // * tue 14319 // 14320 // * wed 14321 // 14322 // * thu 14323 // 14324 // * fri 14325 // 14326 // * sat 14327 // 14328 // Example: sun:23:00-mon:01:30 14329 PreferredMaintenanceWindow *string `type:"string"` 14330 14331 // A description of the source replication group. 14332 ReplicationGroupDescription *string `type:"string"` 14333 14334 // The unique identifier of the source replication group. 14335 ReplicationGroupId *string `type:"string"` 14336 14337 // The name of a snapshot. For an automatic snapshot, the name is system-generated. 14338 // For a manual snapshot, this is the user-provided name. 14339 SnapshotName *string `type:"string"` 14340 14341 // For an automatic snapshot, the number of days for which ElastiCache retains 14342 // the snapshot before deleting it. 14343 // 14344 // For manual snapshots, this field reflects the SnapshotRetentionLimit for 14345 // the source cluster when the snapshot was created. This field is otherwise 14346 // ignored: Manual snapshots do not expire, and can only be deleted using the 14347 // DeleteSnapshot operation. 14348 // 14349 // Important If the value of SnapshotRetentionLimit is set to zero (0), backups 14350 // are turned off. 14351 SnapshotRetentionLimit *int64 `type:"integer"` 14352 14353 // Indicates whether the snapshot is from an automatic backup (automated) or 14354 // was created manually (manual). 14355 SnapshotSource *string `type:"string"` 14356 14357 // The status of the snapshot. Valid values: creating | available | restoring 14358 // | copying | deleting. 14359 SnapshotStatus *string `type:"string"` 14360 14361 // The daily time range during which ElastiCache takes daily snapshots of the 14362 // source cluster. 14363 SnapshotWindow *string `type:"string"` 14364 14365 // The Amazon Resource Name (ARN) for the topic used by the source cluster for 14366 // publishing notifications. 14367 TopicArn *string `type:"string"` 14368 14369 // The Amazon Virtual Private Cloud identifier (VPC ID) of the cache subnet 14370 // group for the source cluster. 14371 VpcId *string `type:"string"` 14372} 14373 14374// String returns the string representation 14375func (s Snapshot) String() string { 14376 return awsutil.Prettify(s) 14377} 14378 14379// GoString returns the string representation 14380func (s Snapshot) GoString() string { 14381 return s.String() 14382} 14383 14384// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. 14385func (s *Snapshot) SetAutoMinorVersionUpgrade(v bool) *Snapshot { 14386 s.AutoMinorVersionUpgrade = &v 14387 return s 14388} 14389 14390// SetAutomaticFailover sets the AutomaticFailover field's value. 14391func (s *Snapshot) SetAutomaticFailover(v string) *Snapshot { 14392 s.AutomaticFailover = &v 14393 return s 14394} 14395 14396// SetCacheClusterCreateTime sets the CacheClusterCreateTime field's value. 14397func (s *Snapshot) SetCacheClusterCreateTime(v time.Time) *Snapshot { 14398 s.CacheClusterCreateTime = &v 14399 return s 14400} 14401 14402// SetCacheClusterId sets the CacheClusterId field's value. 14403func (s *Snapshot) SetCacheClusterId(v string) *Snapshot { 14404 s.CacheClusterId = &v 14405 return s 14406} 14407 14408// SetCacheNodeType sets the CacheNodeType field's value. 14409func (s *Snapshot) SetCacheNodeType(v string) *Snapshot { 14410 s.CacheNodeType = &v 14411 return s 14412} 14413 14414// SetCacheParameterGroupName sets the CacheParameterGroupName field's value. 14415func (s *Snapshot) SetCacheParameterGroupName(v string) *Snapshot { 14416 s.CacheParameterGroupName = &v 14417 return s 14418} 14419 14420// SetCacheSubnetGroupName sets the CacheSubnetGroupName field's value. 14421func (s *Snapshot) SetCacheSubnetGroupName(v string) *Snapshot { 14422 s.CacheSubnetGroupName = &v 14423 return s 14424} 14425 14426// SetEngine sets the Engine field's value. 14427func (s *Snapshot) SetEngine(v string) *Snapshot { 14428 s.Engine = &v 14429 return s 14430} 14431 14432// SetEngineVersion sets the EngineVersion field's value. 14433func (s *Snapshot) SetEngineVersion(v string) *Snapshot { 14434 s.EngineVersion = &v 14435 return s 14436} 14437 14438// SetKmsKeyId sets the KmsKeyId field's value. 14439func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { 14440 s.KmsKeyId = &v 14441 return s 14442} 14443 14444// SetNodeSnapshots sets the NodeSnapshots field's value. 14445func (s *Snapshot) SetNodeSnapshots(v []*NodeSnapshot) *Snapshot { 14446 s.NodeSnapshots = v 14447 return s 14448} 14449 14450// SetNumCacheNodes sets the NumCacheNodes field's value. 14451func (s *Snapshot) SetNumCacheNodes(v int64) *Snapshot { 14452 s.NumCacheNodes = &v 14453 return s 14454} 14455 14456// SetNumNodeGroups sets the NumNodeGroups field's value. 14457func (s *Snapshot) SetNumNodeGroups(v int64) *Snapshot { 14458 s.NumNodeGroups = &v 14459 return s 14460} 14461 14462// SetPort sets the Port field's value. 14463func (s *Snapshot) SetPort(v int64) *Snapshot { 14464 s.Port = &v 14465 return s 14466} 14467 14468// SetPreferredAvailabilityZone sets the PreferredAvailabilityZone field's value. 14469func (s *Snapshot) SetPreferredAvailabilityZone(v string) *Snapshot { 14470 s.PreferredAvailabilityZone = &v 14471 return s 14472} 14473 14474// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. 14475func (s *Snapshot) SetPreferredMaintenanceWindow(v string) *Snapshot { 14476 s.PreferredMaintenanceWindow = &v 14477 return s 14478} 14479 14480// SetReplicationGroupDescription sets the ReplicationGroupDescription field's value. 14481func (s *Snapshot) SetReplicationGroupDescription(v string) *Snapshot { 14482 s.ReplicationGroupDescription = &v 14483 return s 14484} 14485 14486// SetReplicationGroupId sets the ReplicationGroupId field's value. 14487func (s *Snapshot) SetReplicationGroupId(v string) *Snapshot { 14488 s.ReplicationGroupId = &v 14489 return s 14490} 14491 14492// SetSnapshotName sets the SnapshotName field's value. 14493func (s *Snapshot) SetSnapshotName(v string) *Snapshot { 14494 s.SnapshotName = &v 14495 return s 14496} 14497 14498// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. 14499func (s *Snapshot) SetSnapshotRetentionLimit(v int64) *Snapshot { 14500 s.SnapshotRetentionLimit = &v 14501 return s 14502} 14503 14504// SetSnapshotSource sets the SnapshotSource field's value. 14505func (s *Snapshot) SetSnapshotSource(v string) *Snapshot { 14506 s.SnapshotSource = &v 14507 return s 14508} 14509 14510// SetSnapshotStatus sets the SnapshotStatus field's value. 14511func (s *Snapshot) SetSnapshotStatus(v string) *Snapshot { 14512 s.SnapshotStatus = &v 14513 return s 14514} 14515 14516// SetSnapshotWindow sets the SnapshotWindow field's value. 14517func (s *Snapshot) SetSnapshotWindow(v string) *Snapshot { 14518 s.SnapshotWindow = &v 14519 return s 14520} 14521 14522// SetTopicArn sets the TopicArn field's value. 14523func (s *Snapshot) SetTopicArn(v string) *Snapshot { 14524 s.TopicArn = &v 14525 return s 14526} 14527 14528// SetVpcId sets the VpcId field's value. 14529func (s *Snapshot) SetVpcId(v string) *Snapshot { 14530 s.VpcId = &v 14531 return s 14532} 14533 14534type StartMigrationInput struct { 14535 _ struct{} `type:"structure"` 14536 14537 // List of endpoints from which data should be migrated. For Redis (cluster 14538 // mode disabled), list should have only one element. 14539 // 14540 // CustomerNodeEndpointList is a required field 14541 CustomerNodeEndpointList []*CustomerNodeEndpoint `type:"list" required:"true"` 14542 14543 // The ID of the replication group to which data should be migrated. 14544 // 14545 // ReplicationGroupId is a required field 14546 ReplicationGroupId *string `type:"string" required:"true"` 14547} 14548 14549// String returns the string representation 14550func (s StartMigrationInput) String() string { 14551 return awsutil.Prettify(s) 14552} 14553 14554// GoString returns the string representation 14555func (s StartMigrationInput) GoString() string { 14556 return s.String() 14557} 14558 14559// Validate inspects the fields of the type to determine if they are valid. 14560func (s *StartMigrationInput) Validate() error { 14561 invalidParams := request.ErrInvalidParams{Context: "StartMigrationInput"} 14562 if s.CustomerNodeEndpointList == nil { 14563 invalidParams.Add(request.NewErrParamRequired("CustomerNodeEndpointList")) 14564 } 14565 if s.ReplicationGroupId == nil { 14566 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 14567 } 14568 14569 if invalidParams.Len() > 0 { 14570 return invalidParams 14571 } 14572 return nil 14573} 14574 14575// SetCustomerNodeEndpointList sets the CustomerNodeEndpointList field's value. 14576func (s *StartMigrationInput) SetCustomerNodeEndpointList(v []*CustomerNodeEndpoint) *StartMigrationInput { 14577 s.CustomerNodeEndpointList = v 14578 return s 14579} 14580 14581// SetReplicationGroupId sets the ReplicationGroupId field's value. 14582func (s *StartMigrationInput) SetReplicationGroupId(v string) *StartMigrationInput { 14583 s.ReplicationGroupId = &v 14584 return s 14585} 14586 14587type StartMigrationOutput struct { 14588 _ struct{} `type:"structure"` 14589 14590 // Contains all of the attributes of a specific Redis replication group. 14591 ReplicationGroup *ReplicationGroup `type:"structure"` 14592} 14593 14594// String returns the string representation 14595func (s StartMigrationOutput) String() string { 14596 return awsutil.Prettify(s) 14597} 14598 14599// GoString returns the string representation 14600func (s StartMigrationOutput) GoString() string { 14601 return s.String() 14602} 14603 14604// SetReplicationGroup sets the ReplicationGroup field's value. 14605func (s *StartMigrationOutput) SetReplicationGroup(v *ReplicationGroup) *StartMigrationOutput { 14606 s.ReplicationGroup = v 14607 return s 14608} 14609 14610// Represents the subnet associated with a cluster. This parameter refers to 14611// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with 14612// ElastiCache. 14613type Subnet struct { 14614 _ struct{} `type:"structure"` 14615 14616 // The Availability Zone associated with the subnet. 14617 SubnetAvailabilityZone *AvailabilityZone `type:"structure"` 14618 14619 // The unique identifier for the subnet. 14620 SubnetIdentifier *string `type:"string"` 14621} 14622 14623// String returns the string representation 14624func (s Subnet) String() string { 14625 return awsutil.Prettify(s) 14626} 14627 14628// GoString returns the string representation 14629func (s Subnet) GoString() string { 14630 return s.String() 14631} 14632 14633// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. 14634func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet { 14635 s.SubnetAvailabilityZone = v 14636 return s 14637} 14638 14639// SetSubnetIdentifier sets the SubnetIdentifier field's value. 14640func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { 14641 s.SubnetIdentifier = &v 14642 return s 14643} 14644 14645// A cost allocation Tag that can be added to an ElastiCache cluster or replication 14646// group. Tags are composed of a Key/Value pair. A tag with a null Value is 14647// permitted. 14648type Tag struct { 14649 _ struct{} `type:"structure"` 14650 14651 // The key for the tag. May not be null. 14652 Key *string `type:"string"` 14653 14654 // The tag's value. May be null. 14655 Value *string `type:"string"` 14656} 14657 14658// String returns the string representation 14659func (s Tag) String() string { 14660 return awsutil.Prettify(s) 14661} 14662 14663// GoString returns the string representation 14664func (s Tag) GoString() string { 14665 return s.String() 14666} 14667 14668// SetKey sets the Key field's value. 14669func (s *Tag) SetKey(v string) *Tag { 14670 s.Key = &v 14671 return s 14672} 14673 14674// SetValue sets the Value field's value. 14675func (s *Tag) SetValue(v string) *Tag { 14676 s.Value = &v 14677 return s 14678} 14679 14680// Represents the output from the AddTagsToResource, ListTagsForResource, and 14681// RemoveTagsFromResource operations. 14682type TagListMessage struct { 14683 _ struct{} `type:"structure"` 14684 14685 // A list of cost allocation tags as key-value pairs. 14686 TagList []*Tag `locationNameList:"Tag" type:"list"` 14687} 14688 14689// String returns the string representation 14690func (s TagListMessage) String() string { 14691 return awsutil.Prettify(s) 14692} 14693 14694// GoString returns the string representation 14695func (s TagListMessage) GoString() string { 14696 return s.String() 14697} 14698 14699// SetTagList sets the TagList field's value. 14700func (s *TagListMessage) SetTagList(v []*Tag) *TagListMessage { 14701 s.TagList = v 14702 return s 14703} 14704 14705type TestFailoverInput struct { 14706 _ struct{} `type:"structure"` 14707 14708 // The name of the node group (called shard in the console) in this replication 14709 // group on which automatic failover is to be tested. You may test automatic 14710 // failover on up to 5 node groups in any rolling 24-hour period. 14711 // 14712 // NodeGroupId is a required field 14713 NodeGroupId *string `min:"1" type:"string" required:"true"` 14714 14715 // The name of the replication group (console: cluster) whose automatic failover 14716 // is being tested by this operation. 14717 // 14718 // ReplicationGroupId is a required field 14719 ReplicationGroupId *string `type:"string" required:"true"` 14720} 14721 14722// String returns the string representation 14723func (s TestFailoverInput) String() string { 14724 return awsutil.Prettify(s) 14725} 14726 14727// GoString returns the string representation 14728func (s TestFailoverInput) GoString() string { 14729 return s.String() 14730} 14731 14732// Validate inspects the fields of the type to determine if they are valid. 14733func (s *TestFailoverInput) Validate() error { 14734 invalidParams := request.ErrInvalidParams{Context: "TestFailoverInput"} 14735 if s.NodeGroupId == nil { 14736 invalidParams.Add(request.NewErrParamRequired("NodeGroupId")) 14737 } 14738 if s.NodeGroupId != nil && len(*s.NodeGroupId) < 1 { 14739 invalidParams.Add(request.NewErrParamMinLen("NodeGroupId", 1)) 14740 } 14741 if s.ReplicationGroupId == nil { 14742 invalidParams.Add(request.NewErrParamRequired("ReplicationGroupId")) 14743 } 14744 14745 if invalidParams.Len() > 0 { 14746 return invalidParams 14747 } 14748 return nil 14749} 14750 14751// SetNodeGroupId sets the NodeGroupId field's value. 14752func (s *TestFailoverInput) SetNodeGroupId(v string) *TestFailoverInput { 14753 s.NodeGroupId = &v 14754 return s 14755} 14756 14757// SetReplicationGroupId sets the ReplicationGroupId field's value. 14758func (s *TestFailoverInput) SetReplicationGroupId(v string) *TestFailoverInput { 14759 s.ReplicationGroupId = &v 14760 return s 14761} 14762 14763type TestFailoverOutput struct { 14764 _ struct{} `type:"structure"` 14765 14766 // Contains all of the attributes of a specific Redis replication group. 14767 ReplicationGroup *ReplicationGroup `type:"structure"` 14768} 14769 14770// String returns the string representation 14771func (s TestFailoverOutput) String() string { 14772 return awsutil.Prettify(s) 14773} 14774 14775// GoString returns the string representation 14776func (s TestFailoverOutput) GoString() string { 14777 return s.String() 14778} 14779 14780// SetReplicationGroup sets the ReplicationGroup field's value. 14781func (s *TestFailoverOutput) SetReplicationGroup(v *ReplicationGroup) *TestFailoverOutput { 14782 s.ReplicationGroup = v 14783 return s 14784} 14785 14786// Filters update actions from the service updates that are in available status 14787// during the time range. 14788type TimeRangeFilter struct { 14789 _ struct{} `type:"structure"` 14790 14791 // The end time of the time range filter 14792 EndTime *time.Time `type:"timestamp"` 14793 14794 // The start time of the time range filter 14795 StartTime *time.Time `type:"timestamp"` 14796} 14797 14798// String returns the string representation 14799func (s TimeRangeFilter) String() string { 14800 return awsutil.Prettify(s) 14801} 14802 14803// GoString returns the string representation 14804func (s TimeRangeFilter) GoString() string { 14805 return s.String() 14806} 14807 14808// SetEndTime sets the EndTime field's value. 14809func (s *TimeRangeFilter) SetEndTime(v time.Time) *TimeRangeFilter { 14810 s.EndTime = &v 14811 return s 14812} 14813 14814// SetStartTime sets the StartTime field's value. 14815func (s *TimeRangeFilter) SetStartTime(v time.Time) *TimeRangeFilter { 14816 s.StartTime = &v 14817 return s 14818} 14819 14820// Update action that has failed to be processed for the corresponding apply/stop 14821// request 14822type UnprocessedUpdateAction struct { 14823 _ struct{} `type:"structure"` 14824 14825 // The ID of the cache cluster 14826 CacheClusterId *string `type:"string"` 14827 14828 // The error message that describes the reason the request was not processed 14829 ErrorMessage *string `type:"string"` 14830 14831 // The error type for requests that are not processed 14832 ErrorType *string `type:"string"` 14833 14834 // The replication group ID 14835 ReplicationGroupId *string `type:"string"` 14836 14837 // The unique ID of the service update 14838 ServiceUpdateName *string `type:"string"` 14839} 14840 14841// String returns the string representation 14842func (s UnprocessedUpdateAction) String() string { 14843 return awsutil.Prettify(s) 14844} 14845 14846// GoString returns the string representation 14847func (s UnprocessedUpdateAction) GoString() string { 14848 return s.String() 14849} 14850 14851// SetCacheClusterId sets the CacheClusterId field's value. 14852func (s *UnprocessedUpdateAction) SetCacheClusterId(v string) *UnprocessedUpdateAction { 14853 s.CacheClusterId = &v 14854 return s 14855} 14856 14857// SetErrorMessage sets the ErrorMessage field's value. 14858func (s *UnprocessedUpdateAction) SetErrorMessage(v string) *UnprocessedUpdateAction { 14859 s.ErrorMessage = &v 14860 return s 14861} 14862 14863// SetErrorType sets the ErrorType field's value. 14864func (s *UnprocessedUpdateAction) SetErrorType(v string) *UnprocessedUpdateAction { 14865 s.ErrorType = &v 14866 return s 14867} 14868 14869// SetReplicationGroupId sets the ReplicationGroupId field's value. 14870func (s *UnprocessedUpdateAction) SetReplicationGroupId(v string) *UnprocessedUpdateAction { 14871 s.ReplicationGroupId = &v 14872 return s 14873} 14874 14875// SetServiceUpdateName sets the ServiceUpdateName field's value. 14876func (s *UnprocessedUpdateAction) SetServiceUpdateName(v string) *UnprocessedUpdateAction { 14877 s.ServiceUpdateName = &v 14878 return s 14879} 14880 14881// The status of the service update for a specific replication group 14882type UpdateAction struct { 14883 _ struct{} `type:"structure"` 14884 14885 // The ID of the cache cluster 14886 CacheClusterId *string `type:"string"` 14887 14888 // The status of the service update on the cache node 14889 CacheNodeUpdateStatus []*CacheNodeUpdateStatus `locationNameList:"CacheNodeUpdateStatus" type:"list"` 14890 14891 // The Elasticache engine to which the update applies. Either Redis or Memcached 14892 Engine *string `type:"string"` 14893 14894 // The estimated length of time for the update to complete 14895 EstimatedUpdateTime *string `type:"string"` 14896 14897 // The status of the service update on the node group 14898 NodeGroupUpdateStatus []*NodeGroupUpdateStatus `locationNameList:"NodeGroupUpdateStatus" type:"list"` 14899 14900 // The progress of the service update on the replication group 14901 NodesUpdated *string `type:"string"` 14902 14903 // The ID of the replication group 14904 ReplicationGroupId *string `type:"string"` 14905 14906 // The unique ID of the service update 14907 ServiceUpdateName *string `type:"string"` 14908 14909 // The recommended date to apply the service update to ensure compliance. For 14910 // information on compliance, see Self-Service Security Updates for Compliance 14911 // (https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-compliance.html#elasticache-compliance-self-service). 14912 ServiceUpdateRecommendedApplyByDate *time.Time `type:"timestamp"` 14913 14914 // The date the update is first available 14915 ServiceUpdateReleaseDate *time.Time `type:"timestamp"` 14916 14917 // The severity of the service update 14918 ServiceUpdateSeverity *string `type:"string" enum:"ServiceUpdateSeverity"` 14919 14920 // The status of the service update 14921 ServiceUpdateStatus *string `type:"string" enum:"ServiceUpdateStatus"` 14922 14923 // Reflects the nature of the service update 14924 ServiceUpdateType *string `type:"string" enum:"ServiceUpdateType"` 14925 14926 // If yes, all nodes in the replication group have been updated by the recommended 14927 // apply-by date. If no, at least one node in the replication group have not 14928 // been updated by the recommended apply-by date. If N/A, the replication group 14929 // was created after the recommended apply-by date. 14930 SlaMet *string `type:"string" enum:"SlaMet"` 14931 14932 // The date that the service update is available to a replication group 14933 UpdateActionAvailableDate *time.Time `type:"timestamp"` 14934 14935 // The status of the update action 14936 UpdateActionStatus *string `type:"string" enum:"UpdateActionStatus"` 14937 14938 // The date when the UpdateActionStatus was last modified 14939 UpdateActionStatusModifiedDate *time.Time `type:"timestamp"` 14940} 14941 14942// String returns the string representation 14943func (s UpdateAction) String() string { 14944 return awsutil.Prettify(s) 14945} 14946 14947// GoString returns the string representation 14948func (s UpdateAction) GoString() string { 14949 return s.String() 14950} 14951 14952// SetCacheClusterId sets the CacheClusterId field's value. 14953func (s *UpdateAction) SetCacheClusterId(v string) *UpdateAction { 14954 s.CacheClusterId = &v 14955 return s 14956} 14957 14958// SetCacheNodeUpdateStatus sets the CacheNodeUpdateStatus field's value. 14959func (s *UpdateAction) SetCacheNodeUpdateStatus(v []*CacheNodeUpdateStatus) *UpdateAction { 14960 s.CacheNodeUpdateStatus = v 14961 return s 14962} 14963 14964// SetEngine sets the Engine field's value. 14965func (s *UpdateAction) SetEngine(v string) *UpdateAction { 14966 s.Engine = &v 14967 return s 14968} 14969 14970// SetEstimatedUpdateTime sets the EstimatedUpdateTime field's value. 14971func (s *UpdateAction) SetEstimatedUpdateTime(v string) *UpdateAction { 14972 s.EstimatedUpdateTime = &v 14973 return s 14974} 14975 14976// SetNodeGroupUpdateStatus sets the NodeGroupUpdateStatus field's value. 14977func (s *UpdateAction) SetNodeGroupUpdateStatus(v []*NodeGroupUpdateStatus) *UpdateAction { 14978 s.NodeGroupUpdateStatus = v 14979 return s 14980} 14981 14982// SetNodesUpdated sets the NodesUpdated field's value. 14983func (s *UpdateAction) SetNodesUpdated(v string) *UpdateAction { 14984 s.NodesUpdated = &v 14985 return s 14986} 14987 14988// SetReplicationGroupId sets the ReplicationGroupId field's value. 14989func (s *UpdateAction) SetReplicationGroupId(v string) *UpdateAction { 14990 s.ReplicationGroupId = &v 14991 return s 14992} 14993 14994// SetServiceUpdateName sets the ServiceUpdateName field's value. 14995func (s *UpdateAction) SetServiceUpdateName(v string) *UpdateAction { 14996 s.ServiceUpdateName = &v 14997 return s 14998} 14999 15000// SetServiceUpdateRecommendedApplyByDate sets the ServiceUpdateRecommendedApplyByDate field's value. 15001func (s *UpdateAction) SetServiceUpdateRecommendedApplyByDate(v time.Time) *UpdateAction { 15002 s.ServiceUpdateRecommendedApplyByDate = &v 15003 return s 15004} 15005 15006// SetServiceUpdateReleaseDate sets the ServiceUpdateReleaseDate field's value. 15007func (s *UpdateAction) SetServiceUpdateReleaseDate(v time.Time) *UpdateAction { 15008 s.ServiceUpdateReleaseDate = &v 15009 return s 15010} 15011 15012// SetServiceUpdateSeverity sets the ServiceUpdateSeverity field's value. 15013func (s *UpdateAction) SetServiceUpdateSeverity(v string) *UpdateAction { 15014 s.ServiceUpdateSeverity = &v 15015 return s 15016} 15017 15018// SetServiceUpdateStatus sets the ServiceUpdateStatus field's value. 15019func (s *UpdateAction) SetServiceUpdateStatus(v string) *UpdateAction { 15020 s.ServiceUpdateStatus = &v 15021 return s 15022} 15023 15024// SetServiceUpdateType sets the ServiceUpdateType field's value. 15025func (s *UpdateAction) SetServiceUpdateType(v string) *UpdateAction { 15026 s.ServiceUpdateType = &v 15027 return s 15028} 15029 15030// SetSlaMet sets the SlaMet field's value. 15031func (s *UpdateAction) SetSlaMet(v string) *UpdateAction { 15032 s.SlaMet = &v 15033 return s 15034} 15035 15036// SetUpdateActionAvailableDate sets the UpdateActionAvailableDate field's value. 15037func (s *UpdateAction) SetUpdateActionAvailableDate(v time.Time) *UpdateAction { 15038 s.UpdateActionAvailableDate = &v 15039 return s 15040} 15041 15042// SetUpdateActionStatus sets the UpdateActionStatus field's value. 15043func (s *UpdateAction) SetUpdateActionStatus(v string) *UpdateAction { 15044 s.UpdateActionStatus = &v 15045 return s 15046} 15047 15048// SetUpdateActionStatusModifiedDate sets the UpdateActionStatusModifiedDate field's value. 15049func (s *UpdateAction) SetUpdateActionStatusModifiedDate(v time.Time) *UpdateAction { 15050 s.UpdateActionStatusModifiedDate = &v 15051 return s 15052} 15053 15054const ( 15055 // AZModeSingleAz is a AZMode enum value 15056 AZModeSingleAz = "single-az" 15057 15058 // AZModeCrossAz is a AZMode enum value 15059 AZModeCrossAz = "cross-az" 15060) 15061 15062const ( 15063 // AuthTokenUpdateStatusSetting is a AuthTokenUpdateStatus enum value 15064 AuthTokenUpdateStatusSetting = "SETTING" 15065 15066 // AuthTokenUpdateStatusRotating is a AuthTokenUpdateStatus enum value 15067 AuthTokenUpdateStatusRotating = "ROTATING" 15068) 15069 15070const ( 15071 // AuthTokenUpdateStrategyTypeSet is a AuthTokenUpdateStrategyType enum value 15072 AuthTokenUpdateStrategyTypeSet = "SET" 15073 15074 // AuthTokenUpdateStrategyTypeRotate is a AuthTokenUpdateStrategyType enum value 15075 AuthTokenUpdateStrategyTypeRotate = "ROTATE" 15076) 15077 15078const ( 15079 // AutomaticFailoverStatusEnabled is a AutomaticFailoverStatus enum value 15080 AutomaticFailoverStatusEnabled = "enabled" 15081 15082 // AutomaticFailoverStatusDisabled is a AutomaticFailoverStatus enum value 15083 AutomaticFailoverStatusDisabled = "disabled" 15084 15085 // AutomaticFailoverStatusEnabling is a AutomaticFailoverStatus enum value 15086 AutomaticFailoverStatusEnabling = "enabling" 15087 15088 // AutomaticFailoverStatusDisabling is a AutomaticFailoverStatus enum value 15089 AutomaticFailoverStatusDisabling = "disabling" 15090) 15091 15092const ( 15093 // ChangeTypeImmediate is a ChangeType enum value 15094 ChangeTypeImmediate = "immediate" 15095 15096 // ChangeTypeRequiresReboot is a ChangeType enum value 15097 ChangeTypeRequiresReboot = "requires-reboot" 15098) 15099 15100const ( 15101 // NodeUpdateInitiatedBySystem is a NodeUpdateInitiatedBy enum value 15102 NodeUpdateInitiatedBySystem = "system" 15103 15104 // NodeUpdateInitiatedByCustomer is a NodeUpdateInitiatedBy enum value 15105 NodeUpdateInitiatedByCustomer = "customer" 15106) 15107 15108const ( 15109 // NodeUpdateStatusNotApplied is a NodeUpdateStatus enum value 15110 NodeUpdateStatusNotApplied = "not-applied" 15111 15112 // NodeUpdateStatusWaitingToStart is a NodeUpdateStatus enum value 15113 NodeUpdateStatusWaitingToStart = "waiting-to-start" 15114 15115 // NodeUpdateStatusInProgress is a NodeUpdateStatus enum value 15116 NodeUpdateStatusInProgress = "in-progress" 15117 15118 // NodeUpdateStatusStopping is a NodeUpdateStatus enum value 15119 NodeUpdateStatusStopping = "stopping" 15120 15121 // NodeUpdateStatusStopped is a NodeUpdateStatus enum value 15122 NodeUpdateStatusStopped = "stopped" 15123 15124 // NodeUpdateStatusComplete is a NodeUpdateStatus enum value 15125 NodeUpdateStatusComplete = "complete" 15126) 15127 15128const ( 15129 // PendingAutomaticFailoverStatusEnabled is a PendingAutomaticFailoverStatus enum value 15130 PendingAutomaticFailoverStatusEnabled = "enabled" 15131 15132 // PendingAutomaticFailoverStatusDisabled is a PendingAutomaticFailoverStatus enum value 15133 PendingAutomaticFailoverStatusDisabled = "disabled" 15134) 15135 15136const ( 15137 // ServiceUpdateSeverityCritical is a ServiceUpdateSeverity enum value 15138 ServiceUpdateSeverityCritical = "critical" 15139 15140 // ServiceUpdateSeverityImportant is a ServiceUpdateSeverity enum value 15141 ServiceUpdateSeverityImportant = "important" 15142 15143 // ServiceUpdateSeverityMedium is a ServiceUpdateSeverity enum value 15144 ServiceUpdateSeverityMedium = "medium" 15145 15146 // ServiceUpdateSeverityLow is a ServiceUpdateSeverity enum value 15147 ServiceUpdateSeverityLow = "low" 15148) 15149 15150const ( 15151 // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value 15152 ServiceUpdateStatusAvailable = "available" 15153 15154 // ServiceUpdateStatusCancelled is a ServiceUpdateStatus enum value 15155 ServiceUpdateStatusCancelled = "cancelled" 15156 15157 // ServiceUpdateStatusExpired is a ServiceUpdateStatus enum value 15158 ServiceUpdateStatusExpired = "expired" 15159) 15160 15161const ( 15162 // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value 15163 ServiceUpdateTypeSecurityUpdate = "security-update" 15164) 15165 15166const ( 15167 // SlaMetYes is a SlaMet enum value 15168 SlaMetYes = "yes" 15169 15170 // SlaMetNo is a SlaMet enum value 15171 SlaMetNo = "no" 15172 15173 // SlaMetNA is a SlaMet enum value 15174 SlaMetNA = "n/a" 15175) 15176 15177const ( 15178 // SourceTypeCacheCluster is a SourceType enum value 15179 SourceTypeCacheCluster = "cache-cluster" 15180 15181 // SourceTypeCacheParameterGroup is a SourceType enum value 15182 SourceTypeCacheParameterGroup = "cache-parameter-group" 15183 15184 // SourceTypeCacheSecurityGroup is a SourceType enum value 15185 SourceTypeCacheSecurityGroup = "cache-security-group" 15186 15187 // SourceTypeCacheSubnetGroup is a SourceType enum value 15188 SourceTypeCacheSubnetGroup = "cache-subnet-group" 15189 15190 // SourceTypeReplicationGroup is a SourceType enum value 15191 SourceTypeReplicationGroup = "replication-group" 15192) 15193 15194const ( 15195 // UpdateActionStatusNotApplied is a UpdateActionStatus enum value 15196 UpdateActionStatusNotApplied = "not-applied" 15197 15198 // UpdateActionStatusWaitingToStart is a UpdateActionStatus enum value 15199 UpdateActionStatusWaitingToStart = "waiting-to-start" 15200 15201 // UpdateActionStatusInProgress is a UpdateActionStatus enum value 15202 UpdateActionStatusInProgress = "in-progress" 15203 15204 // UpdateActionStatusStopping is a UpdateActionStatus enum value 15205 UpdateActionStatusStopping = "stopping" 15206 15207 // UpdateActionStatusStopped is a UpdateActionStatus enum value 15208 UpdateActionStatusStopped = "stopped" 15209 15210 // UpdateActionStatusComplete is a UpdateActionStatus enum value 15211 UpdateActionStatusComplete = "complete" 15212) 15213